# # Test TRUNCATE # --source include/galera_cluster.inc --source include/have_perfschema.inc # # Simple case # CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB; INSERT INTO t1 VALUES (1); --connection node_2 --let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t1'; --source include/wait_condition.inc TRUNCATE TABLE t1; SELECT COUNT(*) = 0 FROM t1; --connection node_1 SELECT COUNT(*) = 0 FROM t1; # # Table with no PK # --connection node_2 CREATE TABLE t2 (f1 VARCHAR(255)) Engine=InnoDB; INSERT INTO t2 VALUES ('abc'); --connection node_1 --let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t2'; --source include/wait_condition.inc TRUNCATE TABLE t2; --connection node_2 SELECT COUNT(*) = 0 FROM t2; # # Table with AUTO_INCREMENT. The AUTO_INCREMENT counter must be reset on all nodes # --connection node_1 CREATE TABLE t3 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY) Engine=InnoDB; INSERT INTO t3 VALUES (DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT); CREATE TABLE t4 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY) Engine=InnoDB AUTO_INCREMENT=1234; INSERT INTO t4 VALUES (DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT); TRUNCATE TABLE t3; TRUNCATE TABLE t4; --connection node_2 SELECT AUTO_INCREMENT = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME IN ('t3', 't4'); # # MDEV-24865 : Server crashes when truncate mysql user table # --connection node_1 --error ER_NO_SUCH_TABLE TRUNCATE TABLE mysql.user; --error ER_WRONG_PERFSCHEMA_USAGE TRUNCATE TABLE performance_schema.threads; --error ER_DBACCESS_DENIED_ERROR TRUNCATE TABLE information_schema.tables; TRUNCATE TABLE mysql.innodb_index_stats; --error ER_NO_SUCH_TABLE TRUNCATE TABLE foo.bar; TRUNCATE TABLE t1; DROP TABLE t1; DROP TABLE t2; DROP TABLE t3; DROP TABLE t4;