1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-30 05:23:50 +03:00

5.5 merge

This commit is contained in:
Sergei Golubchik
2014-02-01 00:54:03 +01:00
304 changed files with 12473 additions and 942 deletions

View File

@@ -20,13 +20,13 @@ id name
1 foo
2 bar
DELETE FROM federated.t1 WHERE id = 1;
ERROR HY000: Got error 10000 'Error on remote system: 1031: Storage engine ARCHIVE of the table `federated`.`archive_table` doesn'' from FEDERATED
ERROR HY000: Got error 10000 'Error on remote system: 1031: Storage engine ARCHIVE of the table `federated`.`archive_table` doesn't have this option' from FEDERATED
SELECT * FROM federated.t1;
id name
1 foo
2 bar
UPDATE federated.t1 SET name='baz' WHERE id = 1;
ERROR HY000: Got error 10000 'Error on remote system: 1031: Storage engine ARCHIVE of the table `federated`.`archive_table` doesn'' from FEDERATED
ERROR HY000: Got error 10000 'Error on remote system: 1031: Storage engine ARCHIVE of the table `federated`.`archive_table` doesn't have this option' from FEDERATED
SELECT * FROM federated.t1;
id name
1 foo

View File

@@ -256,7 +256,7 @@ handler t1 read a=(1);
a b
handler t1 read a next;
a b
16 ccc
14 aaa
handler t1 close;
handler t1 open;
prepare stmt from 'handler t1 read a=(?) limit ?,?';
@@ -563,7 +563,7 @@ HANDLER t1 READ `primary` = (1, 1000);
no1 no2
HANDLER t1 READ `primary` NEXT;
no1 no2
2 8
2 6
DROP TABLE t1;
create table t1 (c1 int);
insert into t1 values (14397);

View File

@@ -6,5 +6,5 @@ HANDLER bug13510739 READ `primary` = (2);
c
HANDLER bug13510739 READ `primary` NEXT;
c
4
3
DROP TABLE bug13510739;

View File

@@ -37,7 +37,7 @@ SET DEBUG_SYNC='innodb_row_update_for_mysql_begin
SET DEBUG_SYNC='innodb_dml_cascade_dict_unfreeze SIGNAL dict_unfreeze
WAIT_FOR foreign_free_cache';
update ignore t1 set f1 = 20;
ERROR HY000: Error on rename of './test/t2' to '#sql2-temporary' (errno: 182 "Table is being used in foreign key check")
ERROR HY000: Error on rename of './test/t2' to '#sql2-temporary' (errno: 183 "Table is being used in foreign key check")
SET DEBUG_SYNC='now SIGNAL foreign_free_cache';
drop table t2;
drop table t1;

View File

@@ -1,9 +1,3 @@
--source include/not_windows_embedded.inc
# remove this when
# Bug#53947 InnoDB: Assertion failure in thread 4224 in file
# .\sync\sync0sync.c line 324
# is fixed
#######################################################################
# #
# Please, DO NOT TOUCH this file as well as the innodb.result file. #

View File

@@ -0,0 +1,33 @@
drop table if exists t1;
Warnings:
Note 1051 Unknown table 't1'
CREATE TABLE t1 (pk INT, d DATETIME, PRIMARY KEY(pk), KEY(d)) ENGINE=Aria;
ALTER TABLE t1 DISABLE KEYS;
INSERT INTO t1 VALUES (1,'2000-01-01 22:22:22'),(2,'2012-12-21 12:12:12');
INSERT INTO t1 VALUES (3, '2008-07-24');
ALTER TABLE t1 ENABLE KEYS;
SELECT t1a.pk FROM t1 AS t1a LEFT JOIN t1 AS t1b ON t1a.pk = t1b.pk;
pk
1
2
3
SELECT * FROM t1 AS t1a LEFT JOIN t1 AS t1b ON t1a.pk = t1b.pk;
pk d pk d
1 2000-01-01 22:22:22 1 2000-01-01 22:22:22
2 2012-12-21 12:12:12 2 2012-12-21 12:12:12
3 2008-07-24 00:00:00 3 2008-07-24 00:00:00
DROP TABLE t1;
CREATE TABLE t1 (pk INT PRIMARY KEY, i INT, KEY(i)) ENGINE=Aria;
ALTER TABLE t1 DISABLE KEYS;
INSERT INTO t1 VALUES (1,11);
INSERT INTO t1 VALUES (2,0),(3,33),(4,0),(5,55),(6,66),(7,0),(8,88),(9,99);
ALTER TABLE t1 ENABLE KEYS;
SELECT * FROM t1 WHERE i = 0 OR pk BETWEEN 6 AND 10;
pk i
2 0
4 0
6 66
7 0
8 88
9 99
DROP TABLE t1;

View File

@@ -0,0 +1,27 @@
# Testing of potential problems in Aria and alter table
-- source include/have_maria.inc
drop table if exists t1;
#
# MDEV-4970 Wrong result with Aria table populated with disabled keys
#
CREATE TABLE t1 (pk INT, d DATETIME, PRIMARY KEY(pk), KEY(d)) ENGINE=Aria;
ALTER TABLE t1 DISABLE KEYS;
INSERT INTO t1 VALUES (1,'2000-01-01 22:22:22'),(2,'2012-12-21 12:12:12');
INSERT INTO t1 VALUES (3, '2008-07-24');
ALTER TABLE t1 ENABLE KEYS;
SELECT t1a.pk FROM t1 AS t1a LEFT JOIN t1 AS t1b ON t1a.pk = t1b.pk;
SELECT * FROM t1 AS t1a LEFT JOIN t1 AS t1b ON t1a.pk = t1b.pk;
DROP TABLE t1;
CREATE TABLE t1 (pk INT PRIMARY KEY, i INT, KEY(i)) ENGINE=Aria;
ALTER TABLE t1 DISABLE KEYS;
INSERT INTO t1 VALUES (1,11);
INSERT INTO t1 VALUES (2,0),(3,33),(4,0),(5,55),(6,66),(7,0),(8,88),(9,99);
ALTER TABLE t1 ENABLE KEYS;
SELECT * FROM t1 WHERE i = 0 OR pk BETWEEN 6 AND 10;
DROP TABLE t1;

View File

@@ -0,0 +1,9 @@
CREATE TABLE t1 (i INT) ENGINE=MyISAM
PARTITION BY RANGE (i) (
PARTITION p00 VALUES LESS THAN (1),
PARTITION p01 VALUES LESS THAN (2)
);
INSERT IGNORE INTO t1 VALUES (3);
Warnings:
Warning 1526 Table has no partition for value 3
DROP TABLE t1;

View File

@@ -0,0 +1,12 @@
#
# MDEV-5421 Assertion `! is_set()' fails on INSERT IGNORE when a table has no partition for a value
#
--source include/have_partition.inc
CREATE TABLE t1 (i INT) ENGINE=MyISAM
PARTITION BY RANGE (i) (
PARTITION p00 VALUES LESS THAN (1),
PARTITION p01 VALUES LESS THAN (2)
);
INSERT IGNORE INTO t1 VALUES (3);
DROP TABLE t1;

View File

@@ -0,0 +1,45 @@
drop procedure if exists test_error;
drop table if exists t1;
install plugin SQL_ERROR_LOG soname 'sql_errlog';
show variables like 'sql_error_log%';
Variable_name Value
sql_error_log_filename sql_errors.log
sql_error_log_rate 1
sql_error_log_rotate OFF
sql_error_log_rotations 9
sql_error_log_size_limit 1000000
set global sql_error_log_rate=1;
select * from t_doesnt_exist;
ERROR 42S02: Table 'test.t_doesnt_exist' doesn't exist
syntax_error_query;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'syntax_error_query' at line 1
CREATE PROCEDURE test_error()
BEGIN
DECLARE CONTINUE HANDLER
FOR 1146
BEGIN
RESIGNAL SQLSTATE '40000' SET
MYSQL_ERRNO = 1000,
MESSAGE_TEXT = 'new message';
END;
SELECT `c` FROM `temptab`;
END|
CALL test_error();
ERROR 40000: new message
drop procedure test_error;
SET SQL_MODE = STRICT_ALL_TABLES;
create table t1(id int);
insert into t1 values ('aa');
ERROR 22007: Incorrect integer value: 'aa' for column 'id' at row 1
SET SQL_MODE = '';
drop table t1;
uninstall plugin SQL_ERROR_LOG;
Warnings:
Warning 1620 Plugin is busy and will be uninstalled on shutdown
TIME HOSTNAME ERROR 1146: Table 'test.t_doesnt_exist' doesn't exist : select * from t_doesnt_exist
TIME HOSTNAME ERROR 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'syntax_error_query' at line 1 : syntax_error_query
TIME HOSTNAME ERROR 1146: Table 'test.temptab' doesn't exist : SELECT `c` FROM `temptab`
TIME HOSTNAME ERROR 1000: new message : RESIGNAL SQLSTATE '40000' SET
MYSQL_ERRNO = 1000,
MESSAGE_TEXT = 'new message'
TIME HOSTNAME ERROR 1366: Incorrect integer value: 'aa' for column 'id' at row 1 : insert into t1 values ('aa')

View File

@@ -0,0 +1,55 @@
--source include/not_embedded.inc
if (!$SQL_ERRLOG_SO) {
skip No SQL_ERROR_LOG plugin;
}
--disable_warnings
drop procedure if exists test_error;
drop table if exists t1;
--enable_warnings
install plugin SQL_ERROR_LOG soname 'sql_errlog';
show variables like 'sql_error_log%';
set global sql_error_log_rate=1;
--error ER_NO_SUCH_TABLE
select * from t_doesnt_exist;
--error 1064
syntax_error_query;
delimiter |;
CREATE PROCEDURE test_error()
BEGIN
DECLARE CONTINUE HANDLER
FOR 1146
BEGIN
RESIGNAL SQLSTATE '40000' SET
MYSQL_ERRNO = 1000,
MESSAGE_TEXT = 'new message';
END;
SELECT `c` FROM `temptab`;
END|
delimiter ;|
--error 1000
CALL test_error();
drop procedure test_error;
SET SQL_MODE = STRICT_ALL_TABLES;
create table t1(id int);
--error 1366
insert into t1 values ('aa');
SET SQL_MODE = '';
drop table t1;
uninstall plugin SQL_ERROR_LOG;
let $MYSQLD_DATADIR= `SELECT @@datadir`;
# replace the timestamp and the hostname with constant values
--replace_regex /[1-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [ 0-9][0-9]:[0-9][0-9]:[0-9][0-9] [^E]*/TIME HOSTNAME /
cat_file $MYSQLD_DATADIR/sql_errors.log;

View File

@@ -21,4 +21,7 @@ master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp1 LIKE tmp
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp2 SELECT * FROM tmp
DROP TEMPORARY TABLE tmp;
DROP TEMPORARY TABLE tmp1;
DROP TEMPORARY TABLE tmp2;
include/rpl_end.inc

View File

@@ -0,0 +1,14 @@
include/master-slave.inc
[connection master]
SET @debug_saved= @@GLOBAL.DEBUG_DBUG;
CREATE TABLE t (i INT);
SET GLOBAL DEBUG_DBUG= "d,wait_after_binlog_EOF";
INSERT INTO t VALUES (1);
INSERT INTO t VALUES (2);
FLUSH LOGS;
SET DEBUG_SYNC= 'now SIGNAL signal.rotate_finished';
include/diff_tables.inc [master:t,slave:t]
SET @@GLOBAL.DEBUG_DBUG= @debug_saved;
SET DEBUG_SYNC= 'RESET';
DROP TABLE t;
include/rpl_end.inc

View File

@@ -8,4 +8,5 @@ SET DEBUG_SYNC= "now WAIT_FOR m1_ready";
SET GLOBAL rpl_semi_sync_master_enabled = OFF;
SET DEBUG_SYNC= "now SIGNAL m1_cont";
DROP TABLE t1;
SET DEBUG_SYNC= "RESET";
include/rpl_end.inc

View File

@@ -43,4 +43,5 @@ t5 CREATE TABLE `t5` (
`created` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t2,t3,t5;
drop temporary table t4;
include/rpl_end.inc

View File

@@ -1604,8 +1604,14 @@ master-bin.000001 # Query # # COMMIT
SET @commands= 'clean';
DROP TABLE IF EXISTS tt_xx_1;
DROP TABLE IF EXISTS nt_xx_1;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_xx_1;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_xx_1;
DROP TABLE IF EXISTS nt_2;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2;
DROP TABLE IF EXISTS nt_1;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_1;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_1;
DROP TABLE IF EXISTS tt_2;
DROP TABLE IF EXISTS tt_1;
SET @commands= '';

View File

@@ -98,6 +98,7 @@ count(*)
103
unlock tables;
drop table if exists t1,t2,t3,t4;
drop temporary table temp_table;
End of 4.1 tests
show binlog events in 'non existing_binlog_file';
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log

View File

@@ -1667,8 +1667,14 @@ master-bin.000001 # Query # # COMMIT
SET @commands= 'clean';
DROP TABLE IF EXISTS tt_xx_1;
DROP TABLE IF EXISTS nt_xx_1;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_xx_1;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_xx_1;
DROP TABLE IF EXISTS nt_2;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2;
DROP TABLE IF EXISTS nt_1;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_1;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_1;
DROP TABLE IF EXISTS tt_2;
DROP TABLE IF EXISTS tt_1;
SET @commands= '';

View File

@@ -23,6 +23,7 @@ include/start_slave.inc
show status like 'slave_open_temp_tables';
Variable_name Value
Slave_open_temp_tables 0
drop temporary table if exists t1;
include/stop_slave.inc
reset slave;
include/check_slave_no_error.inc

View File

@@ -48,6 +48,7 @@ select (@id := id) - id from t2;
0
kill @id;
drop table t2;
drop temporary table t3;
Got one of the listed errors
include/wait_for_slave_sql_error_and_skip.inc [errno=1927]
select count(*) from t1;

View File

@@ -1654,8 +1654,14 @@ master-bin.000001 # Query # # ROLLBACK
SET @commands= 'clean';
DROP TABLE IF EXISTS tt_xx_1;
DROP TABLE IF EXISTS nt_xx_1;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_xx_1;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_xx_1;
DROP TABLE IF EXISTS nt_2;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_2;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_2;
DROP TABLE IF EXISTS nt_1;
DROP TEMPORARY TABLE IF EXISTS tt_tmp_1;
DROP TEMPORARY TABLE IF EXISTS nt_tmp_1;
DROP TABLE IF EXISTS tt_2;
DROP TABLE IF EXISTS tt_1;
SET @commands= '';

View File

@@ -79,6 +79,7 @@ COUNT(*)
FLUSH LOGS;
-------- switch to master --------
FLUSH LOGS;
DROP TEMPORARY TABLE IF EXISTS mysqltest1.tmp2;
DROP DATABASE mysqltest1;
End of 5.1 tests
#

View File

@@ -23,6 +23,7 @@ include/start_slave.inc
show status like 'slave_open_temp_tables';
Variable_name Value
Slave_open_temp_tables 1
drop temporary table if exists t1;
include/stop_slave.inc
reset slave;
include/check_slave_no_error.inc

View File

@@ -113,7 +113,6 @@ ROLLBACK;
[connection master]
SET DEBUG_SYNC= 'now SIGNAL signal.continue';
SET DEBUG_SYNC= 'now WAIT_FOR signal.continued';
SET DEBUG_SYNC= 'RESET';
[connection slave]
include/wait_for_slave_to_stop.inc
[connection slave1]
@@ -121,3 +120,4 @@ include/start_slave.inc
[connection master]
DROP TABLE t1, t2;
include/rpl_end.inc
SET DEBUG_SYNC= 'RESET';

View File

@@ -38,4 +38,8 @@ CREATE TEMPORARY TABLE IF NOT EXISTS tmp2 SELECT * FROM tmp;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp2 SELECT * FROM tmp;
source include/show_binlog_events.inc;
DROP TEMPORARY TABLE tmp;
DROP TEMPORARY TABLE tmp1;
DROP TEMPORARY TABLE tmp2;
--source include/rpl_end.inc

View File

@@ -0,0 +1,51 @@
#
# Whenever the mysql_binlog_send method (dump thread) reaches the
# end of file when reading events from the binlog, before checking
# if it should wait for more events, there was a test to check if
# the file being read was still active, i.e, it was the last known
# binlog. However, it was possible that something was written to
# the binary log and then a rotation would happen, after EOF was
# detected and before the check for active was performed. In this
# case, the end of the binary log would not be read by the dump
# thread, and this would cause the slave to lose updates.
#
# This test verifies that the problem has been fixed. It waits
# during this window while forcing a rotation in the binlog.
#
--source include/have_debug.inc
--source include/master-slave.inc
--connection master
SET @debug_saved= @@GLOBAL.DEBUG_DBUG;
CREATE TABLE t (i INT);
# When reaching the EOF the dump thread will wait before deciding if
# it should move to a new binlong file.
SET GLOBAL DEBUG_DBUG= "d,wait_after_binlog_EOF";
INSERT INTO t VALUES (1);
--sleep 1
# A insert and a rotate happens before the decision
INSERT INTO t VALUES (2);
FLUSH LOGS;
SET DEBUG_SYNC= 'now SIGNAL signal.rotate_finished';
--sync_slave_with_master
# All the rows should be sent to the slave.
--let $diff_tables=master:t,slave:t
--source include/diff_tables.inc
##Clean up
--connection master
SET @@GLOBAL.DEBUG_DBUG= @debug_saved;
SET DEBUG_SYNC= 'RESET';
DROP TABLE t;
--source include/rpl_end.inc

View File

@@ -27,5 +27,6 @@ SET DEBUG_SYNC= "now SIGNAL m1_cont";
connection master;
DROP TABLE t1;
SET DEBUG_SYNC= "RESET";
--source include/rpl_end.inc

View File

@@ -44,6 +44,7 @@ show create table t3;
show create table t5;
connection master;
drop table t2,t3,t5;
drop temporary table t4;
sync_slave_with_master;
# End of 4.1 tests

View File

@@ -176,6 +176,7 @@ unlock tables;
#clean up
connection master;
drop table if exists t1,t2,t3,t4;
drop temporary table temp_table;
sync_slave_with_master;
--echo End of 4.1 tests

View File

@@ -92,8 +92,8 @@ let $wait_condition= SELECT count(*) > 0 FROM information_schema.processlist WHE
source include/wait_condition.inc;
select (@id := id) - id from t2;
kill @id;
# We don't drop t3 as this is a temporary table
drop table t2;
drop temporary table t3;
connection master;
# The get_lock function causes warning for unsafe statement.
--disable_warnings

View File

@@ -107,7 +107,6 @@ ROLLBACK;
--source include/rpl_connection_master.inc
SET DEBUG_SYNC= 'now SIGNAL signal.continue';
SET DEBUG_SYNC= 'now WAIT_FOR signal.continued';
SET DEBUG_SYNC= 'RESET';
--source include/rpl_connection_slave.inc
source include/wait_for_slave_to_stop.inc;
@@ -122,3 +121,4 @@ DROP TABLE t1, t2;
eval SET GLOBAL debug_dbug= '$debug_save';
--enable_query_log
--source include/rpl_end.inc
SET DEBUG_SYNC= 'RESET';

View File

@@ -0,0 +1,174 @@
SET @global_start_value = @@global.old_mode;
SELECT @global_start_value;
@global_start_value
SET @session_start_value = @@session.old_mode;
SELECT @session_start_value;
@session_start_value
'#--------------------FN_DYNVARS_152_01------------------------#'
SET @@global.old_mode = "NO_PROGRESS_INFO";
SET @@global.old_mode = DEFAULT;
SELECT @@global.old_mode;
@@global.old_mode
SET @@session.old_mode = "NO_PROGRESS_INFO";
SET @@session.old_mode = DEFAULT;
SELECT @@session.old_mode;
@@session.old_mode
'#---------------------FN_DYNVARS_152_02-------------------------#'
SET @@global.old_mode = NULL;
ERROR 42000: Variable 'old_mode' can't be set to the value of 'NULL'
SET @@global.old_mode = '';
SELECT @@global.old_mode;
@@global.old_mode
SET @@global.old_mode = ' ';
SELECT @@global.old_mode;
@@global.old_mode
SET @@session.old_mode = NULL;
ERROR 42000: Variable 'old_mode' can't be set to the value of 'NULL'
SET @@session.old_mode = '';
SELECT @@session.old_mode;
@@session.old_mode
SET @@session.old_mode = ' ';
SELECT @@session.old_mode;
@@session.old_mode
'#--------------------FN_DYNVARS_152_03------------------------#'
SET @@global.old_mode = NO_PROGRESS_INFO;
SELECT @@global.old_mode;
@@global.old_mode
NO_PROGRESS_INFO
SET @@global.old_mode = NO_DUP_KEY_WARNINGS_WITH_IGNORE;
SELECT @@global.old_mode;
@@global.old_mode
NO_DUP_KEY_WARNINGS_WITH_IGNORE
SET @@global.old_mode = OFF;
ERROR 42000: Variable 'old_mode' can't be set to the value of 'OFF'
SET @@session.old_mode = NO_PROGRESS_INFO;
SELECT @@session.old_mode;
@@session.old_mode
NO_PROGRESS_INFO
SET @@session.old_mode = NO_DUP_KEY_WARNINGS_WITH_IGNORE;
SELECT @@session.old_mode;
@@session.old_mode
NO_DUP_KEY_WARNINGS_WITH_IGNORE
SET @@session.old_mode = OFF;
ERROR 42000: Variable 'old_mode' can't be set to the value of 'OFF'
SET @@global.old_mode = '?';
ERROR 42000: Variable 'old_mode' can't be set to the value of '?'
SELECT @@global.old_mode;
@@global.old_mode
NO_DUP_KEY_WARNINGS_WITH_IGNORE
'#--------------------FN_DYNVARS_152_04-------------------------#'
SET @@global.old_mode = -1;
ERROR 42000: Variable 'old_mode' can't be set to the value of '-1'
SET @@global.old_mode = ASCII;
ERROR 42000: Variable 'old_mode' can't be set to the value of 'ASCII'
SET @@global.old_mode = NON_TRADITIONAL;
ERROR 42000: Variable 'old_mode' can't be set to the value of 'NON_TRADITIONAL'
SET @@global.old_mode = 'OF';
ERROR 42000: Variable 'old_mode' can't be set to the value of 'OF'
SET @@global.old_mode = NONE;
ERROR 42000: Variable 'old_mode' can't be set to the value of 'NONE'
SET @@session.old_mode = -1;
ERROR 42000: Variable 'old_mode' can't be set to the value of '-1'
SET @@session.old_mode = ANSI_SINGLE_QUOTES;
ERROR 42000: Variable 'old_mode' can't be set to the value of 'ANSI_SINGLE_QUOTES'
SET @@session.old_mode = 'ON';
ERROR 42000: Variable 'old_mode' can't be set to the value of 'ON'
SET @@session.old_mode = 'OF';
ERROR 42000: Variable 'old_mode' can't be set to the value of 'OF'
SET @@session.old_mode = DISABLE;
ERROR 42000: Variable 'old_mode' can't be set to the value of 'DISABLE'
'#-------------------FN_DYNVARS_152_05----------------------------#'
SELECT @@session.old_mode = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='old_mode';
@@session.old_mode = VARIABLE_VALUE
1
'#----------------------FN_DYNVARS_152_06------------------------#'
SELECT @@global.old_mode = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='old_mode';
@@global.old_mode = VARIABLE_VALUE
1
'#---------------------FN_DYNVARS_152_07-------------------------#'
SET @@global.old_mode = 0;
SELECT @@global.old_mode;
@@global.old_mode
SET @@global.old_mode = 1;
SELECT @@global.old_mode;
@@global.old_mode
NO_DUP_KEY_WARNINGS_WITH_IGNORE
SET @@global.old_mode = 2;
SELECT @@global.old_mode;
@@global.old_mode
NO_PROGRESS_INFO
SET @@global.old_mode = 4;
ERROR 42000: Variable 'old_mode' can't be set to the value of '4'
SELECT @@global.old_mode;
@@global.old_mode
NO_PROGRESS_INFO
SET @@global.old_mode = 0.4;
ERROR 42000: Incorrect argument type to variable 'old_mode'
'#---------------------FN_DYNVARS_152_08----------------------#'
SET @@global.old_mode = TRUE;
SELECT @@global.old_mode;
@@global.old_mode
NO_DUP_KEY_WARNINGS_WITH_IGNORE
SET @@global.old_mode = FALSE;
SELECT @@global.old_mode;
@@global.old_mode
'#---------------------FN_DYNVARS_152_09----------------------#'
SET old_mode = 'NO_PROGRESS_INFO';
SET session.old_mode = 'ANSI';
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'old_mode = 'ANSI'' at line 1
SET global.old_mode = 'ANSI';
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'old_mode = 'ANSI'' at line 1
SET session old_mode = 1;
SELECT @@old_mode;
@@old_mode
NO_DUP_KEY_WARNINGS_WITH_IGNORE
SET global old_mode = 0;
SELECT @@global.old_mode;
@@global.old_mode
'#---------------------FN_DYNVARS_152_10----------------------#'
SET @@session.old_mode = 'NO_PROGRESS_INFO,NO_DUP_KEY_WARNINGS_WITH_IGNORE';
SELECT @@session.old_mode;
@@session.old_mode
NO_DUP_KEY_WARNINGS_WITH_IGNORE,NO_PROGRESS_INFO
SET @@global.old_mode = 'NO_DUP_KEY_WARNINGS_WITH_IGNORE,NO_PROGRESS_INFO';
SELECT @@global.old_mode;
@@global.old_mode
NO_DUP_KEY_WARNINGS_WITH_IGNORE,NO_PROGRESS_INFO
SET @@session.old_mode = 'NO_PROGRESS_INFO,NO_SUCH_MODE';
ERROR 42000: Variable 'old_mode' can't be set to the value of 'NO_SUCH_MODE'
SET @@old_mode=',';
SELECT @@old_mode;
@@old_mode
SET @@old_mode=',,,,NO_PROGRESS_INFO,,,';
SELECT @@old_mode;
@@old_mode
NO_PROGRESS_INFO
SET @@old_mode=',,,,FOOBAR,,,,,';
ERROR 42000: Variable 'old_mode' can't be set to the value of 'FOOBAR'
SELECT @@old_mode;
@@old_mode
NO_PROGRESS_INFO
SET @@global.old_mode = @global_start_value;
SELECT @@global.old_mode;
@@global.old_mode
SET @@session.old_mode = @session_start_value;
SELECT @@session.old_mode;
@@session.old_mode

View File

@@ -1,9 +1,3 @@
--source include/not_windows_embedded.inc
# remove this when
# Bug#53947 InnoDB: Assertion failure in thread 4224 in file
# .\sync\sync0sync.c line 324
# is fixed
#################### mysql-test\t\identity_func.test ##########################
# #
# Variable Name: identity #

View File

@@ -1,9 +1,3 @@
--source include/not_windows_embedded.inc
# remove this when
# Bug#53947 InnoDB: Assertion failure in thread 4224 in file
# .\sync\sync0sync.c line 324
# is fixed
################# mysql-test\t\innodb_autoinc_lock_mode_func.test ############
# #
# Variable Name: innodb_autoinc_lock_mode #

View File

@@ -1,9 +1,3 @@
--source include/not_windows_embedded.inc
# remove this when
# Bug#53947 InnoDB: Assertion failure in thread 4224 in file
# .\sync\sync0sync.c line 324
# is fixed
################# mysql-test\t\last_insert_id_func.test #######################
# #
# Variable Name: last_insert_id #

View File

@@ -0,0 +1,244 @@
#################### mysql-test\t\sql_mode_basic.test #########################
# #
# Variable Name: old_mode #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: enumeration #
# Default Value: YES #
# Valid Values : NO_DUP_KEY_WARNINGS_WITH_IGNORE, NO_PROGRESS_INFO #
# #
# #
# Description: Test Cases of Dynamic System Variable old_mode #
# that checks the behavior of this variable in the following ways#
# * Default Value #
# * Valid & Invalid values #
# * Scope & Access method #
# * Data Integrity #
# #
# #
###############################################################################
--source include/load_sysvars.inc
################################################################
# START OF sql_mode TESTS #
################################################################
###################################################################
# Saving initial value of sql_mode in a temporary variable #
###################################################################
SET @global_start_value = @@global.old_mode;
SELECT @global_start_value;
SET @session_start_value = @@session.old_mode;
SELECT @session_start_value;
--echo '#--------------------FN_DYNVARS_152_01------------------------#'
################################################################
# Display the DEFAULT value of old_mode #
################################################################
SET @@global.old_mode = "NO_PROGRESS_INFO";
SET @@global.old_mode = DEFAULT;
SELECT @@global.old_mode;
SET @@session.old_mode = "NO_PROGRESS_INFO";
SET @@session.old_mode = DEFAULT;
SELECT @@session.old_mode;
--echo '#---------------------FN_DYNVARS_152_02-------------------------#'
#########################################################
# Check if NULL or empty value is accepeted #
#########################################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.old_mode = NULL;
# resets sql mode to nothing
SET @@global.old_mode = '';
SELECT @@global.old_mode;
SET @@global.old_mode = ' ';
SELECT @@global.old_mode;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.old_mode = NULL;
SET @@session.old_mode = '';
SELECT @@session.old_mode;
SET @@session.old_mode = ' ';
SELECT @@session.old_mode;
--echo '#--------------------FN_DYNVARS_152_03------------------------#'
########################################################################
# Change the value of old_mode to a valid value #
########################################################################
# sql modes ref: http://dev.mysql.com/doc/refman/5.1/en/server-sql-mode.html
# check valid values for global
SET @@global.old_mode = NO_PROGRESS_INFO;
SELECT @@global.old_mode;
SET @@global.old_mode = NO_DUP_KEY_WARNINGS_WITH_IGNORE;
SELECT @@global.old_mode;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.old_mode = OFF;
#check valid values for session
SET @@session.old_mode = NO_PROGRESS_INFO;
SELECT @@session.old_mode;
SET @@session.old_mode = NO_DUP_KEY_WARNINGS_WITH_IGNORE;
SELECT @@session.old_mode;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.old_mode = OFF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.old_mode = '?';
SELECT @@global.old_mode;
--echo '#--------------------FN_DYNVARS_152_04-------------------------#'
###########################################################################
# Change the value of old_mode to invalid value #
###########################################################################
# invalid values for global
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.old_mode = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.old_mode = ASCII;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.old_mode = NON_TRADITIONAL;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.old_mode = 'OF';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.old_mode = NONE;
#invalid values for session
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.old_mode = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.old_mode = ANSI_SINGLE_QUOTES;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.old_mode = 'ON';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.old_mode = 'OF';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.old_mode = DISABLE;
--echo '#-------------------FN_DYNVARS_152_05----------------------------#'
#########################################################################
# Check if the value in session Table matches value in variable #
#########################################################################
SELECT @@session.old_mode = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='old_mode';
--echo '#----------------------FN_DYNVARS_152_06------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
SELECT @@global.old_mode = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='old_mode';
--echo '#---------------------FN_DYNVARS_152_07-------------------------#'
###################################################################
# Check if numbers can be used on variable #
###################################################################
# test if variable accepts 0,1,2
SET @@global.old_mode = 0;
SELECT @@global.old_mode;
SET @@global.old_mode = 1;
SELECT @@global.old_mode;
SET @@global.old_mode = 2;
SELECT @@global.old_mode;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.old_mode = 4;
SELECT @@global.old_mode;
# use of decimal values
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.old_mode = 0.4;
--echo '#---------------------FN_DYNVARS_152_08----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@global.old_mode = TRUE;
SELECT @@global.old_mode;
SET @@global.old_mode = FALSE;
SELECT @@global.old_mode;
--echo '#---------------------FN_DYNVARS_152_09----------------------#'
#########################################################################
# Check if old_mode can be accessed with and without @@ sign #
#########################################################################
SET old_mode = 'NO_PROGRESS_INFO';
--Error ER_PARSE_ERROR
SET session.old_mode = 'ANSI';
--Error ER_PARSE_ERROR
SET global.old_mode = 'ANSI';
SET session old_mode = 1;
SELECT @@old_mode;
SET global old_mode = 0;
SELECT @@global.old_mode;
--echo '#---------------------FN_DYNVARS_152_10----------------------#'
#######################################################################
# Check if old_mode values can be combined as specified #
#######################################################################
SET @@session.old_mode = 'NO_PROGRESS_INFO,NO_DUP_KEY_WARNINGS_WITH_IGNORE';
SELECT @@session.old_mode;
SET @@global.old_mode = 'NO_DUP_KEY_WARNINGS_WITH_IGNORE,NO_PROGRESS_INFO';
SELECT @@global.old_mode;
#try combining invalid mode with correct mode
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.old_mode = 'NO_PROGRESS_INFO,NO_SUCH_MODE';
#zero-length values are ok
SET @@old_mode=',';
SELECT @@old_mode;
SET @@old_mode=',,,,NO_PROGRESS_INFO,,,';
SELECT @@old_mode;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@old_mode=',,,,FOOBAR,,,,,';
SELECT @@old_mode;
##############################
# Restore initial value #
##############################
SET @@global.old_mode = @global_start_value;
SELECT @@global.old_mode;
SET @@session.old_mode = @session_start_value;
SELECT @@session.old_mode;
################################################################
# END OF old_mode TESTS #
################################################################

View File

@@ -1,9 +1,3 @@
--source include/not_windows_embedded.inc
# remove this when
# Bug#53947 InnoDB: Assertion failure in thread 4224 in file
# .\sync\sync0sync.c line 324
# is fixed
############## mysql-test\t\storage_engine_basic.test ##################
# #
# #

View File

@@ -1,9 +1,3 @@
--source include/not_windows_embedded.inc
# remove this when
# Bug#53947 InnoDB: Assertion failure in thread 4224 in file
# .\sync\sync0sync.c line 324
# is fixed
############# mysql-test\t\tx_isolation_func.test #######################################
# #
# Variable Name: tx_isolation #