mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
63c73b52f3
Added new tests and corrected existing tests mysql-test/suite/stress/include/ddl3.inc: New tests added for Bug#33558 - Test "stress.ddl_csv needs nullable columns which CSV does not support Had to change CREATE TABLE statements to include NOT NULL due to CSV engine constraints mysql-test/suite/stress/r/ddl_archive.result: New tests added for Bug#33558 - Test "stress.ddl_csv needs nullable columns which CSV does not support Reproduced .result files due to changes in ddl3.inc mysql-test/suite/stress/r/ddl_csv.result: New tests added for Bug#33558 - Test "stress.ddl_csv needs nullable columns which CSV does not support Reproduced .result files due to changes in ddl3.inc mysql-test/suite/stress/r/ddl_innodb.result: New tests added for Bug#33558 - Test "stress.ddl_csv needs nullable columns which CSV does not support Reproduced .result files due to changes in ddl3.inc mysql-test/suite/stress/r/ddl_memory.result: New tests added for Bug#33558 - Test "stress.ddl_csv needs nullable columns which CSV does not support Reproduced .result files due to changes in ddl3.inc mysql-test/suite/stress/r/ddl_myisam.result: New tests added for Bug#33558 - Test "stress.ddl_csv needs nullable columns which CSV does not support Reproduced .result files due to changes in ddl3.inc mysql-test/suite/stress/r/ddl_ndb.result: New tests added for Bug#33558 - Test "stress.ddl_csv needs nullable columns which CSV does not support Reproduced .result files due to changes in ddl3.inc BitKeeper/etc/ignore: Added mysql-test/.DS_Store .DS_Store to the ignore list mysql-test/t/disabled.def: Disabled new test - csv_alter_table.test file due to Bug#33696. Cannot generate a .result file due to the Bug. These tests can be enabled to test the bug fix without needing new tests unless the developer feels the need to add more. mysql-test/r/csv_not_null.result: New tests added for Bug#33558 - Test "stress.ddl_csv needs nullable columns which CSV does not support mysql-test/t/csv_alter_table.test: New tests added for Bug#33558 - Test "stress.ddl_csv needs nullable columns which CSV does not support Designed to test fixes for Bug#33696 - CSV Engine allows nullable columns via ALTER TABLE statements mysql-test/t/csv_not_null.test: New tests added for Bug#33558 - Test "stress.ddl_csv needs nullable columns which CSV does not support
251 lines
12 KiB
Text
251 lines
12 KiB
Text
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
|
|
PREPARE stmt_start FROM "SELECT UNIX_TIMESTAMP() INTO @start";
|
|
SET @runtime = <intended_runtime>;
|
|
PREPARE stmt_break FROM "SELECT UNIX_TIMESTAMP() - @start > @runtime - 1";
|
|
DROP TABLE IF EXISTS t1;
|
|
# Subtest 1A (one connection, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 BIGINT,f2 BIGINT,UNIQUE(f1),UNIQUE(f2))
|
|
ENGINE = MEMORY
|
|
# default: INSERT INTO t1 VALUES (1,1), (2,2), (3,3)
|
|
# default: DROP TABLE t1
|
|
# Subtest 1B (one connection, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 BIGINT,f2 BIGINT,UNIQUE(f1),UNIQUE(f2))
|
|
ENGINE = MEMORY
|
|
# default: INSERT INTO t1 VALUES (1,1), (2,2), (3,3)
|
|
# default: DROP TABLE t1
|
|
# Subtest 1C (two connections, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 BIGINT,f2 BIGINT,UNIQUE(f1),UNIQUE(f2))
|
|
ENGINE = MEMORY
|
|
# con2: INSERT INTO t1 VALUES (1,1), (2,2), (3,3)
|
|
# con2: DROP TABLE t1
|
|
# Subtest 1D (two connections, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 BIGINT,f2 BIGINT,UNIQUE(f1),UNIQUE(f2))
|
|
ENGINE = MEMORY
|
|
# con2: INSERT INTO t1 VALUES (1,1), (2,2), (3,3)
|
|
# con2: DROP TABLE t1
|
|
# Subtest 2A (one connection, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 ENGINE = MEMORY AS SELECT 1 AS f1
|
|
# default: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1
|
|
# default: DROP TABLE t1
|
|
# default: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1 (expect to get ER_NO_SUCH_TABLE)
|
|
# Subtest 2B (one connection, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 ENGINE = MEMORY AS SELECT 1 AS f1
|
|
# default: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1
|
|
# default: DROP TABLE t1
|
|
# default: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1 (expect to get ER_NO_SUCH_TABLE)
|
|
# Subtest 2C (two connections, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 ENGINE = MEMORY AS SELECT 1 AS f1
|
|
# con2: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1
|
|
# default: DROP TABLE t1
|
|
# con2: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1 (expect to get ER_NO_SUCH_TABLE)
|
|
# Subtest 2D (two connections, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 ENGINE = MEMORY AS SELECT 1 AS f1
|
|
# con2: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1
|
|
# default: DROP TABLE t1
|
|
# con2: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1 (expect to get ER_NO_SUCH_TABLE)
|
|
# Subtest 3A (one connection, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY
|
|
# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY (expect to get ER_TABLE_EXISTS_ERROR)
|
|
# default: DROP TABLE t1
|
|
# default: DROP TABLE t1 (expect to get ER_BAD_TABLE_ERROR)
|
|
# Subtest 3B (one connection, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY
|
|
# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY (expect to get ER_TABLE_EXISTS_ERROR)
|
|
# default: DROP TABLE t1
|
|
# default: DROP TABLE t1 (expect to get ER_BAD_TABLE_ERROR)
|
|
# Subtest 3C (two connections, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY
|
|
# con2: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY (expect to get ER_TABLE_EXISTS_ERROR)
|
|
# default: DROP TABLE t1
|
|
# con2: DROP TABLE t1 (expect to get ER_BAD_TABLE_ERROR)
|
|
# Subtest 3D (two connections, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY
|
|
# con2: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY (expect to get ER_TABLE_EXISTS_ERROR)
|
|
# default: DROP TABLE t1
|
|
# con2: DROP TABLE t1 (expect to get ER_BAD_TABLE_ERROR)
|
|
CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1), UNIQUE (f2)) ENGINE=MEMORY;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (f1 BIGINT) ENGINE=MEMORY;
|
|
DROP TABLE t1;
|
|
# Subtest 4A (one connection, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1), UNIQUE (f2)) ENGINE=MEMORY
|
|
# default: SHOW CREATE TABLE t1
|
|
# default: DROP TABLE t1
|
|
# default: SHOW CREATE TABLE t1 (expect to get ER_NO_SUCH_TABLE)
|
|
# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=MEMORY
|
|
# default: SHOW CREATE TABLE t1
|
|
# default: DROP TABLE t1
|
|
# Subtest 4B (one connection, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1), UNIQUE (f2)) ENGINE=MEMORY
|
|
# default: SHOW CREATE TABLE t1
|
|
# default: DROP TABLE t1
|
|
# default: SHOW CREATE TABLE t1 (expect to get ER_NO_SUCH_TABLE)
|
|
# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=MEMORY
|
|
# default: SHOW CREATE TABLE t1
|
|
# default: DROP TABLE t1
|
|
# Subtest 4C (two connections, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1), UNIQUE (f2)) ENGINE=MEMORY
|
|
# con2: SHOW CREATE TABLE t1
|
|
# default: DROP TABLE t1
|
|
# con2: SHOW CREATE TABLE t1 (expect to get ER_NO_SUCH_TABLE)
|
|
# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=MEMORY
|
|
# con2: SHOW CREATE TABLE t1
|
|
# default: DROP TABLE t1
|
|
# Subtest 4D (two connections, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1), UNIQUE (f2)) ENGINE=MEMORY
|
|
# con2: SHOW CREATE TABLE t1
|
|
# default: DROP TABLE t1
|
|
# con2: SHOW CREATE TABLE t1 (expect to get ER_NO_SUCH_TABLE)
|
|
# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=MEMORY
|
|
# con2: SHOW CREATE TABLE t1
|
|
# default: DROP TABLE t1
|
|
# Subtest 5A (one connection, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 MEDIUMINT NOT NULL AUTO_INCREMENT,f2 BIGINT, UNIQUE(f1)) ENGINE = MEMORY
|
|
# default: INSERT INTO t1 SET f2 = 9
|
|
# default: SELECT f1 <> 1 OR f1 IS NULL FROM t1 WHERE f2 = 9
|
|
# default: DROP TABLE t1
|
|
# Subtest 5B (one connection, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 MEDIUMINT NOT NULL AUTO_INCREMENT,f2 BIGINT, UNIQUE(f1)) ENGINE = MEMORY
|
|
# default: INSERT INTO t1 SET f2 = 9
|
|
# default: SELECT f1 <> 1 OR f1 IS NULL FROM t1 WHERE f2 = 9
|
|
# default: DROP TABLE t1
|
|
# Subtest 5C (two connections, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 MEDIUMINT NOT NULL AUTO_INCREMENT,f2 BIGINT, UNIQUE(f1)) ENGINE = MEMORY
|
|
# con2: INSERT INTO t1 SET f2 = 9
|
|
# default: SELECT f1 <> 1 OR f1 IS NULL FROM t1 WHERE f2 = 9
|
|
# con2: DROP TABLE t1
|
|
# Subtest 5D (two connections, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE TABLE t1 (f1 MEDIUMINT NOT NULL AUTO_INCREMENT,f2 BIGINT, UNIQUE(f1)) ENGINE = MEMORY
|
|
# con2: INSERT INTO t1 SET f2 = 9
|
|
# default: SELECT f1 <> 1 OR f1 IS NULL FROM t1 WHERE f2 = 9
|
|
# con2: DROP TABLE t1
|
|
CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1)) ENGINE=MEMORY;
|
|
# Subtest 6A (one connection, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE INDEX IDX1 ON t1 (f2)
|
|
# default: CREATE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_KEYNAME)
|
|
# default: DROP INDEX IDX1 ON t1
|
|
# default: DROP INDEX IDX1 ON t1 (expect to get ER_CANT_DROP_FIELD_OR_KEY)
|
|
# default: CREATE INDEX IDX1 ON t1 (f2)
|
|
# default: DROP INDEX IDX1 ON t1
|
|
# Subtest 6B (one connection, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE INDEX IDX1 ON t1 (f2)
|
|
# default: CREATE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_KEYNAME)
|
|
# default: DROP INDEX IDX1 ON t1
|
|
# default: DROP INDEX IDX1 ON t1 (expect to get ER_CANT_DROP_FIELD_OR_KEY)
|
|
# default: CREATE INDEX IDX1 ON t1 (f2)
|
|
# default: DROP INDEX IDX1 ON t1
|
|
# Subtest 6C (two connections, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE INDEX IDX1 ON t1 (f2)
|
|
# con2: CREATE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_KEYNAME)
|
|
# default: DROP INDEX IDX1 ON t1
|
|
# con2: DROP INDEX IDX1 ON t1 (expect to get ER_CANT_DROP_FIELD_OR_KEY)
|
|
# default: CREATE INDEX IDX1 ON t1 (f2)
|
|
# con2: DROP INDEX IDX1 ON t1
|
|
# Subtest 6D (two connections, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE INDEX IDX1 ON t1 (f2)
|
|
# con2: CREATE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_KEYNAME)
|
|
# default: DROP INDEX IDX1 ON t1
|
|
# con2: DROP INDEX IDX1 ON t1 (expect to get ER_CANT_DROP_FIELD_OR_KEY)
|
|
# default: CREATE INDEX IDX1 ON t1 (f2)
|
|
# con2: DROP INDEX IDX1 ON t1
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, PRIMARY KEY(f1)) ENGINE=MEMORY;
|
|
INSERT INTO t1 VALUES(0,1);
|
|
# Subtest 7A (one connection, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE UNIQUE INDEX IDX1 ON t1 (f2)
|
|
# default: INSERT INTO t1 VALUES(1,1) (expect to get ER_DUP_ENTRY)
|
|
# default: DROP INDEX IDX1 ON t1
|
|
# default: INSERT INTO t1 VALUES(1,1)
|
|
# default: CREATE UNIQUE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_ENTRY)
|
|
# default: DELETE FROM t1 WHERE f1 = 1
|
|
# Subtest 7B (one connection, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE UNIQUE INDEX IDX1 ON t1 (f2)
|
|
# default: INSERT INTO t1 VALUES(1,1) (expect to get ER_DUP_ENTRY)
|
|
# default: DROP INDEX IDX1 ON t1
|
|
# default: INSERT INTO t1 VALUES(1,1)
|
|
# default: CREATE UNIQUE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_ENTRY)
|
|
# default: DELETE FROM t1 WHERE f1 = 1
|
|
# Subtest 7C (two connections, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE UNIQUE INDEX IDX1 ON t1 (f2)
|
|
# default: INSERT INTO t1 VALUES(1,1) (expect to get ER_DUP_ENTRY)
|
|
# con2: DROP INDEX IDX1 ON t1
|
|
# default: INSERT INTO t1 VALUES(1,1)
|
|
# con2: CREATE UNIQUE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_ENTRY)
|
|
# con2: DELETE FROM t1 WHERE f1 = 1
|
|
# Subtest 7D (two connections, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE UNIQUE INDEX IDX1 ON t1 (f2)
|
|
# default: INSERT INTO t1 VALUES(1,1) (expect to get ER_DUP_ENTRY)
|
|
# con2: DROP INDEX IDX1 ON t1
|
|
# default: INSERT INTO t1 VALUES(1,1)
|
|
# con2: CREATE UNIQUE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_ENTRY)
|
|
# con2: DELETE FROM t1 WHERE f1 = 1
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1)) ENGINE=MEMORY;
|
|
INSERT INTO t1 VALUES(1,1);
|
|
CREATE INDEX IDX ON t1 (f2);
|
|
DROP INDEX IDX ON t1;
|
|
CREATE UNIQUE INDEX IDX ON t1 (f2);
|
|
DROP INDEX IDX ON t1;
|
|
# Subtest 8A (one connection, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE INDEX IDX ON t1 (f2)
|
|
# default: SHOW CREATE TABLE t1
|
|
# default: DROP INDEX IDX ON t1
|
|
# default: CREATE UNIQUE INDEX IDX ON t1 (f2)
|
|
# default: SHOW CREATE TABLE t1
|
|
# default: DROP INDEX IDX ON t1
|
|
# Subtest 8B (one connection, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE INDEX IDX ON t1 (f2)
|
|
# default: SHOW CREATE TABLE t1
|
|
# default: DROP INDEX IDX ON t1
|
|
# default: CREATE UNIQUE INDEX IDX ON t1 (f2)
|
|
# default: SHOW CREATE TABLE t1
|
|
# default: DROP INDEX IDX ON t1
|
|
# Subtest 8C (two connections, no PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE INDEX IDX ON t1 (f2)
|
|
# con2: SHOW CREATE TABLE t1
|
|
# default: DROP INDEX IDX ON t1
|
|
# default: CREATE UNIQUE INDEX IDX ON t1 (f2)
|
|
# con2: SHOW CREATE TABLE t1
|
|
# default: DROP INDEX IDX ON t1
|
|
# Subtest 8D (two connections, use PREPARE/EXECUTE)
|
|
# connection action
|
|
# default: CREATE INDEX IDX ON t1 (f2)
|
|
# con2: SHOW CREATE TABLE t1
|
|
# default: DROP INDEX IDX ON t1
|
|
# default: CREATE UNIQUE INDEX IDX ON t1 (f2)
|
|
# con2: SHOW CREATE TABLE t1
|
|
# default: DROP INDEX IDX ON t1
|
|
DROP TABLE t1;
|
|
DEALLOCATE PREPARE stmt_start;
|
|
DEALLOCATE PREPARE stmt_break;
|