Details
-
Bug
-
Status: Stalled (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
--source include/have_innodb.inc
|
 |
CREATE TABLE t (pid int PRIMARY KEY, |
uid int, |
vid int AS (uid) VIRTUAL); |
connect(con1,localhost,root,,); |
--echo # Create index on virtual column and stop before applying row logs.
|
SET DEBUG_SYNC = 'row_log_apply_before SIGNAL start_dml WAIT_FOR resume_ddl'; |
--send ALTER TABLE t ADD INDEX idx_vid(vid), algorithm=inplace
|
connection default; |
SET DEBUG_SYNC= 'now WAIT_FOR start_dml'; |
--echo # Insert a record to generate an insert row log for the new index.
|
--echo # LOG-1 idx_vid : INSERT [NULL, 1] <--------- ### BUG ###
|
INSERT INTO t(pid, uid) VALUES (1,10); |
SELECT * FROM t; |
SET DEBUG_SYNC= 'now SIGNAL resume_ddl'; |
connection con1; |
--reap
|
connection default; |
delete from t limit 1; |
SELECT * FROM t; |
disconnect con1;
|
DROP TABLE t; |
Note: vid=NULL is inserted instead of 1
Attachments
Issue Links
- relates to
-
MDEV-26251 CREATE INDEX on virtual column ignores errors due to concurrent DML
- Open