Commit 2bf61233 authored by davi@mysql.com/endora.local's avatar davi@mysql.com/endora.local
Browse files

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.
parent 400d796d
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
set @old_concurrent_insert= @@global.concurrent_insert;
set @@global.concurrent_insert= 0;
create table t1 (
`a&b` int,
`a<b` int,
@@ -86,3 +88,4 @@ Empty set

Bye
drop table t1;
set @@global.concurrent_insert= @old_concurrent_insert;
+3 −0
Original line number Diff line number Diff line
@@ -9,6 +9,8 @@ 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.t1;
Warnings:
Note	1051	Unknown table 't1'
@@ -2123,3 +2125,4 @@ 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;
+3 −0
Original line number Diff line number Diff line
@@ -9,6 +9,8 @@ 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, 
@@ -54,3 +56,4 @@ 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;
+9 −0
Original line number Diff line number Diff line
# Can't run with embedded server
-- 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
# sure that basic encoding issues are handled properly
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"

drop table t1;

# Restore global concurrent_insert value
set @@global.concurrent_insert= @old_concurrent_insert;
+12 −0
Original line number Diff line number Diff line
@@ -2,6 +2,14 @@
--source include/not_embedded.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;
DROP TABLE IF EXISTS federated.t1;
CREATE TABLE federated.t1 (
@@ -1857,3 +1865,7 @@ drop server 's1';

--echo End of 5.1 tests
source include/federated_cleanup.inc;

connection default;

SET @@GLOBAL.CONCURRENT_INSERT= @OLD_CONCURRENT_INSERT;
Loading