mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Bug#35788 A few tests fail due to concurrent inserts
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.
This commit is contained in:
@ -1,3 +1,5 @@
|
|||||||
|
set @old_concurrent_insert= @@global.concurrent_insert;
|
||||||
|
set @@global.concurrent_insert= 0;
|
||||||
create table t1 (
|
create table t1 (
|
||||||
`a&b` int,
|
`a&b` int,
|
||||||
`a<b` int,
|
`a<b` int,
|
||||||
@ -86,3 +88,4 @@ Empty set
|
|||||||
|
|
||||||
Bye
|
Bye
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
set @@global.concurrent_insert= @old_concurrent_insert;
|
||||||
|
@ -9,6 +9,8 @@ DROP DATABASE IF EXISTS federated;
|
|||||||
CREATE DATABASE federated;
|
CREATE DATABASE federated;
|
||||||
DROP DATABASE IF EXISTS federated;
|
DROP DATABASE IF EXISTS federated;
|
||||||
CREATE DATABASE federated;
|
CREATE DATABASE federated;
|
||||||
|
SET @OLD_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
|
||||||
|
SET @@GLOBAL.CONCURRENT_INSERT= 0;
|
||||||
DROP TABLE IF EXISTS federated.t1;
|
DROP TABLE IF EXISTS federated.t1;
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1051 Unknown table 't1'
|
Note 1051 Unknown table 't1'
|
||||||
@ -2123,3 +2125,4 @@ DROP TABLE IF EXISTS federated.t1;
|
|||||||
DROP DATABASE IF EXISTS federated;
|
DROP DATABASE IF EXISTS federated;
|
||||||
DROP TABLE IF EXISTS federated.t1;
|
DROP TABLE IF EXISTS federated.t1;
|
||||||
DROP DATABASE IF EXISTS federated;
|
DROP DATABASE IF EXISTS federated;
|
||||||
|
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_CONCURRENT_INSERT;
|
||||||
|
@ -9,6 +9,8 @@ DROP DATABASE IF EXISTS federated;
|
|||||||
CREATE DATABASE federated;
|
CREATE DATABASE federated;
|
||||||
DROP DATABASE IF EXISTS federated;
|
DROP DATABASE IF EXISTS federated;
|
||||||
CREATE DATABASE federated;
|
CREATE DATABASE federated;
|
||||||
|
SET @OLD_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
|
||||||
|
SET @@GLOBAL.CONCURRENT_INSERT= 0;
|
||||||
DROP TABLE IF EXISTS federated.bug_13118_table;
|
DROP TABLE IF EXISTS federated.bug_13118_table;
|
||||||
CREATE TABLE federated.t1 (
|
CREATE TABLE federated.t1 (
|
||||||
`id` int auto_increment primary key,
|
`id` int auto_increment primary key,
|
||||||
@ -54,3 +56,4 @@ DROP TABLE IF EXISTS federated.t1;
|
|||||||
DROP DATABASE IF EXISTS federated;
|
DROP DATABASE IF EXISTS federated;
|
||||||
DROP TABLE IF EXISTS federated.t1;
|
DROP TABLE IF EXISTS federated.t1;
|
||||||
DROP DATABASE IF EXISTS federated;
|
DROP DATABASE IF EXISTS federated;
|
||||||
|
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_CONCURRENT_INSERT;
|
||||||
|
@ -1,6 +1,12 @@
|
|||||||
# Can't run with embedded server
|
# Can't run with embedded server
|
||||||
-- source include/not_embedded.inc
|
-- source include/not_embedded.inc
|
||||||
|
|
||||||
|
# Disable concurrent inserts to avoid test failures when reading
|
||||||
|
# data from concurrent connections (insert might return before
|
||||||
|
# the data is actually in the table).
|
||||||
|
set @old_concurrent_insert= @@global.concurrent_insert;
|
||||||
|
set @@global.concurrent_insert= 0;
|
||||||
|
|
||||||
# Test of the xml output of the 'mysql' and 'mysqldump' clients -- makes
|
# Test of the xml output of the 'mysql' and 'mysqldump' clients -- makes
|
||||||
# sure that basic encoding issues are handled properly
|
# sure that basic encoding issues are handled properly
|
||||||
create table t1 (
|
create table t1 (
|
||||||
@ -21,3 +27,6 @@ insert into t1 values (1, 2, 'a&b a<b a>b');
|
|||||||
--exec $MYSQL --xml test -vv -e "select 1 limit 0"
|
--exec $MYSQL --xml test -vv -e "select 1 limit 0"
|
||||||
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
# Restore global concurrent_insert value
|
||||||
|
set @@global.concurrent_insert= @old_concurrent_insert;
|
||||||
|
@ -2,6 +2,14 @@
|
|||||||
--source include/not_embedded.inc
|
--source include/not_embedded.inc
|
||||||
--source include/federated.inc
|
--source include/federated.inc
|
||||||
|
|
||||||
|
connection default;
|
||||||
|
|
||||||
|
# Disable concurrent inserts to avoid test failures when reading
|
||||||
|
# data from concurrent connections (insert might return before
|
||||||
|
# the data is actually in the table).
|
||||||
|
SET @OLD_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
|
||||||
|
SET @@GLOBAL.CONCURRENT_INSERT= 0;
|
||||||
|
|
||||||
connection slave;
|
connection slave;
|
||||||
DROP TABLE IF EXISTS federated.t1;
|
DROP TABLE IF EXISTS federated.t1;
|
||||||
CREATE TABLE federated.t1 (
|
CREATE TABLE federated.t1 (
|
||||||
@ -1857,3 +1865,7 @@ drop server 's1';
|
|||||||
|
|
||||||
--echo End of 5.1 tests
|
--echo End of 5.1 tests
|
||||||
source include/federated_cleanup.inc;
|
source include/federated_cleanup.inc;
|
||||||
|
|
||||||
|
connection default;
|
||||||
|
|
||||||
|
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_CONCURRENT_INSERT;
|
||||||
|
@ -1,6 +1,13 @@
|
|||||||
--source include/have_bug25714.inc
|
--source include/have_bug25714.inc
|
||||||
source include/federated.inc;
|
source include/federated.inc;
|
||||||
|
|
||||||
|
connection default;
|
||||||
|
|
||||||
|
# Disable concurrent inserts to avoid test failures when reading
|
||||||
|
# data from concurrent connections (insert might return before
|
||||||
|
# the data is actually in the table).
|
||||||
|
SET @OLD_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
|
||||||
|
SET @@GLOBAL.CONCURRENT_INSERT= 0;
|
||||||
|
|
||||||
connection slave;
|
connection slave;
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
@ -42,6 +49,8 @@ DROP TABLE federated.t1;
|
|||||||
connection slave;
|
connection slave;
|
||||||
DROP TABLE federated.t1;
|
DROP TABLE federated.t1;
|
||||||
|
|
||||||
|
|
||||||
source include/federated_cleanup.inc;
|
source include/federated_cleanup.inc;
|
||||||
|
|
||||||
|
connection default;
|
||||||
|
|
||||||
|
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_CONCURRENT_INSERT;
|
||||||
|
Reference in New Issue
Block a user