summaryrefslogtreecommitdiff
path: root/mysql-test/suite/versioning
diff options
context:
space:
mode:
authorAleksey Midenkov <midenok@gmail.com>2019-08-14 15:52:08 +0300
committerAleksey Midenkov <midenok@gmail.com>2019-08-14 17:32:19 +0300
commita20f6f9853e522ad388f5b968ce11af3c5d1fc10 (patch)
tree85e763bad3cd71f3383baa42f3b85a13b1c33897 /mysql-test/suite/versioning
parent39db116562f7e5bdd4b8c5dbbdc21a06c7ae09ad (diff)
downloadmariadb-git-a20f6f9853e522ad388f5b968ce11af3c5d1fc10.tar.gz
MDEV-20336 Assertion bitmap_is_set(read_partitions) upon SELECT FOR UPDATE from versioned table
Exclude SELECT and INSERT SELECT from vers_set_hist_part(). We cannot likewise exclude REPLACE SELECT because it may REPLACE into itself (and REPLACE generates history). INSERT also does not generate history, but we have history modification setting which might be interfered.
Diffstat (limited to 'mysql-test/suite/versioning')
-rw-r--r--mysql-test/suite/versioning/r/partition.result7
-rw-r--r--mysql-test/suite/versioning/t/partition.test7
2 files changed, 14 insertions, 0 deletions
diff --git a/mysql-test/suite/versioning/r/partition.result b/mysql-test/suite/versioning/r/partition.result
index da851791640..b029efa7479 100644
--- a/mysql-test/suite/versioning/r/partition.result
+++ b/mysql-test/suite/versioning/r/partition.result
@@ -569,6 +569,13 @@ delete from t1;
Warnings:
Warning 4114 Versioned table `test`.`t1`: partition `p1` is full, add more HISTORY partitions
unlock tables;
+#
+# MDEV-20336 Assertion bitmap_is_set(read_partitions) upon SELECT FOR UPDATE from versioned table
+#
+create or replace table t1 (pk int primary key) with system versioning partition by system_time limit 100 (partition p1 history, partition pn current);
+execute immediate 'select * from t1 for update';
+pk
+drop table t1;
# Test cleanup
drop database test;
create database test;
diff --git a/mysql-test/suite/versioning/t/partition.test b/mysql-test/suite/versioning/t/partition.test
index f602c49d7c1..a3feadee1b5 100644
--- a/mysql-test/suite/versioning/t/partition.test
+++ b/mysql-test/suite/versioning/t/partition.test
@@ -529,6 +529,13 @@ delete from t1 where x < 3;
delete from t1;
unlock tables;
+--echo #
+--echo # MDEV-20336 Assertion bitmap_is_set(read_partitions) upon SELECT FOR UPDATE from versioned table
+--echo #
+create or replace table t1 (pk int primary key) with system versioning partition by system_time limit 100 (partition p1 history, partition pn current);
+execute immediate 'select * from t1 for update';
+drop table t1;
+
--echo # Test cleanup
drop database test;
create database test;