mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
57ae28ab95
The problem is that since MyISAM's concurrent_insert is on by default some concurrent SELECT statements might not see changes made by INSERT statements in other connections, even if the INSERT statement has returned. The solution is to disable concurrent_insert so that INSERT statements returns after the data is actually visible to other statements. mysql-test/r/client_xml.result: Update test case result. mysql-test/r/federated.result: Update test case result. mysql-test/r/federated_bug_25714.result: Update test case result. mysql-test/t/client_xml.test: Disable concurrent insert and restore old value at the end of the test so it doesn't affect other tests. mysql-test/t/federated.test: Disable concurrent insert and restore old value at the end of the test so it doesn't affect other tests. mysql-test/t/federated_bug_25714.test: Disable concurrent insert and restore old value at the end of the test so it doesn't affect other tests.
59 lines
1.3 KiB
Text
59 lines
1.3 KiB
Text
stop slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
reset master;
|
|
reset slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
start slave;
|
|
stop slave;
|
|
DROP DATABASE IF EXISTS federated;
|
|
CREATE DATABASE federated;
|
|
DROP DATABASE IF EXISTS federated;
|
|
CREATE DATABASE federated;
|
|
SET @OLD_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
|
|
SET @@GLOBAL.CONCURRENT_INSERT= 0;
|
|
DROP TABLE IF EXISTS federated.bug_13118_table;
|
|
CREATE TABLE federated.t1 (
|
|
`id` int auto_increment primary key,
|
|
`value` int
|
|
) ENGINE=MyISAM;
|
|
INSERT INTO federated.t1 SET value=1;
|
|
INSERT INTO federated.t1 SET value=2;
|
|
INSERT INTO federated.t1 SET value=2;
|
|
DROP TABLE IF EXISTS federated.t1;
|
|
CREATE TABLE federated.t1 (
|
|
`id` int auto_increment primary key,
|
|
`value` int
|
|
) ENGINE=FEDERATED
|
|
CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1';
|
|
SELECT * from federated.t1;
|
|
id value
|
|
1 1
|
|
2 2
|
|
3 2
|
|
INSERT INTO federated.t1 SET value=4;
|
|
SELECT LAST_INSERT_ID();
|
|
LAST_INSERT_ID()
|
|
4
|
|
|
|
5 inserted
|
|
6 inserted
|
|
|
|
7 inserted
|
|
8 inserted
|
|
SELECT * from federated.t1;
|
|
id value
|
|
1 1
|
|
2 2
|
|
3 2
|
|
4 4
|
|
5 54
|
|
6 55
|
|
7 54
|
|
8 55
|
|
DROP TABLE federated.t1;
|
|
DROP TABLE federated.t1;
|
|
DROP TABLE IF EXISTS federated.t1;
|
|
DROP DATABASE IF EXISTS federated;
|
|
DROP TABLE IF EXISTS federated.t1;
|
|
DROP DATABASE IF EXISTS federated;
|
|
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_CONCURRENT_INSERT;
|