1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-19406 Assertion on updating view of join with versioned table

TABLE::mark_columns_needed_for_update(): use_all_columns() assigns
pointer of all_set into read_set and write_set, but this is not good
since all_set is changed later by
TABLE::mark_columns_used_by_index_no_reset().

Do column_bitmaps_signal() whenever we change read_set/write_set.
This commit is contained in:
Aleksey Midenkov
2019-05-11 17:27:23 +03:00
parent 647a38818a
commit a92f3146d2
5 changed files with 51 additions and 10 deletions

View File

@@ -265,3 +265,14 @@ ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
disconnect con1;
connection default;
drop table t1;
#
# MDEV-19406 Assertion on updating view of join with versioned table
#
create or replace table t1 (pk int primary key, a date, b int, index(b)) engine=innodb with system versioning;
create or replace table t2 (c int);
create or replace view v as select * from t1 join t2;
insert into t1 (pk) values (1);
update t1 set a= '2012-12-12';
update v set a= '2000-01-01' order by b limit 1;
drop view v;
drop table t1, t2;