mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge 10.3 into 10.4
This commit is contained in:
@ -18,15 +18,12 @@ ddl_log_file_alter_table 0
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
SET DEBUG_SYNC = 'write_row_noreplace SIGNAL have_handle WAIT_FOR go_ahead';
|
||||
INSERT INTO t1 VALUES(1,2,3);
|
||||
# Establish session con1 (user=root)
|
||||
connect con1,localhost,root,,;
|
||||
connection con1;
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR have_handle';
|
||||
SET lock_wait_timeout = 1;
|
||||
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
|
||||
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
||||
SET DEBUG_SYNC = 'now SIGNAL go_ahead';
|
||||
# session default
|
||||
connection default;
|
||||
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
|
||||
SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
|
||||
@ -37,7 +34,6 @@ ddl_online_create_index 0
|
||||
ddl_pending_alter_table 0
|
||||
ddl_sort_file_alter_table 0
|
||||
ddl_log_file_alter_table 0
|
||||
# session con1
|
||||
connection con1;
|
||||
SET @saved_debug_dbug = @@SESSION.debug_dbug;
|
||||
SET DEBUG_DBUG = '+d,innodb_OOM_prepare_inplace_alter';
|
||||
@ -55,7 +51,6 @@ SET SESSION DEBUG = @saved_debug_dbug;
|
||||
Warnings:
|
||||
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
|
||||
ALTER TABLE t1 ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE, LOCK=NONE;
|
||||
# session default
|
||||
connection default;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
@ -67,22 +62,17 @@ t1 CREATE TABLE `t1` (
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=REDUNDANT
|
||||
BEGIN;
|
||||
INSERT INTO t1 VALUES(7,4,2);
|
||||
# session con1
|
||||
connection con1;
|
||||
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL scanned WAIT_FOR insert_done';
|
||||
ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2);
|
||||
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
||||
# session default
|
||||
connection default;
|
||||
COMMIT;
|
||||
# session con1
|
||||
connection con1;
|
||||
ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2);
|
||||
ERROR 23000: Duplicate entry '4' for key 'c2'
|
||||
# session default
|
||||
connection default;
|
||||
DELETE FROM t1 WHERE c1 = 7;
|
||||
# session con1
|
||||
connection con1;
|
||||
ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2), ROW_FORMAT=COMPACT,
|
||||
LOCK = SHARED, ALGORITHM = INPLACE;
|
||||
@ -100,7 +90,6 @@ t1 CREATE TABLE `t1` (
|
||||
UNIQUE KEY `c2_2` (`c2`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=COMPACT
|
||||
ALTER TABLE t1 DROP INDEX c2, ADD PRIMARY KEY(c1);
|
||||
# session default
|
||||
connection default;
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR scanned';
|
||||
SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
|
||||
@ -114,13 +103,10 @@ ddl_log_file_alter_table 0
|
||||
BEGIN;
|
||||
INSERT INTO t1 VALUES(4,7,2);
|
||||
SET DEBUG_SYNC = 'now SIGNAL insert_done';
|
||||
# session con1
|
||||
connection con1;
|
||||
ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
|
||||
# session default
|
||||
connection default;
|
||||
ROLLBACK;
|
||||
# session con1
|
||||
connection con1;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
@ -142,7 +128,6 @@ ddl_online_create_index 0
|
||||
ddl_pending_alter_table 0
|
||||
ddl_sort_file_alter_table 0
|
||||
ddl_log_file_alter_table 0
|
||||
# session default
|
||||
connection default;
|
||||
INSERT INTO t1 VALUES(6,3,1);
|
||||
ERROR 23000: Duplicate entry '3' for key 'c2_2'
|
||||
@ -152,14 +137,12 @@ DROP INDEX c2_2 ON t1;
|
||||
BEGIN;
|
||||
INSERT INTO t1 VALUES(7,4,2);
|
||||
ROLLBACK;
|
||||
# session con1
|
||||
connection con1;
|
||||
KILL QUERY @id;
|
||||
ERROR 70100: Query execution was interrupted
|
||||
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuilt WAIT_FOR dml_done';
|
||||
SET DEBUG_SYNC = 'row_log_table_apply2_before SIGNAL applied WAIT_FOR kill_done';
|
||||
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
|
||||
# session default
|
||||
connection default;
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR rebuilt';
|
||||
SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
|
||||
@ -176,7 +159,6 @@ ROLLBACK;
|
||||
SET DEBUG_SYNC = 'now SIGNAL dml_done WAIT_FOR applied';
|
||||
KILL QUERY @id;
|
||||
SET DEBUG_SYNC = 'now SIGNAL kill_done';
|
||||
# session con1
|
||||
connection con1;
|
||||
ERROR 70100: Query execution was interrupted
|
||||
SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
|
||||
@ -187,7 +169,6 @@ ddl_online_create_index 0
|
||||
ddl_pending_alter_table 0
|
||||
ddl_sort_file_alter_table 0
|
||||
ddl_log_file_alter_table 0
|
||||
# session default
|
||||
connection default;
|
||||
CHECK TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
@ -212,7 +193,6 @@ WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
|
||||
SET @rowlog_encrypt_0=
|
||||
(SELECT variable_value FROM information_schema.global_status
|
||||
WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
|
||||
# session con1
|
||||
connection con1;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
@ -227,7 +207,6 @@ SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuilt2 WAIT_FOR dml2_done
|
||||
SET lock_wait_timeout = 10;
|
||||
ALTER TABLE t1 ROW_FORMAT=COMPACT
|
||||
PAGE_COMPRESSED = YES PAGE_COMPRESSION_LEVEL = 1, ALGORITHM = INPLACE;
|
||||
# session default
|
||||
connection default;
|
||||
INSERT INTO t1 SELECT 80 + c1, c2, c3 FROM t1;
|
||||
INSERT INTO t1 SELECT 160 + c1, c2, c3 FROM t1;
|
||||
@ -290,7 +269,6 @@ SELECT
|
||||
sort_balance @merge_encrypt_1>@merge_encrypt_0 @merge_decrypt_1>@merge_decrypt_0 @rowlog_encrypt_1>@rowlog_encrypt_0
|
||||
0 0 0 0
|
||||
SET DEBUG_SYNC = 'now SIGNAL dml2_done';
|
||||
# session con1
|
||||
connection con1;
|
||||
ERROR HY000: Creating index 'PRIMARY' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again
|
||||
SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
|
||||
@ -321,7 +299,6 @@ ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
|
||||
ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(c22f,c1,c4(5)),
|
||||
CHANGE c2 c22f INT, CHANGE c3 c3 CHAR(255) NULL, CHANGE c1 c1 INT AFTER c22f,
|
||||
ADD COLUMN c4 VARCHAR(6) DEFAULT 'Online', LOCK=NONE;
|
||||
# session default
|
||||
connection default;
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR rebuilt3';
|
||||
SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
|
||||
@ -349,7 +326,6 @@ ddl_pending_alter_table 1
|
||||
ddl_sort_file_alter_table 2
|
||||
ddl_log_file_alter_table 2
|
||||
SET DEBUG_SYNC = 'now SIGNAL dml3_done';
|
||||
# session con1
|
||||
connection con1;
|
||||
SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
|
||||
name count
|
||||
@ -405,20 +381,16 @@ SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL c3p5_created0 WAIT_FOR ins_
|
||||
ALTER TABLE t1 MODIFY c3 CHAR(255) NOT NULL, DROP COLUMN c22f,
|
||||
DROP PRIMARY KEY, ADD PRIMARY KEY(c1,c4(5)),
|
||||
ADD COLUMN c5 CHAR(5) DEFAULT 'tired' FIRST;
|
||||
# session default
|
||||
connection default;
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR c3p5_created0';
|
||||
BEGIN;
|
||||
INSERT INTO t1 VALUES(347,33101,'Pikku kakkosen posti','YLETV2');
|
||||
INSERT INTO t1 VALUES(33101,347,NULL,'');
|
||||
SET DEBUG_SYNC = 'now SIGNAL ins_done0';
|
||||
# session con1
|
||||
connection con1;
|
||||
ERROR 01000: Data truncated for column 'c3' at row 323
|
||||
# session default
|
||||
connection default;
|
||||
ROLLBACK;
|
||||
# session con1
|
||||
connection con1;
|
||||
ALTER TABLE t1 MODIFY c3 CHAR(255) NOT NULL;
|
||||
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL c3p5_created WAIT_FOR ins_done';
|
||||
@ -426,14 +398,12 @@ ALTER TABLE t1 DROP PRIMARY KEY, DROP COLUMN c22f,
|
||||
ADD COLUMN c6 VARCHAR(1000) DEFAULT
|
||||
'I love tracking down hard-to-reproduce bugs.',
|
||||
ADD PRIMARY KEY c3p5(c3(5), c6(2));
|
||||
# session default
|
||||
connection default;
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR c3p5_created';
|
||||
SET DEBUG_SYNC = 'ib_after_row_insert SIGNAL ins_done WAIT_FOR ddl_timed_out';
|
||||
INSERT INTO t1 VALUES(347,33101,NULL,'');
|
||||
ERROR 23000: Column 'c3' cannot be null
|
||||
INSERT INTO t1 VALUES(347,33101,'Pikku kakkosen posti','');
|
||||
# session con1
|
||||
connection con1;
|
||||
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
||||
SET DEBUG_SYNC = 'now SIGNAL ddl_timed_out';
|
||||
@ -445,7 +415,6 @@ ddl_online_create_index 0
|
||||
ddl_pending_alter_table 0
|
||||
ddl_sort_file_alter_table 6
|
||||
ddl_log_file_alter_table 2
|
||||
# session default
|
||||
connection default;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
@ -463,12 +432,8 @@ c22f c1 c3 c4
|
||||
5 36 36foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
|
||||
5 41 41foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
|
||||
5 46 46foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
|
||||
# session con1
|
||||
connection con1;
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
# Disconnect session con1
|
||||
disconnect con1;
|
||||
# session default
|
||||
connection default;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
@ -482,6 +447,23 @@ t1 CREATE TABLE `t1` (
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
SET GLOBAL innodb_monitor_disable = module_ddl;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-29600 Memory leak in row_log_table_apply_update()
|
||||
#
|
||||
CREATE TABLE t1 (pk INT PRIMARY KEY, f TEXT) ENGINE=InnoDB;
|
||||
INSERT INTO t1 SET pk=1;
|
||||
connection con1;
|
||||
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL created WAIT_FOR updated';
|
||||
ALTER TABLE t1 FORCE;
|
||||
connection default;
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR created';
|
||||
UPDATE t1 SET f = REPEAT('a', 20000);
|
||||
SET DEBUG_SYNC = 'now SIGNAL updated';
|
||||
connection con1;
|
||||
disconnect con1;
|
||||
connection default;
|
||||
DROP TABLE t1;
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
SET GLOBAL innodb_file_per_table = @global_innodb_file_per_table_orig;
|
||||
SET GLOBAL innodb_monitor_enable = default;
|
||||
SET GLOBAL innodb_monitor_disable = default;
|
||||
|
@ -30,9 +30,7 @@ SET DEBUG_SYNC = 'write_row_noreplace SIGNAL have_handle WAIT_FOR go_ahead';
|
||||
--send
|
||||
INSERT INTO t1 VALUES(1,2,3);
|
||||
|
||||
--echo # Establish session con1 (user=root)
|
||||
connect (con1,localhost,root,,);
|
||||
connection con1;
|
||||
|
||||
# This should block at the end because of the INSERT in connection default
|
||||
# is holding a metadata lock.
|
||||
@ -42,13 +40,11 @@ SET lock_wait_timeout = 1;
|
||||
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
|
||||
SET DEBUG_SYNC = 'now SIGNAL go_ahead';
|
||||
|
||||
--echo # session default
|
||||
connection default;
|
||||
--error ER_DUP_ENTRY
|
||||
reap;
|
||||
eval $innodb_metrics_select;
|
||||
|
||||
--echo # session con1
|
||||
connection con1;
|
||||
SET @saved_debug_dbug = @@SESSION.debug_dbug;
|
||||
SET DEBUG_DBUG = '+d,innodb_OOM_prepare_inplace_alter';
|
||||
@ -61,14 +57,12 @@ ALTER TABLE t1 ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE, LOCK=NONE;
|
||||
SET SESSION DEBUG = @saved_debug_dbug;
|
||||
ALTER TABLE t1 ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE, LOCK=NONE;
|
||||
|
||||
--echo # session default
|
||||
connection default;
|
||||
SHOW CREATE TABLE t1;
|
||||
# Insert a duplicate entry (4) for the upcoming UNIQUE INDEX(c2).
|
||||
BEGIN;
|
||||
INSERT INTO t1 VALUES(7,4,2);
|
||||
|
||||
--echo # session con1
|
||||
connection con1;
|
||||
# This DEBUG_SYNC should not kick in yet, because the duplicate key will be
|
||||
# detected before we get a chance to apply the online log.
|
||||
@ -78,20 +72,16 @@ SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL scanned WAIT_FOR insert_don
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2);
|
||||
|
||||
--echo # session default
|
||||
connection default;
|
||||
COMMIT;
|
||||
|
||||
--echo # session con1
|
||||
connection con1;
|
||||
--error ER_DUP_ENTRY
|
||||
ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2);
|
||||
|
||||
--echo # session default
|
||||
connection default;
|
||||
DELETE FROM t1 WHERE c1 = 7;
|
||||
|
||||
--echo # session con1
|
||||
connection con1;
|
||||
ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2), ROW_FORMAT=COMPACT,
|
||||
LOCK = SHARED, ALGORITHM = INPLACE;
|
||||
@ -106,7 +96,6 @@ SHOW CREATE TABLE t1;
|
||||
--send
|
||||
ALTER TABLE t1 DROP INDEX c2, ADD PRIMARY KEY(c1);
|
||||
|
||||
--echo # session default
|
||||
connection default;
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR scanned';
|
||||
eval $innodb_metrics_select;
|
||||
@ -116,7 +105,6 @@ BEGIN;
|
||||
INSERT INTO t1 VALUES(4,7,2);
|
||||
SET DEBUG_SYNC = 'now SIGNAL insert_done';
|
||||
|
||||
--echo # session con1
|
||||
connection con1;
|
||||
# Because the modification log will be applied in order and we did
|
||||
# not roll back before the log apply, there will be a duplicate key
|
||||
@ -124,11 +112,9 @@ connection con1;
|
||||
--error ER_DUP_ENTRY
|
||||
reap;
|
||||
|
||||
--echo # session default
|
||||
connection default;
|
||||
ROLLBACK;
|
||||
|
||||
--echo # session con1
|
||||
connection con1;
|
||||
SHOW CREATE TABLE t1;
|
||||
# Now, rebuild the table without any concurrent DML, while no duplicate exists.
|
||||
@ -137,7 +123,6 @@ ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2), ALGORITHM = INPLACE;
|
||||
ALTER TABLE t1 DROP INDEX c2, ADD PRIMARY KEY(c1), ALGORITHM = INPLACE;
|
||||
eval $innodb_metrics_select;
|
||||
|
||||
--echo # session default
|
||||
connection default;
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO t1 VALUES(6,3,1);
|
||||
@ -148,7 +133,6 @@ BEGIN;
|
||||
INSERT INTO t1 VALUES(7,4,2);
|
||||
ROLLBACK;
|
||||
|
||||
--echo # session con1
|
||||
connection con1;
|
||||
let $ID= `SELECT @id := CONNECTION_ID()`;
|
||||
--error ER_QUERY_INTERRUPTED
|
||||
@ -159,7 +143,6 @@ SET DEBUG_SYNC = 'row_log_table_apply2_before SIGNAL applied WAIT_FOR kill_done'
|
||||
--send
|
||||
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
|
||||
|
||||
--echo # session default
|
||||
connection default;
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR rebuilt';
|
||||
eval $innodb_metrics_select;
|
||||
@ -171,13 +154,11 @@ let $ignore= `SELECT @id := $ID`;
|
||||
KILL QUERY @id;
|
||||
SET DEBUG_SYNC = 'now SIGNAL kill_done';
|
||||
|
||||
--echo # session con1
|
||||
connection con1;
|
||||
--error ER_QUERY_INTERRUPTED
|
||||
reap;
|
||||
eval $innodb_metrics_select;
|
||||
|
||||
--echo # session default
|
||||
connection default;
|
||||
CHECK TABLE t1;
|
||||
INSERT INTO t1 SELECT 5 + c1, c2, c3 FROM t1;
|
||||
@ -199,7 +180,6 @@ SET @rowlog_encrypt_0=
|
||||
(SELECT variable_value FROM information_schema.global_status
|
||||
WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
|
||||
|
||||
--echo # session con1
|
||||
connection con1;
|
||||
SHOW CREATE TABLE t1;
|
||||
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
|
||||
@ -217,7 +197,6 @@ PAGE_COMPRESSED = YES PAGE_COMPRESSION_LEVEL = 1, ALGORITHM = INPLACE;
|
||||
# Generate some log (delete-mark, delete-unmark, insert etc.)
|
||||
# while the index creation is blocked. Some of this may run
|
||||
# in parallel with the clustered index scan.
|
||||
--echo # session default
|
||||
connection default;
|
||||
INSERT INTO t1 SELECT 80 + c1, c2, c3 FROM t1;
|
||||
INSERT INTO t1 SELECT 160 + c1, c2, c3 FROM t1;
|
||||
@ -261,7 +240,6 @@ SELECT
|
||||
# Release con1.
|
||||
SET DEBUG_SYNC = 'now SIGNAL dml2_done';
|
||||
|
||||
--echo # session con1
|
||||
connection con1;
|
||||
# If the following fails with the wrong error, it probably means that
|
||||
# you should rerun with a larger mtr --debug-sync-timeout.
|
||||
@ -295,7 +273,6 @@ ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(c22f,c1,c4(5)),
|
||||
CHANGE c2 c22f INT, CHANGE c3 c3 CHAR(255) NULL, CHANGE c1 c1 INT AFTER c22f,
|
||||
ADD COLUMN c4 VARCHAR(6) DEFAULT 'Online', LOCK=NONE;
|
||||
|
||||
--echo # session default
|
||||
connection default;
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR rebuilt3';
|
||||
# Generate some log (delete-mark, delete-unmark, insert etc.)
|
||||
@ -312,7 +289,6 @@ eval $innodb_metrics_select;
|
||||
# Release con1.
|
||||
SET DEBUG_SYNC = 'now SIGNAL dml3_done';
|
||||
|
||||
--echo # session con1
|
||||
connection con1;
|
||||
reap;
|
||||
eval $innodb_metrics_select;
|
||||
@ -365,7 +341,6 @@ ALTER TABLE t1 MODIFY c3 CHAR(255) NOT NULL, DROP COLUMN c22f,
|
||||
DROP PRIMARY KEY, ADD PRIMARY KEY(c1,c4(5)),
|
||||
ADD COLUMN c5 CHAR(5) DEFAULT 'tired' FIRST;
|
||||
|
||||
--echo # session default
|
||||
connection default;
|
||||
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR c3p5_created0';
|
||||
@ -374,16 +349,13 @@ INSERT INTO t1 VALUES(347,33101,'Pikku kakkosen posti','YLETV2');
|
||||
INSERT INTO t1 VALUES(33101,347,NULL,'');
|
||||
SET DEBUG_SYNC = 'now SIGNAL ins_done0';
|
||||
|
||||
--echo # session con1
|
||||
connection con1;
|
||||
--error WARN_DATA_TRUNCATED
|
||||
reap;
|
||||
|
||||
--echo # session default
|
||||
connection default;
|
||||
ROLLBACK;
|
||||
|
||||
--echo # session con1
|
||||
connection con1;
|
||||
ALTER TABLE t1 MODIFY c3 CHAR(255) NOT NULL;
|
||||
|
||||
@ -394,7 +366,6 @@ ADD COLUMN c6 VARCHAR(1000) DEFAULT
|
||||
'I love tracking down hard-to-reproduce bugs.',
|
||||
ADD PRIMARY KEY c3p5(c3(5), c6(2));
|
||||
|
||||
--echo # session default
|
||||
connection default;
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR c3p5_created';
|
||||
SET DEBUG_SYNC = 'ib_after_row_insert SIGNAL ins_done WAIT_FOR ddl_timed_out';
|
||||
@ -403,33 +374,51 @@ INSERT INTO t1 VALUES(347,33101,NULL,'');
|
||||
--send
|
||||
INSERT INTO t1 VALUES(347,33101,'Pikku kakkosen posti','');
|
||||
|
||||
--echo # session con1
|
||||
connection con1;
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
reap;
|
||||
SET DEBUG_SYNC = 'now SIGNAL ddl_timed_out';
|
||||
eval $innodb_metrics_select;
|
||||
|
||||
--echo # session default
|
||||
connection default;
|
||||
reap;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
|
||||
SELECT * FROM t1 LIMIT 10;
|
||||
|
||||
--echo # session con1
|
||||
connection con1;
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--echo # Disconnect session con1
|
||||
disconnect con1;
|
||||
|
||||
--echo # session default
|
||||
connection default;
|
||||
SHOW CREATE TABLE t1;
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
SET GLOBAL innodb_monitor_disable = module_ddl;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-29600 Memory leak in row_log_table_apply_update()
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (pk INT PRIMARY KEY, f TEXT) ENGINE=InnoDB;
|
||||
INSERT INTO t1 SET pk=1;
|
||||
|
||||
connection con1;
|
||||
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL created WAIT_FOR updated';
|
||||
send ALTER TABLE t1 FORCE;
|
||||
|
||||
connection default;
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR created';
|
||||
UPDATE t1 SET f = REPEAT('a', 20000);
|
||||
SET DEBUG_SYNC = 'now SIGNAL updated';
|
||||
|
||||
connection con1;
|
||||
reap;
|
||||
disconnect con1;
|
||||
|
||||
connection default;
|
||||
DROP TABLE t1;
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
|
||||
# Check that all connections opened by test cases in this file are really
|
||||
# gone so execution of other tests won't be affected by their presence.
|
||||
--source include/wait_until_count_sessions.inc
|
||||
|
Reference in New Issue
Block a user