mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-22061 InnoDB: Assertion of missing row in sec index row_start upon REPLACE on a system-versioned table
make_versioned_helper() appended new update field unconditionally while it should check if this field already exists in update vector. Misc renames to conform versioning prefix. vers_update_fields() name conforms with sql layer TABLE::vers_update_fields().
This commit is contained in:
@@ -245,4 +245,24 @@ update t1 set f = null where f = 'foo';
|
||||
# cleanup
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-22061 InnoDB: Assertion of missing row in sec index row_start upon REPLACE on a system-versioned table
|
||||
--echo #
|
||||
create or replace table t1 (
|
||||
a int,
|
||||
b int,
|
||||
row_start bigint(20) unsigned generated always as row start,
|
||||
row_end bigint(20) unsigned generated always as row end,
|
||||
unique key (b,row_end),
|
||||
key (row_start),
|
||||
period for system_time (row_start,row_end)
|
||||
) engine=innodb with system versioning;
|
||||
|
||||
insert into t1 (a, b) values (1, 2);
|
||||
replace into t1 (a, b) values (3, 2);
|
||||
replace into t1 (a, b) values (4, 2);
|
||||
|
||||
# cleanup
|
||||
drop table t1;
|
||||
|
||||
source suite/versioning/common_finish.inc;
|
||||
|
Reference in New Issue
Block a user