mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
due to merge.
This commit is contained in:
@ -62,7 +62,9 @@ SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name
|
||||
DROP EVENT IF EXISTS test.slave_once;
|
||||
--enable_warnings
|
||||
|
||||
CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE DO
|
||||
# Create an event on slave and check its state. An event shouldn't be executed
|
||||
# so set start time in 1 hour.
|
||||
CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
|
||||
INSERT IGNORE INTO t1(id, c) VALUES (3, 'from slave_once');
|
||||
|
||||
--echo "Checking event status on the slave for originator value = slave's server_id"
|
||||
@ -81,8 +83,11 @@ connection master;
|
||||
DROP EVENT IF EXISTS test.justonce;
|
||||
--enable_warnings
|
||||
|
||||
# Create an event on master and check its state on slave. An event shouldn't be executed
|
||||
# so set start time in 1 hour. Check that changes of event statement replicated to slave
|
||||
|
||||
--echo "Creating event test.er on the master"
|
||||
CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND DO
|
||||
CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
|
||||
INSERT IGNORE INTO t1(id, c) VALUES (4, 'from er');
|
||||
|
||||
--echo "Checking event status on the master"
|
||||
@ -95,7 +100,7 @@ SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND
|
||||
|
||||
connection master;
|
||||
--echo "Altering event test.er on the master"
|
||||
ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND DO
|
||||
ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
|
||||
INSERT IGNORE INTO t1(id, c) VALUES (5, 'from alter er');
|
||||
|
||||
--echo "Checking event status on the master"
|
||||
@ -123,8 +128,11 @@ SELECT db, name, status, originator FROM mysql.event WHERE db = 'test';
|
||||
# test the DISABLE ON SLAVE for setting event SLAVESIDE_DISABLED as status
|
||||
# on CREATE EVENT
|
||||
|
||||
# Create an event on slave and check its status. An event shouldn't be executed
|
||||
# so set start time in 1 hour.
|
||||
|
||||
--echo "Creating event test.slave_terminate on the slave"
|
||||
CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND DO
|
||||
CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
|
||||
INSERT IGNORE INTO t1(id, c) VALUES (6, 'from slave_terminate');
|
||||
|
||||
--echo "Checking event status on the slave"
|
||||
|
@ -2,6 +2,7 @@
|
||||
SET @global_character_set_database = @@global.character_set_database;
|
||||
SET @session_character_set_database = @@session.character_set_database;
|
||||
SET @session_character_set_server = @@session.character_set_server;
|
||||
SET @global_character_set_server = @@global.character_set_server;
|
||||
SET @@global.character_set_database = utf8;
|
||||
'connect (con1,localhost,root,,,,)'
|
||||
'connection con1'
|
||||
@ -71,6 +72,15 @@ SELECT count(*) FROM t1 WHERE CHAR_LENGTH(a)>1;
|
||||
count(*)
|
||||
1
|
||||
DROP TABLE IF EXISTS t1;
|
||||
'Bug#27208: If no current database, character_set_database !=character_set_server'
|
||||
SET GLOBAL character_set_server=latin5;
|
||||
CREATE DATABASE csdb CHARACTER SET = utf8;
|
||||
USE csdb;
|
||||
DROP DATABASE csdb;
|
||||
SELECT @@character_set_database;
|
||||
@@character_set_database
|
||||
latin5
|
||||
SET @@global.character_set_database = @global_character_set_database;
|
||||
SET @@session.character_set_database = @session_character_set_database;
|
||||
SET @@session.character_set_server = @session_character_set_server;
|
||||
SET @@global.character_set_server = @global_character_set_server;
|
||||
|
@ -1,14 +1,20 @@
|
||||
drop table if exists t1;
|
||||
SHOW GLOBAL VARIABLES LIKE "%e_format";
|
||||
Variable_name Value
|
||||
date_format %d.%m.%Y
|
||||
datetime_format %Y-%m-%d %H:%i:%s
|
||||
time_format %H.%i.%s
|
||||
SHOW SESSION VARIABLES LIKE "%e_format";
|
||||
Variable_name Value
|
||||
date_format %d.%m.%Y
|
||||
datetime_format %Y-%m-%d %H:%i:%s
|
||||
time_format %H.%i.%s
|
||||
SELECT variable_name, variable_value
|
||||
FROM information_schema.global_variables
|
||||
WHERE variable_name IN ('date_format', 'datetime_format', 'time_format')
|
||||
ORDER BY variable_name;
|
||||
variable_name variable_value
|
||||
DATETIME_FORMAT %Y-%m-%d %H:%i:%s
|
||||
DATE_FORMAT %d.%m.%Y
|
||||
TIME_FORMAT %H.%i.%s
|
||||
SELECT variable_name, variable_value
|
||||
FROM information_schema.session_variables
|
||||
WHERE variable_name IN ('date_format', 'datetime_format', 'time_format')
|
||||
ORDER BY variable_name;
|
||||
variable_name variable_value
|
||||
DATETIME_FORMAT %Y-%m-%d %H:%i:%s
|
||||
DATE_FORMAT %d.%m.%Y
|
||||
TIME_FORMAT %H.%i.%s
|
||||
SET time_format='%H%i%s';
|
||||
SET time_format='%H:%i:%s.%f';
|
||||
SET time_format='%h-%i-%s.%f%p';
|
||||
@ -26,11 +32,14 @@ set datetime_format= '%H:%i:%s %Y-%m-%d';
|
||||
set datetime_format= '%H:%i:%s.%f %m-%d-%Y';
|
||||
set datetime_format= '%h:%i:%s %p %Y-%m-%d';
|
||||
set datetime_format= '%h:%i:%s.%f %p %Y-%m-%d';
|
||||
SHOW SESSION VARIABLES LIKE "%e_format";
|
||||
Variable_name Value
|
||||
date_format %m-%d-%Y
|
||||
datetime_format %h:%i:%s.%f %p %Y-%m-%d
|
||||
time_format %h:%i:%s%p
|
||||
SELECT variable_name, variable_value
|
||||
FROM information_schema.session_variables
|
||||
WHERE variable_name IN ('date_format', 'datetime_format', 'time_format')
|
||||
ORDER BY variable_name;
|
||||
variable_name variable_value
|
||||
DATETIME_FORMAT %h:%i:%s.%f %p %Y-%m-%d
|
||||
DATE_FORMAT %m-%d-%Y
|
||||
TIME_FORMAT %h:%i:%s%p
|
||||
SET time_format='%h:%i:%s';
|
||||
ERROR 42000: Variable 'time_format' can't be set to the value of '%h:%i:%s'
|
||||
SET time_format='%H %i:%s';
|
||||
|
@ -424,3 +424,10 @@ select f1 from t1 group by f1 having max(f1)=f1;
|
||||
f1
|
||||
set session sql_mode='';
|
||||
drop table t1;
|
||||
CREATE TABLE t1 ( a INT, b INT);
|
||||
INSERT INTO t1 VALUES (1, 1), (2,2), (3, NULL);
|
||||
SELECT b, COUNT(DISTINCT a) FROM t1 GROUP BY b HAVING b is NULL;
|
||||
b COUNT(DISTINCT a)
|
||||
NULL 1
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
|
@ -1,6 +1,6 @@
|
||||
drop table if exists t1;
|
||||
set binlog_format=mixed;
|
||||
set session transaction isolation level read committed;
|
||||
set session transaction isolation level repeatable read;
|
||||
create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1;
|
||||
insert into t1 values (1),(2),(3),(4),(5),(6),(7);
|
||||
set autocommit=0;
|
||||
@ -8,11 +8,12 @@ select * from t1 where a=3 lock in share mode;
|
||||
a
|
||||
3
|
||||
set binlog_format=mixed;
|
||||
set session transaction isolation level read committed;
|
||||
set session transaction isolation level repeatable read;
|
||||
set autocommit=0;
|
||||
update t1 set a=10 where a=5;
|
||||
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
||||
commit;
|
||||
set session transaction isolation level read committed;
|
||||
update t1 set a=10 where a=5;
|
||||
select * from t1 where a=2 for update;
|
||||
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
||||
|
@ -48,4 +48,9 @@ Table Op Msg_type Msg_text
|
||||
test.t1 optimize error Table 'test.t1' is read only
|
||||
Warnings:
|
||||
Error 1036 Table 't1' is read only
|
||||
repair table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair error Table 'test.t1' is read only
|
||||
Warnings:
|
||||
Error 1036 Table 't1' is read only
|
||||
drop table t1;
|
||||
|
@ -1,6 +1,6 @@
|
||||
drop table if exists t1;
|
||||
set binlog_format=mixed;
|
||||
set session transaction isolation level read committed;
|
||||
set session transaction isolation level repeatable read;
|
||||
create table t1(a int not null)
|
||||
engine=innodb
|
||||
DEFAULT CHARSET=latin1
|
||||
@ -13,11 +13,12 @@ select * from t1 where a=3 lock in share mode;
|
||||
a
|
||||
3
|
||||
set binlog_format=mixed;
|
||||
set session transaction isolation level read committed;
|
||||
set session transaction isolation level repeatable read;
|
||||
set autocommit=0;
|
||||
update t1 set a=10 where a=5;
|
||||
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
||||
commit;
|
||||
set session transaction isolation level read committed;
|
||||
update t1 set a=10 where a=5;
|
||||
select * from t1 where a=2 for update;
|
||||
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
||||
|
@ -346,6 +346,22 @@ id
|
||||
drop table t1;
|
||||
drop function f1;
|
||||
set GLOBAL query_cache_size=0;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
FLUSH STATUS;
|
||||
SET GLOBAL query_cache_size=1048576;
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
|
||||
SHOW STATUS LIKE 'Qcache_queries_in_cache';
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
LOCK TABLES t1 WRITE;
|
||||
SELECT * FROM t1;
|
||||
UNLOCK TABLES;
|
||||
SHOW STATUS LIKE 'Qcache_queries_in_cache';
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL query_cache_size= default;
|
||||
SET GLOBAL log_bin_trust_function_creators = 0;
|
||||
DROP DATABASE IF EXISTS bug30269;
|
||||
FLUSH STATUS;
|
||||
|
12
mysql-test/suite/rpl/r/rpl_cross_version.result
Normal file
12
mysql-test/suite/rpl/r/rpl_cross_version.result
Normal file
@ -0,0 +1,12 @@
|
||||
==== Initialize ====
|
||||
Setting up fake replication from MYSQL_TEST_DIR/suite/binlog/std_data/binlog_old_version_4_1.000001
|
||||
==== Test ====
|
||||
start slave sql_thread;
|
||||
==== a prove that the fake has been processed successfully ====
|
||||
SELECT COUNT(*) - 17920 as zero FROM t3;
|
||||
zero
|
||||
0
|
||||
==== Clean up ====
|
||||
stop slave sql_thread;
|
||||
Cleaning up after setup_fake_relay_log.inc
|
||||
drop table t1, t3;
|
@ -1,10 +1,11 @@
|
||||
set global event_scheduler=1;
|
||||
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;
|
||||
SET @old_event_scheduler = @@global.event_scheduler;
|
||||
set global event_scheduler=1;
|
||||
set binlog_format=row;
|
||||
DROP EVENT IF EXISTS test.justonce;
|
||||
drop table if exists t1,t2;
|
||||
@ -34,7 +35,7 @@ db name status originator
|
||||
test justonce SLAVESIDE_DISABLED 1
|
||||
"Dropping event test.slave_once on the slave"
|
||||
DROP EVENT IF EXISTS test.slave_once;
|
||||
CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE DO
|
||||
CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
|
||||
INSERT IGNORE INTO t1(id, c) VALUES (3, 'from slave_once');
|
||||
"Checking event status on the slave for originator value = slave's server_id"
|
||||
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_once';
|
||||
@ -45,7 +46,7 @@ DROP EVENT IF EXISTS test.slave_once;
|
||||
"Dropping event test.justonce on the master"
|
||||
DROP EVENT IF EXISTS test.justonce;
|
||||
"Creating event test.er on the master"
|
||||
CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND DO
|
||||
CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
|
||||
INSERT IGNORE INTO t1(id, c) VALUES (4, 'from er');
|
||||
"Checking event status on the master"
|
||||
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
|
||||
@ -56,7 +57,7 @@ SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND
|
||||
db name status originator body
|
||||
test er SLAVESIDE_DISABLED 1 INSERT IGNORE INTO t1(id, c) VALUES (4, 'from er')
|
||||
"Altering event test.er on the master"
|
||||
ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND DO
|
||||
ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
|
||||
INSERT IGNORE INTO t1(id, c) VALUES (5, 'from alter er');
|
||||
"Checking event status on the master"
|
||||
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
|
||||
@ -75,7 +76,7 @@ db name status originator
|
||||
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test';
|
||||
db name status originator
|
||||
"Creating event test.slave_terminate on the slave"
|
||||
CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND DO
|
||||
CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
|
||||
INSERT IGNORE INTO t1(id, c) VALUES (6, 'from slave_terminate');
|
||||
"Checking event status on the slave"
|
||||
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_terminate';
|
||||
@ -123,7 +124,7 @@ db name status originator
|
||||
test justonce SLAVESIDE_DISABLED 1
|
||||
"Dropping event test.slave_once on the slave"
|
||||
DROP EVENT IF EXISTS test.slave_once;
|
||||
CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE DO
|
||||
CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
|
||||
INSERT IGNORE INTO t1(id, c) VALUES (3, 'from slave_once');
|
||||
"Checking event status on the slave for originator value = slave's server_id"
|
||||
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_once';
|
||||
@ -134,7 +135,7 @@ DROP EVENT IF EXISTS test.slave_once;
|
||||
"Dropping event test.justonce on the master"
|
||||
DROP EVENT IF EXISTS test.justonce;
|
||||
"Creating event test.er on the master"
|
||||
CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND DO
|
||||
CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
|
||||
INSERT IGNORE INTO t1(id, c) VALUES (4, 'from er');
|
||||
"Checking event status on the master"
|
||||
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
|
||||
@ -145,7 +146,7 @@ SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND
|
||||
db name status originator body
|
||||
test er SLAVESIDE_DISABLED 1 INSERT IGNORE INTO t1(id, c) VALUES (4, 'from er')
|
||||
"Altering event test.er on the master"
|
||||
ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND DO
|
||||
ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
|
||||
INSERT IGNORE INTO t1(id, c) VALUES (5, 'from alter er');
|
||||
"Checking event status on the master"
|
||||
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
|
||||
@ -164,7 +165,7 @@ db name status originator
|
||||
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test';
|
||||
db name status originator
|
||||
"Creating event test.slave_terminate on the slave"
|
||||
CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND DO
|
||||
CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
|
||||
INSERT IGNORE INTO t1(id, c) VALUES (6, 'from slave_terminate');
|
||||
"Checking event status on the slave"
|
||||
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_terminate';
|
||||
@ -190,4 +191,5 @@ select * from t28953;
|
||||
END;|
|
||||
ALTER EVENT event1 RENAME TO event2;
|
||||
DROP EVENT event2;
|
||||
SET @@global.event_scheduler= @old_event_scheduler;
|
||||
DROP TABLE t28953;
|
||||
|
1
mysql-test/suite/rpl/t/rpl_cross_version-master.opt
Normal file
1
mysql-test/suite/rpl/t/rpl_cross_version-master.opt
Normal file
@ -0,0 +1 @@
|
||||
--replicate-same-server-id --relay-log=slave-relay-bin
|
36
mysql-test/suite/rpl/t/rpl_cross_version.test
Normal file
36
mysql-test/suite/rpl/t/rpl_cross_version.test
Normal file
@ -0,0 +1,36 @@
|
||||
# ==== Purpose ====
|
||||
#
|
||||
# Verify cross-version replication from an old master to the up-to-date slave
|
||||
#
|
||||
# ==== Implementation ====
|
||||
#
|
||||
# Feed to the slave server a binlog recorded on an old version master
|
||||
# via setting up slave-to-slave replication. The latter is done by means of
|
||||
# the opt file and include/setup_fake_relay_log.inc.
|
||||
# The master's binlog is treated as a relay log that the SQL thread executes.
|
||||
#
|
||||
|
||||
--source include/have_log_bin.inc
|
||||
|
||||
#
|
||||
# Bug#31240 load data infile replication between (4.0 or 4.1) and 5.1 fails
|
||||
#
|
||||
|
||||
--echo ==== Initialize ====
|
||||
# the relay log contains create t1, t3 tables and load data infile
|
||||
--let $fake_relay_log = $MYSQL_TEST_DIR/suite/binlog/std_data/binlog_old_version_4_1.000001
|
||||
--source include/setup_fake_relay_log.inc
|
||||
|
||||
--echo ==== Test ====
|
||||
start slave sql_thread;
|
||||
--let $slave_param = Exec_Master_Log_Pos
|
||||
# end_log_pos of the last event of the relay log
|
||||
--let $slave_param_value = 149436
|
||||
--source include/wait_for_slave_param.inc
|
||||
--echo ==== a prove that the fake has been processed successfully ====
|
||||
SELECT COUNT(*) - 17920 as zero FROM t3;
|
||||
|
||||
--echo ==== Clean up ====
|
||||
stop slave sql_thread;
|
||||
--source include/cleanup_fake_relay_log.inc
|
||||
drop table t1, t3;
|
@ -5,11 +5,12 @@
|
||||
# in both row based and statement based format #
|
||||
##################################################################
|
||||
|
||||
set global event_scheduler=1;
|
||||
|
||||
--source include/not_embedded.inc
|
||||
--source include/master-slave.inc
|
||||
|
||||
SET @old_event_scheduler = @@global.event_scheduler;
|
||||
set global event_scheduler=1;
|
||||
|
||||
let $engine_type= MyISAM;
|
||||
|
||||
set binlog_format=row;
|
||||
@ -51,5 +52,6 @@ sync_slave_with_master;
|
||||
# that there is no bad timing cauing it to try to access the table.
|
||||
|
||||
connection master;
|
||||
SET @@global.event_scheduler= @old_event_scheduler;
|
||||
DROP TABLE t28953;
|
||||
sync_slave_with_master;
|
||||
|
@ -29,6 +29,7 @@
|
||||
SET @global_character_set_database = @@global.character_set_database;
|
||||
SET @session_character_set_database = @@session.character_set_database;
|
||||
SET @session_character_set_server = @@session.character_set_server;
|
||||
SET @global_character_set_server = @@global.character_set_server;
|
||||
|
||||
SET @@global.character_set_database = utf8;
|
||||
--echo 'connect (con1,localhost,root,,,,)'
|
||||
@ -106,10 +107,30 @@ SELECT count(*) FROM t1 WHERE CHAR_LENGTH(a)>1;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
|
||||
#==============================================================================
|
||||
--echo 'Bug#27208: If no current database, character_set_database !=character_set_server'
|
||||
#==============================================================================
|
||||
|
||||
SET GLOBAL character_set_server=latin5;
|
||||
|
||||
connect (con2, localhost, root,,);
|
||||
connection con2;
|
||||
|
||||
CREATE DATABASE csdb CHARACTER SET = utf8;
|
||||
USE csdb;
|
||||
DROP DATABASE csdb;
|
||||
SELECT @@character_set_database;
|
||||
|
||||
connection default;
|
||||
disconnect con2;
|
||||
|
||||
|
||||
#restore
|
||||
SET @@global.character_set_database = @global_character_set_database;
|
||||
SET @@session.character_set_database = @session_character_set_database;
|
||||
SET @@session.character_set_server = @session_character_set_server;
|
||||
SET @@global.character_set_server = @global_character_set_server;
|
||||
############################################################
|
||||
# End of functionality Testing for character_set_database #
|
||||
############################################################
|
||||
|
@ -6,10 +6,15 @@
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
--replace_result ROW <format> STATEMENT <format> MIXED <format>
|
||||
SHOW GLOBAL VARIABLES LIKE "%e_format";
|
||||
--replace_result ROW <format> STATEMENT <format> MIXED <format>
|
||||
SHOW SESSION VARIABLES LIKE "%e_format";
|
||||
SELECT variable_name, variable_value
|
||||
FROM information_schema.global_variables
|
||||
WHERE variable_name IN ('date_format', 'datetime_format', 'time_format')
|
||||
ORDER BY variable_name;
|
||||
|
||||
SELECT variable_name, variable_value
|
||||
FROM information_schema.session_variables
|
||||
WHERE variable_name IN ('date_format', 'datetime_format', 'time_format')
|
||||
ORDER BY variable_name;
|
||||
|
||||
#
|
||||
# Test setting a lot of different formats to see which formats are accepted and
|
||||
@ -36,8 +41,10 @@ set datetime_format= '%H:%i:%s.%f %m-%d-%Y';
|
||||
set datetime_format= '%h:%i:%s %p %Y-%m-%d';
|
||||
set datetime_format= '%h:%i:%s.%f %p %Y-%m-%d';
|
||||
|
||||
--replace_result ROW <format> STATEMENT <format> MIXED <format>
|
||||
SHOW SESSION VARIABLES LIKE "%e_format";
|
||||
SELECT variable_name, variable_value
|
||||
FROM information_schema.session_variables
|
||||
WHERE variable_name IN ('date_format', 'datetime_format', 'time_format')
|
||||
ORDER BY variable_name;
|
||||
|
||||
--error 1231
|
||||
SET time_format='%h:%i:%s';
|
||||
@ -121,7 +128,7 @@ SET datetime_format=default;
|
||||
# Test of str_to_date
|
||||
#
|
||||
|
||||
# PS doesn't support fraction of a seconds
|
||||
# PS doesn't support fractions of a second
|
||||
--disable_ps_protocol
|
||||
select str_to_date(concat('15-01-2001',' 2:59:58.999'),
|
||||
concat('%d-%m-%Y',' ','%H:%i:%s.%f'));
|
||||
|
@ -432,3 +432,14 @@ select f1 from t1 having max(f1)=f1;
|
||||
select f1 from t1 group by f1 having max(f1)=f1;
|
||||
set session sql_mode='';
|
||||
drop table t1;
|
||||
|
||||
|
||||
#
|
||||
# Bug #38637: COUNT DISTINCT prevents NULL testing in HAVING clause
|
||||
#
|
||||
CREATE TABLE t1 ( a INT, b INT);
|
||||
INSERT INTO t1 VALUES (1, 1), (2,2), (3, NULL);
|
||||
SELECT b, COUNT(DISTINCT a) FROM t1 GROUP BY b HAVING b is NULL;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -1 +1 @@
|
||||
--innodb_locks_unsafe_for_binlog=true --innodb_lock_wait_timeout=2
|
||||
--innodb_lock_wait_timeout=2
|
||||
|
@ -11,7 +11,7 @@ connect (a,localhost,root,,);
|
||||
connect (b,localhost,root,,);
|
||||
connection a;
|
||||
set binlog_format=mixed;
|
||||
set session transaction isolation level read committed;
|
||||
set session transaction isolation level repeatable read;
|
||||
create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1;
|
||||
insert into t1 values (1),(2),(3),(4),(5),(6),(7);
|
||||
set autocommit=0;
|
||||
@ -19,13 +19,15 @@ set autocommit=0;
|
||||
select * from t1 where a=3 lock in share mode;
|
||||
connection b;
|
||||
set binlog_format=mixed;
|
||||
set session transaction isolation level read committed;
|
||||
set session transaction isolation level repeatable read;
|
||||
set autocommit=0;
|
||||
-- error ER_LOCK_WAIT_TIMEOUT
|
||||
update t1 set a=10 where a=5;
|
||||
connection a;
|
||||
commit;
|
||||
connection b;
|
||||
# perform a semi-consisent read (and unlock non-matching rows)
|
||||
set session transaction isolation level read committed;
|
||||
update t1 set a=10 where a=5;
|
||||
connection a;
|
||||
-- error ER_LOCK_WAIT_TIMEOUT
|
||||
@ -33,6 +35,7 @@ select * from t1 where a=2 for update;
|
||||
# this should lock the records (1),(2)
|
||||
select * from t1 where a=2 limit 1 for update;
|
||||
connection b;
|
||||
# semi-consistent read will skip non-matching locked rows a=1, a=2
|
||||
update t1 set a=11 where a=6;
|
||||
-- error ER_LOCK_WAIT_TIMEOUT
|
||||
update t1 set a=12 where a=2;
|
||||
|
@ -34,6 +34,8 @@ DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#40949 Debug version of MySQL server crashes when run OPTIMIZE on compressed table.
|
||||
# expanded with testcase for
|
||||
# BUG#41574 - REPAIR TABLE: crashes for compressed tables
|
||||
#
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
@ -55,4 +57,5 @@ insert into t1 select * from t1;
|
||||
flush tables;
|
||||
--exec $MYISAMPACK $MYSQLTEST_VARDIR/master-data/test/t1
|
||||
optimize table t1;
|
||||
repair table t1;
|
||||
drop table t1;
|
||||
|
@ -14,7 +14,7 @@ connect (a,localhost,root,,);
|
||||
connect (b,localhost,root,,);
|
||||
connection a;
|
||||
set binlog_format=mixed;
|
||||
set session transaction isolation level read committed;
|
||||
set session transaction isolation level repeatable read;
|
||||
create table t1(a int not null)
|
||||
engine=innodb
|
||||
DEFAULT CHARSET=latin1
|
||||
@ -27,7 +27,7 @@ set autocommit=0;
|
||||
select * from t1 where a=3 lock in share mode;
|
||||
connection b;
|
||||
set binlog_format=mixed;
|
||||
set session transaction isolation level read committed;
|
||||
set session transaction isolation level repeatable read;
|
||||
set autocommit=0;
|
||||
-- error ER_LOCK_WAIT_TIMEOUT
|
||||
update t1 set a=10 where a=5;
|
||||
@ -35,6 +35,8 @@ connection a;
|
||||
#DELETE FROM t1 WHERE a=5;
|
||||
commit;
|
||||
connection b;
|
||||
# perform a semi-consisent read (and unlock non-matching rows)
|
||||
set session transaction isolation level read committed;
|
||||
update t1 set a=10 where a=5;
|
||||
connection a;
|
||||
-- error ER_LOCK_WAIT_TIMEOUT
|
||||
@ -42,6 +44,7 @@ select * from t1 where a=2 for update;
|
||||
# this should lock the records (1),(2)
|
||||
select * from t1 where a=2 limit 1 for update;
|
||||
connection b;
|
||||
# semi-consistent read will skip non-matching locked rows a=1, a=2
|
||||
update t1 set a=11 where a=6;
|
||||
-- error ER_LOCK_WAIT_TIMEOUT
|
||||
update t1 set a=12 where a=2;
|
||||
|
@ -224,6 +224,38 @@ disconnect con2;
|
||||
connection default;
|
||||
|
||||
set GLOBAL query_cache_size=0;
|
||||
|
||||
#
|
||||
# Bug#40264: Aborted cached query causes query to hang indefinitely on next cache hit
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
FLUSH STATUS;
|
||||
SET GLOBAL query_cache_size=1048576;
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
|
||||
SHOW STATUS LIKE 'Qcache_queries_in_cache';
|
||||
LOCK TABLES t1 WRITE;
|
||||
connect(con1,localhost,root,,);
|
||||
--send SELECT * FROM t1
|
||||
connection default;
|
||||
let $show_type= open tables where `table`='t1' and in_use=2;
|
||||
let $show_pattern= '%t1%2%';
|
||||
--source include/wait_show_pattern.inc
|
||||
dirty_close con1;
|
||||
UNLOCK TABLES;
|
||||
let $show_type= open tables where `table`='t1' and in_use=0;
|
||||
let $show_pattern= '%t1%0%';
|
||||
--source include/wait_show_pattern.inc
|
||||
SHOW STATUS LIKE 'Qcache_queries_in_cache';
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL query_cache_size= default;
|
||||
|
||||
# End of 5.0 tests
|
||||
|
||||
SET GLOBAL log_bin_trust_function_creators = 0;
|
||||
|
||||
#
|
||||
|
Reference in New Issue
Block a user