mariadb/mysql-test/suite/innodb/t/alter_primary_key.test
2024-12-06 20:28:45 +01:00

49 lines
1.3 KiB
Text

--source innodb_default_row_format.inc
--source include/have_debug.inc
--source include/have_debug_sync.inc
--source include/test_db_charset_latin1.inc
--echo #
--echo # MDEV-23244 ALTER TABLE…ADD PRIMARY KEY fails to flag
--echo # duplicate key error from concurrent DML
--echo #
CREATE TABLE t0 (pk INT PRIMARY KEY) ENGINE=InnoDB;
CREATE TABLE t1 (c CHAR(2) NOT NULL) ENGINE=InnoDB;
INSERT INTO t1 VALUES('cd');
connect (con1,localhost,root,,);
BEGIN;
INSERT INTO t0 VALUES(1);
connection default;
SET DEBUG_SYNC='row_log_table_apply1_before SIGNAL dml WAIT_FOR dml_done';
send ALTER TABLE t1 ADD PRIMARY KEY(c(1));
connection con1;
SET DEBUG_SYNC='now WAIT_FOR dml';
INSERT INTO t1 VALUES ('ab'),('ac');
COMMIT;
SET DEBUG_SYNC='now SIGNAL dml_done';
disconnect con1;
connection default;
--error ER_DUP_ENTRY
reap;
SET DEBUG_SYNC='RESET';
SELECT * FROM t1;
DROP TABLE t0,t1;
--source include/test_db_charset_restore.inc
--echo #
--echo # MDEV-35419 Server crashes when a adding column to the table which has a primary key using hash
--echo #
# it's not really using hash, it ignores the declaration
# for ALTER from MEMORY and back to be possible
create table t1 (a int,primary key using hash (a)) engine=innodb;
alter table t1 add b int;
drop table t1;
--echo # End of 11.7 tests