mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 11:01:52 +01:00
d4d3ca204f
Fix is done by doing an autocommit in truncate table inside Aria storage/maria/ha_maria.cc: Force a commit for TRUNCATE TABLE inside lock tables Check that we don't call TRUNCATE with concurrent inserts going on. Make ha_maria::implict_commit faster when we don't have Aria tables in the transaction. (Most of the patch is just re-indentation because I removed an if level)
37 lines
692 B
Text
37 lines
692 B
Text
CREATE TABLE t1 ( i INT ) ENGINE=Aria PARTITION BY HASH(i) PARTITIONS 2;
|
|
SET AUTOCOMMIT = 0;
|
|
TRUNCATE TABLE t1;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 ( i INT ) ENGINE=Aria;
|
|
CREATE TABLE t2 ( i INT ) ENGINE=Aria;
|
|
insert into t1 values(1);
|
|
lock table t1 write;
|
|
truncate table t1;
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
insert into t1 values(2);
|
|
select count(*) from t1;
|
|
count(*)
|
|
1
|
|
truncate table t1;
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
insert into t1 values(3);
|
|
select count(*) from t1;
|
|
count(*)
|
|
1
|
|
select * from t2;
|
|
ERROR HY000: Table 't2' was not locked with LOCK TABLES
|
|
unlock tables;
|
|
insert into t1 values(4);
|
|
select * from t1;
|
|
i
|
|
3
|
|
4
|
|
truncate t1;
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
drop table t1,t2;
|