diff options
-rw-r--r-- | mysql-test/suite/versioning/r/truncate.result | 11 | ||||
-rw-r--r-- | mysql-test/suite/versioning/t/truncate.test | 10 | ||||
-rw-r--r-- | sql/table.cc | 1 |
3 files changed, 22 insertions, 0 deletions
diff --git a/mysql-test/suite/versioning/r/truncate.result b/mysql-test/suite/versioning/r/truncate.result index 802e382137d..88d38b18e1a 100644 --- a/mysql-test/suite/versioning/r/truncate.result +++ b/mysql-test/suite/versioning/r/truncate.result @@ -142,5 +142,16 @@ with system versioning; insert into t1 (f) values ('a'), ('b'), ('c'), ('d'), ('e'), ('f'), ('g'), ('h'); delete from t1; delete history from t1; +drop table t1; +# +# MDEV-20186 Wrong result or Assertion on INSERT after DELETE HISTORY +# +create or replace table t1 (a int check (a > 0)) with system versioning; +delete history from t1; +insert into t1 values (1); +select * from t1; +a +1 +drop table t1; drop database test; create database test; diff --git a/mysql-test/suite/versioning/t/truncate.test b/mysql-test/suite/versioning/t/truncate.test index 9450ddce125..b21956cc68f 100644 --- a/mysql-test/suite/versioning/t/truncate.test +++ b/mysql-test/suite/versioning/t/truncate.test @@ -158,6 +158,16 @@ with system versioning; insert into t1 (f) values ('a'), ('b'), ('c'), ('d'), ('e'), ('f'), ('g'), ('h'); delete from t1; delete history from t1; +drop table t1; + +--echo # +--echo # MDEV-20186 Wrong result or Assertion on INSERT after DELETE HISTORY +--echo # +create or replace table t1 (a int check (a > 0)) with system versioning; +delete history from t1; +insert into t1 values (1); +select * from t1; +drop table t1; drop database test; create database test; diff --git a/sql/table.cc b/sql/table.cc index fa6146f4139..48421c4051e 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -5064,6 +5064,7 @@ void TABLE::init(THD *thd, TABLE_LIST *tl) range_rowid_filter_cost_info= NULL; update_handler= NULL; check_unique_buf= NULL; + vers_write= s->versioned; #ifdef HAVE_REPLICATION /* used in RBR Triggers */ master_had_triggers= 0; |