mirror of
https://github.com/MariaDB/server.git
synced 2025-02-12 00:15:35 +01:00
98 lines
3.2 KiB
Text
98 lines
3.2 KiB
Text
CREATE TABLE t1 (j SERIAL, i INT, v INT AS (i) VIRTUAL) ENGINE=InnoDB;
|
|
CREATE TABLE t2 (j SERIAL, i INT, v INT AS (i) VIRTUAL) ENGINE=InnoDB
|
|
ROW_FORMAT=REDUNDANT;
|
|
CREATE TABLE t3 (i INT, v INT AS (i) VIRTUAL) ENGINE=InnoDB;
|
|
CREATE TABLE t4 (i INT, v INT AS (i) VIRTUAL) ENGINE=InnoDB
|
|
ROW_FORMAT=REDUNDANT;
|
|
INSERT INTO t4 SET i=1;
|
|
ALTER TABLE t4 ADD INDEX(v), LOCK=NONE;
|
|
ALTER TABLE t4 ADD COLUMN k INT, ALGORITHM=INPLACE, LOCK=NONE;
|
|
ERROR 0A000: LOCK=NONE is not supported. Reason: online rebuild with indexed virtual columns. Try LOCK=SHARED
|
|
ALTER TABLE t4 DROP k, ALGORITHM=INPLACE, LOCK=NONE;
|
|
ERROR 42000: Can't DROP COLUMN `k`; check that it exists
|
|
ALTER TABLE t4 DROP INDEX v, LOCK=NONE;
|
|
INSERT INTO t3 SET i=1;
|
|
ALTER TABLE t3 ADD INDEX(v), LOCK=NONE;
|
|
ALTER TABLE t3 ADD COLUMN k INT, ALGORITHM=INPLACE, LOCK=NONE;
|
|
ERROR 0A000: LOCK=NONE is not supported. Reason: online rebuild with indexed virtual columns. Try LOCK=SHARED
|
|
ALTER TABLE t3 DROP k, ALGORITHM=INPLACE, LOCK=NONE;
|
|
ERROR 42000: Can't DROP COLUMN `k`; check that it exists
|
|
ALTER TABLE t3 DROP INDEX v, LOCK=NONE;
|
|
INSERT INTO t2 SET i=1;
|
|
ALTER TABLE t2 ADD INDEX(v), LOCK=NONE;
|
|
ALTER TABLE t2 ADD COLUMN k INT, ALGORITHM=INPLACE, LOCK=NONE;
|
|
ERROR 0A000: LOCK=NONE is not supported. Reason: online rebuild with indexed virtual columns. Try LOCK=SHARED
|
|
ALTER TABLE t2 DROP k, ALGORITHM=INPLACE, LOCK=NONE;
|
|
ERROR 42000: Can't DROP COLUMN `k`; check that it exists
|
|
ALTER TABLE t2 DROP INDEX v, LOCK=NONE;
|
|
INSERT INTO t1 SET i=1;
|
|
ALTER TABLE t1 ADD INDEX(v), LOCK=NONE;
|
|
ALTER TABLE t1 ADD COLUMN k INT, ALGORITHM=INPLACE, LOCK=NONE;
|
|
ERROR 0A000: LOCK=NONE is not supported. Reason: online rebuild with indexed virtual columns. Try LOCK=SHARED
|
|
ALTER TABLE t1 DROP k, ALGORITHM=INPLACE, LOCK=NONE;
|
|
ERROR 42000: Can't DROP COLUMN `k`; check that it exists
|
|
ALTER TABLE t1 DROP INDEX v, LOCK=NONE;
|
|
connect ddl,localhost,root,,test;
|
|
connection default;
|
|
connection ddl;
|
|
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL copied WAIT_FOR dml';
|
|
ALTER TABLE t4 FORCE;
|
|
connection default;
|
|
SET DEBUG_SYNC = 'now WAIT_FOR copied';
|
|
BEGIN;
|
|
UPDATE t4 SET i = 0;
|
|
ROLLBACK;
|
|
SET DEBUG_SYNC = 'now SIGNAL dml';
|
|
connection ddl;
|
|
connection default;
|
|
SELECT * FROM t4;
|
|
i v
|
|
1 1
|
|
DROP TABLE t4;
|
|
connection ddl;
|
|
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL copied WAIT_FOR dml';
|
|
ALTER TABLE t3 FORCE;
|
|
connection default;
|
|
SET DEBUG_SYNC = 'now WAIT_FOR copied';
|
|
BEGIN;
|
|
UPDATE t3 SET i = 0;
|
|
ROLLBACK;
|
|
SET DEBUG_SYNC = 'now SIGNAL dml';
|
|
connection ddl;
|
|
connection default;
|
|
SELECT * FROM t3;
|
|
i v
|
|
1 1
|
|
DROP TABLE t3;
|
|
connection ddl;
|
|
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL copied WAIT_FOR dml';
|
|
ALTER TABLE t2 FORCE;
|
|
connection default;
|
|
SET DEBUG_SYNC = 'now WAIT_FOR copied';
|
|
BEGIN;
|
|
UPDATE t2 SET i = 0;
|
|
ROLLBACK;
|
|
SET DEBUG_SYNC = 'now SIGNAL dml';
|
|
connection ddl;
|
|
connection default;
|
|
SELECT * FROM t2;
|
|
j i v
|
|
1 1 1
|
|
DROP TABLE t2;
|
|
connection ddl;
|
|
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL copied WAIT_FOR dml';
|
|
ALTER TABLE t1 FORCE;
|
|
connection default;
|
|
SET DEBUG_SYNC = 'now WAIT_FOR copied';
|
|
BEGIN;
|
|
UPDATE t1 SET i = 0;
|
|
ROLLBACK;
|
|
SET DEBUG_SYNC = 'now SIGNAL dml';
|
|
connection ddl;
|
|
connection default;
|
|
SELECT * FROM t1;
|
|
j i v
|
|
1 1 1
|
|
DROP TABLE t1;
|
|
disconnect ddl;
|
|
SET DEBUG_SYNC = 'RESET';
|