mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 06:44:16 +01:00
2bf61233fa
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.
32 lines
1.1 KiB
Text
32 lines
1.1 KiB
Text
# 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 (
|
|
`a&b` int,
|
|
`a<b` int,
|
|
`a>b` text
|
|
);
|
|
insert into t1 values (1, 2, 'a&b a<b a>b');
|
|
--exec $MYSQL --xml test -e "select * from t1"
|
|
--exec $MYSQL_DUMP --xml --skip-create test
|
|
|
|
--exec $MYSQL --xml test -e "select count(*) from t1"
|
|
--exec $MYSQL --xml test -e "select 1 < 2 from dual"
|
|
--exec $MYSQL --xml test -e "select 1 > 2 from dual"
|
|
--exec $MYSQL --xml test -e "select 1 & 3 from dual"
|
|
--exec $MYSQL --xml test -e "select null from dual"
|
|
--exec $MYSQL --xml test -e "select 1 limit 0"
|
|
--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;
|