polardbxengine/mysql-test/suite/innodb/t/truncate.test

77 lines
1.5 KiB
Plaintext

CREATE TABLESPACE ts1 ADD DATAFILE 'ts1.ibd';
CREATE TABLESPACE ts2 ADD DATAFILE 'ts2.ibd';
CREATE TABLE t1 (
a INT NOT NULL,
PRIMARY KEY (a)
)
ENGINE=InnoDB TABLESPACE ts1;
CREATE TABLE t1p (
a INT NOT NULL,
PRIMARY KEY (a)
)
ENGINE=InnoDB
PARTITION BY RANGE (a)
PARTITIONS 2
(PARTITION P1 VALUES LESS THAN (2) TABLESPACE ts1,
PARTITION P2 VALUES LESS THAN (4) TABLESPACE ts2);
TRUNCATE TABLE t1;
TRUNCATE TABLE t1p;
ALTER TABLE t1p TRUNCATE PARTITION P2;
--replace_result #P #p
SELECT t.NAME, ts.NAME
FROM information_schema.innodb_tables t
LEFT JOIN information_schema.innodb_tablespaces ts
ON t.SPACE = ts.SPACE
WHERE t.NAME LIKE '%t1%' ORDER BY t.NAME;
DROP TABLE t1, t1p;
DROP TABLESPACE ts1;
DROP TABLESPACE ts2;
CREATE TABLE t1 (
a INT NOT NULL AUTO_INCREMENT,
b INT NOT NULL,
PRIMARY KEY (a)
)
ENGINE=InnoDB
PARTITION BY RANGE (a)
PARTITIONS 3
(PARTITION P1 VALUES LESS THAN (5),
PARTITION P2 VALUES LESS THAN (20),
PARTITION p3 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES(0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7);
SELECT max(a) AS `Expect 7` FROM t1;
ALTER TABLE t1 TRUNCATE PARTITION p2;
SELECT max(a) AS `Expect 4` FROM t1;
INSERT INTO t1 VALUES(0, 8);
SELECT max(a) AS `Expect 8` FROM t1;
DELETE FROM t1 WHERE a = 8;
ALTER TABLE t1 TRUNCATE PARTITION p1;
INSERT INTO t1 VALUES(0, 9);
SELECT max(a) AS `Expect 9` FROM t1;
ALTER TABLE t1 TRUNCATE PARTITION ALL;
INSERT INTO t1 VALUES(0, 9);
SELECT max(a) AS `Expect 1` FROM t1;
DROP TABLE t1;