1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-15149 Assert upon concurrent creating / querying sequences

Problem was that sequence_insert closed and reopened the like table
without proper locking.  Fixed by ensuring that the like table is
not reopened in sequence_insert
This commit is contained in:
Monty
2018-03-29 12:25:17 +03:00
parent e2664ee836
commit cd93eeeb1d
4 changed files with 69 additions and 0 deletions

View File

@ -0,0 +1,24 @@
CREATE SEQUENCE s1 ENGINE=InnoDB;
CREATE SEQUENCE s2 ENGINE=InnoDB;
connect con1,localhost,root,,test;
CREATE TABLE s3 LIKE s2;;
connection default;
CREATE SEQUENCE s4 ENGINE=InnoDB;
SELECT * from s1 WHERE start_value IN (SELECT start_value FROM s2);
next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count
1 1 9223372036854775806 1 1 1000 0 0
connection con1;
disconnect con1;
connection default;
DROP SEQUENCE s1, s2, s3, s4;
CREATE SEQUENCE s1 ENGINE=InnoDB;
PREPARE stmt FROM "CREATE TABLE s2 LIKE s1";
execute stmt;
drop table s2;
execute stmt;
drop table s2;
execute stmt;
select * from s2;
next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count
1 1 9223372036854775806 1 1 1000 0 0
DROP SEQUENCE s1, s2;