Merge pilot.mysql.com:/data/msvensson/mysql/mysql-5.1
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-rpl
This commit is contained in:
commit
69a755d6a0
@ -1887,6 +1887,18 @@ void var_set_errno(int sql_errno)
|
|||||||
var_set_int("$mysql_errno", sql_errno);
|
var_set_int("$mysql_errno", sql_errno);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Update $mysql_get_server_version variable with version
|
||||||
|
of the currently connected server
|
||||||
|
*/
|
||||||
|
|
||||||
|
void var_set_mysql_get_server_version(MYSQL* mysql)
|
||||||
|
{
|
||||||
|
var_set_int("$mysql_get_server_version", mysql_get_server_version(mysql));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Set variable from the result of a query
|
Set variable from the result of a query
|
||||||
|
|
||||||
@ -2196,7 +2208,7 @@ int open_file(const char *name)
|
|||||||
if (!(cur_file->file = my_fopen(buff, O_RDONLY | FILE_BINARY, MYF(0))))
|
if (!(cur_file->file = my_fopen(buff, O_RDONLY | FILE_BINARY, MYF(0))))
|
||||||
{
|
{
|
||||||
cur_file--;
|
cur_file--;
|
||||||
die("Could not open file '%s'", buff);
|
die("Could not open '%s' for reading", buff);
|
||||||
}
|
}
|
||||||
cur_file->file_name= my_strdup(buff, MYF(MY_FAE));
|
cur_file->file_name= my_strdup(buff, MYF(MY_FAE));
|
||||||
cur_file->lineno=1;
|
cur_file->lineno=1;
|
||||||
@ -4016,6 +4028,10 @@ int select_connection_name(const char *name)
|
|||||||
|
|
||||||
if (!(cur_con= find_connection_by_name(name)))
|
if (!(cur_con= find_connection_by_name(name)))
|
||||||
die("connection '%s' not found in connection pool", name);
|
die("connection '%s' not found in connection pool", name);
|
||||||
|
|
||||||
|
/* Update $mysql_get_server_version to that of current connection */
|
||||||
|
var_set_mysql_get_server_version(&cur_con->mysql);
|
||||||
|
|
||||||
DBUG_RETURN(0);
|
DBUG_RETURN(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4403,6 +4419,9 @@ void do_connect(struct st_command *command)
|
|||||||
next_con++; /* if we used the next_con slot, advance the pointer */
|
next_con++; /* if we used the next_con slot, advance the pointer */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Update $mysql_get_server_version to that of current connection */
|
||||||
|
var_set_mysql_get_server_version(&cur_con->mysql);
|
||||||
|
|
||||||
dynstr_free(&ds_connection_name);
|
dynstr_free(&ds_connection_name);
|
||||||
dynstr_free(&ds_host);
|
dynstr_free(&ds_host);
|
||||||
dynstr_free(&ds_user);
|
dynstr_free(&ds_user);
|
||||||
@ -5245,7 +5264,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
|||||||
DBUG_ASSERT(cur_file == file_stack && cur_file->file == 0);
|
DBUG_ASSERT(cur_file == file_stack && cur_file->file == 0);
|
||||||
if (!(cur_file->file=
|
if (!(cur_file->file=
|
||||||
my_fopen(buff, O_RDONLY | FILE_BINARY, MYF(0))))
|
my_fopen(buff, O_RDONLY | FILE_BINARY, MYF(0))))
|
||||||
die("Could not open %s: errno = %d", buff, errno);
|
die("Could not open '%s' for reading: errno = %d", buff, errno);
|
||||||
cur_file->file_name= my_strdup(buff, MYF(MY_FAE));
|
cur_file->file_name= my_strdup(buff, MYF(MY_FAE));
|
||||||
cur_file->lineno= 1;
|
cur_file->lineno= 1;
|
||||||
break;
|
break;
|
||||||
@ -5362,9 +5381,9 @@ void str_to_file2(const char *fname, char *str, int size, my_bool append)
|
|||||||
flags|= O_TRUNC;
|
flags|= O_TRUNC;
|
||||||
if ((fd= my_open(buff, flags,
|
if ((fd= my_open(buff, flags,
|
||||||
MYF(MY_WME | MY_FFNF))) < 0)
|
MYF(MY_WME | MY_FFNF))) < 0)
|
||||||
die("Could not open %s: errno = %d", buff, errno);
|
die("Could not open '%s' for writing: errno = %d", buff, errno);
|
||||||
if (append && my_seek(fd, 0, SEEK_END, MYF(0)) == MY_FILEPOS_ERROR)
|
if (append && my_seek(fd, 0, SEEK_END, MYF(0)) == MY_FILEPOS_ERROR)
|
||||||
die("Could not find end of file %s: errno = %d", buff, errno);
|
die("Could not find end of file '%s': errno = %d", buff, errno);
|
||||||
if (my_write(fd, (uchar*)str, size, MYF(MY_WME|MY_FNABP)))
|
if (my_write(fd, (uchar*)str, size, MYF(MY_WME|MY_FNABP)))
|
||||||
die("write failed");
|
die("write failed");
|
||||||
my_close(fd, MYF(0));
|
my_close(fd, MYF(0));
|
||||||
@ -6928,6 +6947,9 @@ int main(int argc, char **argv)
|
|||||||
*/
|
*/
|
||||||
var_set_errno(-1);
|
var_set_errno(-1);
|
||||||
|
|
||||||
|
/* Update $mysql_get_server_version to that of current connection */
|
||||||
|
var_set_mysql_get_server_version(&cur_con->mysql);
|
||||||
|
|
||||||
if (opt_include)
|
if (opt_include)
|
||||||
{
|
{
|
||||||
open_file(opt_include);
|
open_file(opt_include);
|
||||||
|
@ -282,6 +282,7 @@ typedef struct charset_info_st
|
|||||||
MY_COLLATION_HANDLER *coll;
|
MY_COLLATION_HANDLER *coll;
|
||||||
|
|
||||||
} CHARSET_INFO;
|
} CHARSET_INFO;
|
||||||
|
#define ILLEGAL_CHARSET_INFO_NUMBER (~0U)
|
||||||
|
|
||||||
|
|
||||||
extern CHARSET_INFO my_charset_bin;
|
extern CHARSET_INFO my_charset_bin;
|
||||||
|
@ -404,8 +404,10 @@ DROP TABLE t4;
|
|||||||
|
|
||||||
SET collation_connection='cp932_japanese_ci';
|
SET collation_connection='cp932_japanese_ci';
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
SET collation_connection='cp932_bin';
|
SET collation_connection='cp932_bin';
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug#29333 myisam corruption with
|
# Bug#29333 myisam corruption with
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
-- source include/have_log_bin.inc
|
-- source include/have_log_bin.inc
|
||||||
-- source include/have_innodb.inc
|
-- source include/have_innodb.inc
|
||||||
-- source include/have_debug.inc
|
|
||||||
|
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
drop table if exists t1, t2;
|
drop table if exists t1, t2;
|
||||||
|
@ -403,45 +403,38 @@ sync_slave_with_master;
|
|||||||
# added columns do not have default values#
|
# added columns do not have default values#
|
||||||
# Expect: Proper error message #
|
# Expect: Proper error message #
|
||||||
###########################################
|
###########################################
|
||||||
# Commented out due to Bug #23907 Extra Slave Col is not
|
# Bug#22234, Bug#23907 Extra Slave Col is not
|
||||||
# erroring on extra col with no default values.
|
# erroring on extra col with no default values.
|
||||||
########################################################
|
########################################################
|
||||||
#--echo *** Create t9 on slave ***
|
#--echo *** Create t9 on slave ***
|
||||||
#STOP SLAVE;
|
STOP SLAVE;
|
||||||
#RESET SLAVE;
|
RESET SLAVE;
|
||||||
#eval CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
|
eval CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
|
||||||
# d TIMESTAMP,
|
d TIMESTAMP,
|
||||||
# e INT DEFAULT '1')ENGINE=$engine_type;
|
e INT NOT NULL) ENGINE=$engine_type;
|
||||||
|
|
||||||
#--echo *** Create t9 on Master ***
|
--echo *** Create t9 on Master ***
|
||||||
#connection master;
|
connection master;
|
||||||
#eval CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
|
eval CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
|
||||||
# ) ENGINE=$engine_type;
|
) ENGINE=$engine_type;
|
||||||
#RESET MASTER;
|
RESET MASTER;
|
||||||
|
|
||||||
#--echo *** Start Slave ***
|
--echo *** Start Slave ***
|
||||||
#connection slave;
|
connection slave;
|
||||||
#START SLAVE;
|
START SLAVE;
|
||||||
|
|
||||||
#--echo *** Master Data Insert ***
|
--echo *** Master Data Insert ***
|
||||||
#connection master;
|
connection master;
|
||||||
#set @b1 = 'b1b1b1b1';
|
set @b1 = 'b1b1b1b1';
|
||||||
#set @b1 = concat(@b1,@b1);
|
set @b1 = concat(@b1,@b1);
|
||||||
#INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
|
INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
|
||||||
|
|
||||||
#--echo *************************************************
|
--source include/wait_for_slave_sql_to_stop.inc
|
||||||
#--echo ** Currently giving wrong error see bug#22234 ***
|
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||||
#--echo *************************************************
|
--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
|
||||||
#sync_slave_with_master;
|
--query_vertical SHOW SLAVE STATUS
|
||||||
#connection slave;
|
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
||||||
|
START SLAVE;
|
||||||
#--echo *** Select from T9 ***
|
|
||||||
#--source include/wait_for_slave_sql_to_stop.inc
|
|
||||||
#--replace_result $MASTER_MYPORT MASTER_PORT
|
|
||||||
#--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
|
|
||||||
#--query_vertical SHOW SLAVE STATUS
|
|
||||||
#SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
|
||||||
#START SLAVE;
|
|
||||||
|
|
||||||
#--echo *** Drop t9 ***
|
#--echo *** Drop t9 ***
|
||||||
#connection master;
|
#connection master;
|
||||||
|
@ -39,13 +39,6 @@ sync_with_master;
|
|||||||
|
|
||||||
select * from t1;
|
select * from t1;
|
||||||
select * from t3;
|
select * from t3;
|
||||||
# We want to be sure that LOAD DATA is in the slave's binlog.
|
|
||||||
# But we can't simply read this binlog, because as the slave has not been
|
|
||||||
# restarted for this test, the file_id is uncertain (would cause test
|
|
||||||
# failures). So instead, we test if the binlog looks long enough to
|
|
||||||
# contain LOAD DATA. Since 5.0.3 we assume that binlog of 1292 is ok.
|
|
||||||
# If LOAD DATA was not logged, the binlog would be shorter.
|
|
||||||
show master status;
|
|
||||||
|
|
||||||
connection master;
|
connection master;
|
||||||
|
|
||||||
|
@ -148,5 +148,5 @@ drop table t1;
|
|||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
|
||||||
sync_with_master;
|
sync_slave_with_master;
|
||||||
|
|
||||||
|
@ -342,5 +342,6 @@ SHOW CREATE TABLE t1;
|
|||||||
--echo --- Do Cleanup ---
|
--echo --- Do Cleanup ---
|
||||||
|
|
||||||
DROP TABLE IF EXISTS t1;
|
DROP TABLE IF EXISTS t1;
|
||||||
|
sync_slave_with_master;
|
||||||
|
|
||||||
# End of 5.1 test case
|
# End of 5.1 test case
|
||||||
|
@ -341,6 +341,14 @@ drop function if exists f1;
|
|||||||
drop procedure if exists p_verify_status_increment;
|
drop procedure if exists p_verify_status_increment;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
|
# Save binlog_format in a user variable. References to system
|
||||||
|
# variables are "unsafe", meaning they are written as rows instead of
|
||||||
|
# as statements to the binlog, if the loggging mode is 'mixed'. But
|
||||||
|
# we don't want p_verify_status_increment to affect the logging mode.
|
||||||
|
# Hence, we save binlog_format in a user variable (which is not
|
||||||
|
# unsafe) and use that inside p_verify_status_increment.
|
||||||
|
set @binlog_format=@@global.binlog_format;
|
||||||
|
|
||||||
set sql_mode=no_engine_substitution;
|
set sql_mode=no_engine_substitution;
|
||||||
create table t1 (a int unique);
|
create table t1 (a int unique);
|
||||||
create table t2 (a int) engine=myisam;
|
create table t2 (a int) engine=myisam;
|
||||||
@ -367,7 +375,7 @@ begin
|
|||||||
where variable_name='Handler_commit' or variable_name='Handler_prepare'
|
where variable_name='Handler_commit' or variable_name='Handler_prepare'
|
||||||
order by variable_name;
|
order by variable_name;
|
||||||
|
|
||||||
if @@global.binlog_format = 'ROW' then
|
if @binlog_format = 'ROW' then
|
||||||
set commit_inc= commit_inc_row;
|
set commit_inc= commit_inc_row;
|
||||||
set prepare_inc= prepare_inc_row;
|
set prepare_inc= prepare_inc_row;
|
||||||
else
|
else
|
||||||
|
40
mysql-test/include/ctype_german.inc
Normal file
40
mysql-test/include/ctype_german.inc
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
#
|
||||||
|
# Bug #27877 incorrect german order in utf8_general_ci
|
||||||
|
#
|
||||||
|
# Testing if "SHARP S" is equal to "S",
|
||||||
|
# like in latin1_german1_ci, utf8_general_ci, ucs2_general_ci
|
||||||
|
# Or if "SHART S" is equal to "SS",
|
||||||
|
# like in latin1_german2_ci, utf8_unicode_ci, ucs2_unicode_ci
|
||||||
|
#
|
||||||
|
# Also testing A-uml, O-uml, U-uml
|
||||||
|
#
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
#
|
||||||
|
# Create a table with a varchar(x) column,
|
||||||
|
# using current values of
|
||||||
|
# @@character_set_connection and @@collation_connection.
|
||||||
|
#
|
||||||
|
|
||||||
|
create table t1 as select repeat(' ', 64) as s1;
|
||||||
|
select collation(s1) from t1;
|
||||||
|
delete from t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Populate data
|
||||||
|
#
|
||||||
|
|
||||||
|
insert into t1 values ('a'),('ae'),(_latin1 0xE4);
|
||||||
|
insert into t1 values ('o'),('oe'),(_latin1 0xF6);
|
||||||
|
insert into t1 values ('s'),('ss'),(_latin1 0xDF);
|
||||||
|
insert into t1 values ('u'),('ue'),(_latin1 0xFC);
|
||||||
|
|
||||||
|
#
|
||||||
|
# Check order
|
||||||
|
#
|
||||||
|
select s1, hex(s1) from t1 order by s1, binary s1;
|
||||||
|
select group_concat(s1 order by binary s1) from t1 group by s1;
|
||||||
|
drop table t1;
|
25
mysql-test/include/ctype_like_range_f1f2.inc
Normal file
25
mysql-test/include/ctype_like_range_f1f2.inc
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#
|
||||||
|
# Bug#32510 LIKE search fails with indexed 'eucjpms' and 'ujis' char column
|
||||||
|
#
|
||||||
|
# Testing my_ctype_like_range_xxx
|
||||||
|
# (used in LIKE optimization for an indexed column)
|
||||||
|
#
|
||||||
|
|
||||||
|
# Create table using @@character_set_connection and @@collation_connection
|
||||||
|
# for the string columns.
|
||||||
|
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
|
||||||
|
# Check pattern (important for ucs2, utf16, utf32)
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
|
||||||
|
--echo 3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
DROP TABLE t1;
|
122
mysql-test/include/diff_tables.inc
Normal file
122
mysql-test/include/diff_tables.inc
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
# ==== Purpose ====
|
||||||
|
#
|
||||||
|
# Check if the two given tables (possibly residing on different
|
||||||
|
# master/slave servers) are equal.
|
||||||
|
#
|
||||||
|
# ==== Usage ====
|
||||||
|
#
|
||||||
|
# The tables to check are given by the test language variables
|
||||||
|
# $diff_table_1 and $diff_table_2. They must be of the
|
||||||
|
# following form:
|
||||||
|
#
|
||||||
|
# [master:|slave:]database.table
|
||||||
|
#
|
||||||
|
# I.e., both database and table must be speicified. Optionally, you
|
||||||
|
# can prefix the name with 'master:' (to read the table on master) or
|
||||||
|
# with 'slave:' (to read the table on slave). If no prefix is given,
|
||||||
|
# reads the table from the current connection. If one of these
|
||||||
|
# variables has a prefix, both should have a prefix.
|
||||||
|
#
|
||||||
|
# ==== Side effects ====
|
||||||
|
#
|
||||||
|
# - Prints "Comparing tables $diff_table_1 and $diff_tables_2".
|
||||||
|
#
|
||||||
|
# - If the tables are different, prints the difference in a
|
||||||
|
# system-specific format (unified diff if supported) and generates
|
||||||
|
# an error.
|
||||||
|
#
|
||||||
|
# - If $diff_table_1 or $diff_table_2 begins with 'master:' or
|
||||||
|
# 'slave:', it will stay connected to one of those hosts after
|
||||||
|
# execution. The host is only guaranteed to remain unchanged if
|
||||||
|
# none of $diff_table_1 or $diff_table_2 begins with 'master:' or
|
||||||
|
# 'slave:'.
|
||||||
|
#
|
||||||
|
# ==== Bugs ====
|
||||||
|
#
|
||||||
|
# - It is currently not possible to use this for tables that are
|
||||||
|
# supposed to be different, because if the files are different:
|
||||||
|
# - 'diff' produces system-dependent output,
|
||||||
|
# - the output includes the absolute path of the compared files,
|
||||||
|
# - the output includes a timestamp.
|
||||||
|
# To fix that, we'd probably have to use SQL to compute the
|
||||||
|
# symmetric difference between the tables. I'm not sure how to do
|
||||||
|
# that efficiently. If we implement this, it would be nice to
|
||||||
|
# compare the table definitions too.
|
||||||
|
#
|
||||||
|
# - It actually compares the result of "SELECT * FROM table ORDER BY
|
||||||
|
# col1, col2, ..., colN INTO OUTFILE 'file'". Hence, it is assumed
|
||||||
|
# that the comparison orders for both tables are equal and that two
|
||||||
|
# rows that are equal in the comparison order cannot differ, e.g.,
|
||||||
|
# by character case.
|
||||||
|
|
||||||
|
|
||||||
|
# ==== Save both tables to file ====
|
||||||
|
|
||||||
|
--echo Comparing tables $diff_table_1 and $diff_table_2
|
||||||
|
disable_query_log;
|
||||||
|
|
||||||
|
--error 0,1
|
||||||
|
--remove_file $MYSQLTEST_VARDIR/tmp/diff_table_1
|
||||||
|
--error 0,1
|
||||||
|
--remove_file $MYSQLTEST_VARDIR/tmp/diff_table_2
|
||||||
|
|
||||||
|
let $_diff_table=$diff_table_2;
|
||||||
|
let $_diff_i=2;
|
||||||
|
while ($_diff_i) {
|
||||||
|
|
||||||
|
# Parse out any leading "master:" or "slave:" from the table
|
||||||
|
# specification and connect the appropriate server.
|
||||||
|
let $_diff_conn_master=`SELECT SUBSTR('$_diff_table', 1, 7) = 'master:'`;
|
||||||
|
if ($_diff_conn_master) {
|
||||||
|
let $_diff_table=`SELECT SUBSTR('$_diff_table', 8)`;
|
||||||
|
connection master;
|
||||||
|
}
|
||||||
|
let $_diff_conn_slave=`SELECT SUBSTR('$_diff_table', 1, 6) = 'slave:'`;
|
||||||
|
if ($_diff_conn_slave) {
|
||||||
|
let $_diff_table=`SELECT SUBSTR('$_diff_table', 7)`;
|
||||||
|
connection slave;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Sanity-check the input.
|
||||||
|
let $_diff_error= `SELECT '$_diff_table' NOT LIKE '_%._%'`;
|
||||||
|
if ($_diff_error) {
|
||||||
|
--echo !!!ERROR IN TEST: \$diff_table_$_diff_i='$_diff_table' is not in the form database.table
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
# We need the output files to be sorted (so that diff_files does not
|
||||||
|
# think the files are different just because they are differently
|
||||||
|
# ordered). To this end, we first generate a query that sorts the
|
||||||
|
# table by all columns. Since ORDER BY accept column indices, we
|
||||||
|
# just generate a comma-separated list of all numbers from 1 to the
|
||||||
|
# number of columns in the table.
|
||||||
|
let $_diff_column_index=`SELECT MAX(ordinal_position)
|
||||||
|
FROM information_schema.columns
|
||||||
|
WHERE CONCAT(table_schema, '.', table_name) =
|
||||||
|
'$_diff_table'`;
|
||||||
|
let $_diff_column_list=$_diff_column_index;
|
||||||
|
dec $_diff_column_index;
|
||||||
|
while ($_diff_column_index) {
|
||||||
|
let $_diff_column_list=$_diff_column_index, $_diff_column_list;
|
||||||
|
dec $_diff_column_index;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Now that we have the comma-separated list of columns, we can write
|
||||||
|
# the table to a file.
|
||||||
|
eval SELECT * FROM $_diff_table ORDER BY $_diff_column_list
|
||||||
|
INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/diff_table_$_diff_i';
|
||||||
|
|
||||||
|
# Do the same for $diff_table_1.
|
||||||
|
dec $_diff_i;
|
||||||
|
let $_diff_table=$diff_table_1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# ==== Compare the generated files ====
|
||||||
|
|
||||||
|
diff_files $MYSQLTEST_VARDIR/tmp/diff_table_1 $MYSQLTEST_VARDIR/tmp/diff_table_2;
|
||||||
|
|
||||||
|
--remove_file $MYSQLTEST_VARDIR/tmp/diff_table_1
|
||||||
|
--remove_file $MYSQLTEST_VARDIR/tmp/diff_table_2
|
||||||
|
|
||||||
|
enable_query_log;
|
33
mysql-test/include/wait_for_binlog_event.inc
Normal file
33
mysql-test/include/wait_for_binlog_event.inc
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# include/wait_for_binlog_event.inc
|
||||||
|
#
|
||||||
|
# SUMMARY
|
||||||
|
#
|
||||||
|
# Waits until SHOW BINLOG EVENTS has returned in last event a specified substring.
|
||||||
|
#
|
||||||
|
# USAGE
|
||||||
|
#
|
||||||
|
# let $wait_binlog_event= DROP;
|
||||||
|
# --source include/wait_for_binlog_event.inc
|
||||||
|
|
||||||
|
let $_loop_count= 300;
|
||||||
|
let $_last_event= ;
|
||||||
|
let $_event_pos= 1;
|
||||||
|
|
||||||
|
while (`SELECT INSTR("$_last_event","$wait_binlog_event") = 0`)
|
||||||
|
{
|
||||||
|
dec $_loop_count;
|
||||||
|
if (!$_loop_count)
|
||||||
|
{
|
||||||
|
SHOW BINLOG EVENTS;
|
||||||
|
--die ERROR: failed while waiting for $wait_binlog_event in binlog
|
||||||
|
}
|
||||||
|
real_sleep 0.1;
|
||||||
|
let $_event= query_get_value(SHOW BINLOG EVENTS, Info, $_event_pos);
|
||||||
|
let $_last_event= $_event;
|
||||||
|
while (`SELECT "$_event" != "No such row"`)
|
||||||
|
{
|
||||||
|
inc $_event_pos;
|
||||||
|
let $_last_event= $_event;
|
||||||
|
let $_event= query_get_value(SHOW BINLOG EVENTS, Info, $_event_pos);
|
||||||
|
}
|
||||||
|
}
|
@ -279,6 +279,12 @@ sub mtr_report_stats ($) {
|
|||||||
/Failed to open log/ or
|
/Failed to open log/ or
|
||||||
/Failed to open the existing master info file/ or
|
/Failed to open the existing master info file/ or
|
||||||
/Forcing shutdown of [0-9]* plugins/ or
|
/Forcing shutdown of [0-9]* plugins/ or
|
||||||
|
|
||||||
|
# Due to timing issues, it might be that this warning
|
||||||
|
# is printed when the server shuts down and the
|
||||||
|
# computer is loaded.
|
||||||
|
/Forcing close of thread \d+ user: '.*?'/ or
|
||||||
|
|
||||||
/Got error [0-9]* when reading table/ or
|
/Got error [0-9]* when reading table/ or
|
||||||
/Incorrect definition of table/ or
|
/Incorrect definition of table/ or
|
||||||
/Incorrect information in file/ or
|
/Incorrect information in file/ or
|
||||||
@ -383,6 +389,11 @@ sub mtr_report_stats ($) {
|
|||||||
(/Failed to write to mysql\.\w+_log/
|
(/Failed to write to mysql\.\w+_log/
|
||||||
)) or
|
)) or
|
||||||
|
|
||||||
|
# rpl_bug33931 has deliberate failures
|
||||||
|
($testname eq 'rpl.rpl_bug33931' and
|
||||||
|
(/Failed during slave.*thread initialization/
|
||||||
|
)) or
|
||||||
|
|
||||||
# rpl_temporary has an error on slave that can be ignored
|
# rpl_temporary has an error on slave that can be ignored
|
||||||
($testname eq 'rpl.rpl_temporary' and
|
($testname eq 'rpl.rpl_temporary' and
|
||||||
(/Slave: Can\'t find record in \'user\' Error_code: 1032/
|
(/Slave: Can\'t find record in \'user\' Error_code: 1032/
|
||||||
|
@ -331,6 +331,7 @@ drop table if exists t1;
|
|||||||
drop table if exists t2;
|
drop table if exists t2;
|
||||||
drop function if exists f1;
|
drop function if exists f1;
|
||||||
drop procedure if exists p_verify_status_increment;
|
drop procedure if exists p_verify_status_increment;
|
||||||
|
set @binlog_format=@@global.binlog_format;
|
||||||
set sql_mode=no_engine_substitution;
|
set sql_mode=no_engine_substitution;
|
||||||
create table t1 (a int unique);
|
create table t1 (a int unique);
|
||||||
create table t2 (a int) engine=myisam;
|
create table t2 (a int) engine=myisam;
|
||||||
@ -355,7 +356,7 @@ select variable_value
|
|||||||
from information_schema.session_status
|
from information_schema.session_status
|
||||||
where variable_name='Handler_commit' or variable_name='Handler_prepare'
|
where variable_name='Handler_commit' or variable_name='Handler_prepare'
|
||||||
order by variable_name;
|
order by variable_name;
|
||||||
if @@global.binlog_format = 'ROW' then
|
if @binlog_format = 'ROW' then
|
||||||
set commit_inc= commit_inc_row;
|
set commit_inc= commit_inc_row;
|
||||||
set prepare_inc= prepare_inc_row;
|
set prepare_inc= prepare_inc_row;
|
||||||
else
|
else
|
||||||
|
@ -124,6 +124,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
SET collation_connection='big5_bin';
|
SET collation_connection='big5_bin';
|
||||||
create table t1 select repeat('a',4000) a;
|
create table t1 select repeat('a',4000) a;
|
||||||
delete from t1;
|
delete from t1;
|
||||||
@ -174,6 +191,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
SET NAMES big5;
|
SET NAMES big5;
|
||||||
CREATE TABLE t1 (a text) character set big5;
|
CREATE TABLE t1 (a text) character set big5;
|
||||||
INSERT INTO t1 VALUES ('ùØ');
|
INSERT INTO t1 VALUES ('ùØ');
|
||||||
|
@ -9809,6 +9809,23 @@ eucjpms_japanese_ci 6109
|
|||||||
eucjpms_japanese_ci 61
|
eucjpms_japanese_ci 61
|
||||||
eucjpms_japanese_ci 6120
|
eucjpms_japanese_ci 6120
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
SET collation_connection='eucjpms_bin';
|
SET collation_connection='eucjpms_bin';
|
||||||
create table t1 select repeat('a',4000) a;
|
create table t1 select repeat('a',4000) a;
|
||||||
delete from t1;
|
delete from t1;
|
||||||
@ -9819,6 +9836,23 @@ eucjpms_bin 6109
|
|||||||
eucjpms_bin 61
|
eucjpms_bin 61
|
||||||
eucjpms_bin 6120
|
eucjpms_bin 6120
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
select hex(convert(_eucjpms 0xA5FE41 using ucs2));
|
select hex(convert(_eucjpms 0xA5FE41 using ucs2));
|
||||||
hex(convert(_eucjpms 0xA5FE41 using ucs2))
|
hex(convert(_eucjpms 0xA5FE41 using ucs2))
|
||||||
003F0041
|
003F0041
|
||||||
|
@ -124,6 +124,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
SET collation_connection='euckr_bin';
|
SET collation_connection='euckr_bin';
|
||||||
create table t1 select repeat('a',4000) a;
|
create table t1 select repeat('a',4000) a;
|
||||||
delete from t1;
|
delete from t1;
|
||||||
@ -174,6 +191,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
SET NAMES euckr;
|
SET NAMES euckr;
|
||||||
CREATE TABLE t1 (a text) character set euckr;
|
CREATE TABLE t1 (a text) character set euckr;
|
||||||
INSERT INTO t1 VALUES (0xA2E6),(0xFEF7);
|
INSERT INTO t1 VALUES (0xA2E6),(0xFEF7);
|
||||||
|
@ -124,6 +124,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
SET collation_connection='gb2312_bin';
|
SET collation_connection='gb2312_bin';
|
||||||
create table t1 select repeat('a',4000) a;
|
create table t1 select repeat('a',4000) a;
|
||||||
delete from t1;
|
delete from t1;
|
||||||
@ -174,6 +191,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
SET NAMES gb2312;
|
SET NAMES gb2312;
|
||||||
CREATE TABLE t1 (a text) character set gb2312;
|
CREATE TABLE t1 (a text) character set gb2312;
|
||||||
INSERT INTO t1 VALUES (0xA2A1),(0xD7FE);
|
INSERT INTO t1 VALUES (0xA2A1),(0xD7FE);
|
||||||
|
@ -124,6 +124,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
SET collation_connection='gbk_bin';
|
SET collation_connection='gbk_bin';
|
||||||
create table t1 select repeat('a',4000) a;
|
create table t1 select repeat('a',4000) a;
|
||||||
delete from t1;
|
delete from t1;
|
||||||
@ -174,6 +191,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
SET NAMES gbk;
|
SET NAMES gbk;
|
||||||
CREATE TABLE t1 (a text) character set gbk;
|
CREATE TABLE t1 (a text) character set gbk;
|
||||||
INSERT INTO t1 VALUES (0xA3A0),(0xA1A1);
|
INSERT INTO t1 VALUES (0xA3A0),(0xA1A1);
|
||||||
|
@ -326,6 +326,41 @@ latin1_german2_ci 6109
|
|||||||
latin1_german2_ci 61
|
latin1_german2_ci 61
|
||||||
latin1_german2_ci 6120
|
latin1_german2_ci 6120
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
drop table if exists t1;
|
||||||
|
create table t1 as select repeat(' ', 64) as s1;
|
||||||
|
select collation(s1) from t1;
|
||||||
|
collation(s1)
|
||||||
|
latin1_german2_ci
|
||||||
|
delete from t1;
|
||||||
|
insert into t1 values ('a'),('ae'),(_latin1 0xE4);
|
||||||
|
insert into t1 values ('o'),('oe'),(_latin1 0xF6);
|
||||||
|
insert into t1 values ('s'),('ss'),(_latin1 0xDF);
|
||||||
|
insert into t1 values ('u'),('ue'),(_latin1 0xFC);
|
||||||
|
select s1, hex(s1) from t1 order by s1, binary s1;
|
||||||
|
s1 hex(s1)
|
||||||
|
a 61
|
||||||
|
ae 6165
|
||||||
|
ä E4
|
||||||
|
o 6F
|
||||||
|
oe 6F65
|
||||||
|
ö F6
|
||||||
|
s 73
|
||||||
|
ss 7373
|
||||||
|
ß DF
|
||||||
|
u 75
|
||||||
|
ue 7565
|
||||||
|
ü FC
|
||||||
|
select group_concat(s1 order by binary s1) from t1 group by s1;
|
||||||
|
group_concat(s1 order by binary s1)
|
||||||
|
a
|
||||||
|
ae,ä
|
||||||
|
o
|
||||||
|
oe,ö
|
||||||
|
s
|
||||||
|
ss,ß
|
||||||
|
u
|
||||||
|
ue,ü
|
||||||
|
drop table t1;
|
||||||
SET NAMES latin1;
|
SET NAMES latin1;
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
col1 varchar(255) NOT NULL default ''
|
col1 varchar(255) NOT NULL default ''
|
||||||
|
@ -121,6 +121,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
SET collation_connection='sjis_bin';
|
SET collation_connection='sjis_bin';
|
||||||
create table t1 select repeat('a',4000) a;
|
create table t1 select repeat('a',4000) a;
|
||||||
delete from t1;
|
delete from t1;
|
||||||
@ -171,6 +188,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
SET NAMES sjis;
|
SET NAMES sjis;
|
||||||
SELECT HEX('佐淘 圭') FROM DUAL;
|
SELECT HEX('佐淘 圭') FROM DUAL;
|
||||||
HEX('佐淘 圭')
|
HEX('佐淘 圭')
|
||||||
|
@ -2647,6 +2647,41 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
drop table if exists t1;
|
||||||
|
create table t1 as select repeat(' ', 64) as s1;
|
||||||
|
select collation(s1) from t1;
|
||||||
|
collation(s1)
|
||||||
|
utf8_unicode_ci
|
||||||
|
delete from t1;
|
||||||
|
insert into t1 values ('a'),('ae'),(_latin1 0xE4);
|
||||||
|
insert into t1 values ('o'),('oe'),(_latin1 0xF6);
|
||||||
|
insert into t1 values ('s'),('ss'),(_latin1 0xDF);
|
||||||
|
insert into t1 values ('u'),('ue'),(_latin1 0xFC);
|
||||||
|
select s1, hex(s1) from t1 order by s1, binary s1;
|
||||||
|
s1 hex(s1)
|
||||||
|
a 61
|
||||||
|
ä C3A4
|
||||||
|
ae 6165
|
||||||
|
o 6F
|
||||||
|
ö C3B6
|
||||||
|
oe 6F65
|
||||||
|
s 73
|
||||||
|
ss 7373
|
||||||
|
ß C39F
|
||||||
|
u 75
|
||||||
|
ü C3BC
|
||||||
|
ue 7565
|
||||||
|
select group_concat(s1 order by binary s1) from t1 group by s1;
|
||||||
|
group_concat(s1 order by binary s1)
|
||||||
|
a,ä
|
||||||
|
ae
|
||||||
|
o,ö
|
||||||
|
oe
|
||||||
|
s
|
||||||
|
ss,ß
|
||||||
|
u,ü
|
||||||
|
ue
|
||||||
|
drop table t1;
|
||||||
CREATE TABLE t1 (id int, a varchar(30) character set utf8);
|
CREATE TABLE t1 (id int, a varchar(30) character set utf8);
|
||||||
INSERT INTO t1 VALUES (1, _ucs2 0x01310069), (2, _ucs2 0x01310131);
|
INSERT INTO t1 VALUES (1, _ucs2 0x01310069), (2, _ucs2 0x01310131);
|
||||||
INSERT INTO t1 VALUES (3, _ucs2 0x00690069), (4, _ucs2 0x01300049);
|
INSERT INTO t1 VALUES (3, _ucs2 0x00690069), (4, _ucs2 0x01300049);
|
||||||
@ -2815,5 +2850,22 @@ NULL
|
|||||||
NULL
|
NULL
|
||||||
NULL
|
NULL
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F20025
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
set names utf8;
|
set names utf8;
|
||||||
End for 5.0 tests
|
End for 5.0 tests
|
||||||
|
@ -613,6 +613,58 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
drop table if exists t1;
|
||||||
|
create table t1 as select repeat(' ', 64) as s1;
|
||||||
|
select collation(s1) from t1;
|
||||||
|
collation(s1)
|
||||||
|
ucs2_general_ci
|
||||||
|
delete from t1;
|
||||||
|
insert into t1 values ('a'),('ae'),(_latin1 0xE4);
|
||||||
|
insert into t1 values ('o'),('oe'),(_latin1 0xF6);
|
||||||
|
insert into t1 values ('s'),('ss'),(_latin1 0xDF);
|
||||||
|
insert into t1 values ('u'),('ue'),(_latin1 0xFC);
|
||||||
|
select s1, hex(s1) from t1 order by s1, binary s1;
|
||||||
|
s1 hex(s1)
|
||||||
|
a 0061
|
||||||
|
ä 00E4
|
||||||
|
ae 00610065
|
||||||
|
o 006F
|
||||||
|
ö 00F6
|
||||||
|
oe 006F0065
|
||||||
|
s 0073
|
||||||
|
ß 00DF
|
||||||
|
ss 00730073
|
||||||
|
u 0075
|
||||||
|
ü 00FC
|
||||||
|
ue 00750065
|
||||||
|
select group_concat(s1 order by binary s1) from t1 group by s1;
|
||||||
|
group_concat(s1 order by binary s1)
|
||||||
|
a,ä
|
||||||
|
ae
|
||||||
|
o,ö
|
||||||
|
oe
|
||||||
|
s,ß
|
||||||
|
ss
|
||||||
|
u,ü
|
||||||
|
ue
|
||||||
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F20025
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
SET NAMES latin1;
|
SET NAMES latin1;
|
||||||
SET collation_connection='ucs2_bin';
|
SET collation_connection='ucs2_bin';
|
||||||
create table t1 select repeat('a',4000) a;
|
create table t1 select repeat('a',4000) a;
|
||||||
@ -642,6 +694,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F20025
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
select hex(substr(_ucs2 0x00e400e50068,1));
|
select hex(substr(_ucs2 0x00e400e50068,1));
|
||||||
hex(substr(_ucs2 0x00e400e50068,1))
|
hex(substr(_ucs2 0x00e400e50068,1))
|
||||||
00E400E50068
|
00E400E50068
|
||||||
|
@ -2257,6 +2257,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
SET collation_connection='ujis_bin';
|
SET collation_connection='ujis_bin';
|
||||||
create table t1 select repeat('a',4000) a;
|
create table t1 select repeat('a',4000) a;
|
||||||
delete from t1;
|
delete from t1;
|
||||||
@ -2307,6 +2324,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
select hex(convert(_ujis 0xA5FE41 using ucs2));
|
select hex(convert(_ujis 0xA5FE41 using ucs2));
|
||||||
hex(convert(_ujis 0xA5FE41 using ucs2))
|
hex(convert(_ujis 0xA5FE41 using ucs2))
|
||||||
003F0041
|
003F0041
|
||||||
|
@ -939,6 +939,41 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
|
|||||||
c2h
|
c2h
|
||||||
ab_def
|
ab_def
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
drop table if exists t1;
|
||||||
|
create table t1 as select repeat(' ', 64) as s1;
|
||||||
|
select collation(s1) from t1;
|
||||||
|
collation(s1)
|
||||||
|
utf8_general_ci
|
||||||
|
delete from t1;
|
||||||
|
insert into t1 values ('a'),('ae'),(_latin1 0xE4);
|
||||||
|
insert into t1 values ('o'),('oe'),(_latin1 0xF6);
|
||||||
|
insert into t1 values ('s'),('ss'),(_latin1 0xDF);
|
||||||
|
insert into t1 values ('u'),('ue'),(_latin1 0xFC);
|
||||||
|
select s1, hex(s1) from t1 order by s1, binary s1;
|
||||||
|
s1 hex(s1)
|
||||||
|
a 61
|
||||||
|
ä C3A4
|
||||||
|
ae 6165
|
||||||
|
o 6F
|
||||||
|
ö C3B6
|
||||||
|
oe 6F65
|
||||||
|
s 73
|
||||||
|
ß C39F
|
||||||
|
ss 7373
|
||||||
|
u 75
|
||||||
|
ü C3BC
|
||||||
|
ue 7565
|
||||||
|
select group_concat(s1 order by binary s1) from t1 group by s1;
|
||||||
|
group_concat(s1 order by binary s1)
|
||||||
|
a,ä
|
||||||
|
ae
|
||||||
|
o,ö
|
||||||
|
oe
|
||||||
|
s,ß
|
||||||
|
ss
|
||||||
|
u,ü
|
||||||
|
ue
|
||||||
|
drop table t1;
|
||||||
SET collation_connection='utf8_bin';
|
SET collation_connection='utf8_bin';
|
||||||
create table t1 select repeat('a',4000) a;
|
create table t1 select repeat('a',4000) a;
|
||||||
delete from t1;
|
delete from t1;
|
||||||
|
@ -627,7 +627,7 @@ a b
|
|||||||
4 4
|
4 4
|
||||||
show master status /* there must be the UPDATE query event */;
|
show master status /* there must be the UPDATE query event */;
|
||||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||||
master-bin.000001 336
|
master-bin.000001 197
|
||||||
delete from t1;
|
delete from t1;
|
||||||
delete from t2;
|
delete from t2;
|
||||||
insert into t1 values (1,2),(3,4),(4,4);
|
insert into t1 values (1,2),(3,4),(4,4);
|
||||||
@ -637,7 +637,7 @@ UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
|
|||||||
ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
|
ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
|
||||||
show master status /* there must be the UPDATE query event */;
|
show master status /* there must be the UPDATE query event */;
|
||||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||||
master-bin.000001 351
|
master-bin.000001 212
|
||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
set @@session.binlog_format= @sav_binlog_format;
|
set @@session.binlog_format= @sav_binlog_format;
|
||||||
drop table if exists t1, t2, t3;
|
drop table if exists t1, t2, t3;
|
||||||
|
@ -19,10 +19,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
drop table if exists t1,t2,t3,t4,t5,t03,t04
|
drop table if exists t1,t2,t3,t4,t5,t03,t04
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
@ -61,10 +65,14 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values ("Alas")
|
insert into t1 values ("Alas")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
@ -89,10 +97,14 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values ("Alas")
|
insert into t1 values ("Alas")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
@ -107,10 +119,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
drop table if exists t1,t2,t3,t4,t5,t03,t04
|
drop table if exists t1,t2,t3,t4,t5,t03,t04
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
@ -149,10 +165,14 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values ("Alas")
|
insert into t1 values ("Alas")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
@ -177,10 +197,14 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values ("Alas")
|
insert into t1 values ("Alas")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
@ -195,6 +219,10 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1108844556/*!*/;
|
SET TIMESTAMP=1108844556/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
BEGIN
|
BEGIN
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1108844555/*!*/;
|
SET TIMESTAMP=1108844555/*!*/;
|
||||||
@ -209,6 +237,10 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1108844556/*!*/;
|
SET TIMESTAMP=1108844556/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
BEGIN
|
BEGIN
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1108844555/*!*/;
|
SET TIMESTAMP=1108844555/*!*/;
|
||||||
@ -265,10 +297,14 @@ ERROR 42000: PROCEDURE test.p1 does not exist
|
|||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
CREATE DEFINER=`root`@`localhost` procedure p1()
|
CREATE DEFINER=`root`@`localhost` procedure p1()
|
||||||
begin
|
begin
|
||||||
select 1;
|
select 1;
|
||||||
@ -311,10 +347,14 @@ flush logs;
|
|||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a varchar(64) character set utf8)
|
create table t1 (a varchar(64) character set utf8)
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
|
@ -18,61 +18,39 @@ insert into t1 values(null, "f");
|
|||||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
# at {pos}
|
|
||||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Start: binlog v #, server v ## created {yymmdd} {HH:MM:SS} at startup
|
|
||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
# at {pos}
|
|
||||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
|
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a int auto_increment not null primary key, b char(3))
|
create table t1 (a int auto_increment not null primary key, b char(3))
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at {pos}
|
|
||||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Intvar
|
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
# at {pos}
|
|
||||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
|
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
insert into t1 values(null, "a")
|
insert into t1 values(null, "a")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at {pos}
|
|
||||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Intvar
|
|
||||||
SET INSERT_ID=2/*!*/;
|
SET INSERT_ID=2/*!*/;
|
||||||
# at {pos}
|
|
||||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
|
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
insert into t1 values(null, "b")
|
insert into t1 values(null, "b")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at {pos}
|
|
||||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Intvar
|
|
||||||
SET INSERT_ID=3/*!*/;
|
SET INSERT_ID=3/*!*/;
|
||||||
# at {pos}
|
|
||||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
|
|
||||||
SET TIMESTAMP=1579609944/*!*/;
|
SET TIMESTAMP=1579609944/*!*/;
|
||||||
insert into t1 values(null, "c")
|
insert into t1 values(null, "c")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at {pos}
|
|
||||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Intvar
|
|
||||||
SET INSERT_ID=4/*!*/;
|
SET INSERT_ID=4/*!*/;
|
||||||
# at {pos}
|
|
||||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
|
|
||||||
SET TIMESTAMP=1579609946/*!*/;
|
SET TIMESTAMP=1579609946/*!*/;
|
||||||
insert into t1 values(null, "d")
|
insert into t1 values(null, "d")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at {pos}
|
|
||||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Intvar
|
|
||||||
SET INSERT_ID=5/*!*/;
|
SET INSERT_ID=5/*!*/;
|
||||||
# at {pos}
|
|
||||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
|
|
||||||
SET TIMESTAMP=1579609946/*!*/;
|
SET TIMESTAMP=1579609946/*!*/;
|
||||||
insert into t1 values(null, "e")
|
insert into t1 values(null, "e")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at {pos}
|
|
||||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Rotate to master-bin.000002 pos: {pos}
|
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
# End of log file
|
# End of log file
|
||||||
ROLLBACK /* added by mysqlbinlog */;
|
ROLLBACK /* added by mysqlbinlog */;
|
||||||
@ -86,10 +64,14 @@ ROLLBACK/*!*/;
|
|||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "a")
|
insert into t1 values(null, "a")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=2/*!*/;
|
SET INSERT_ID=2/*!*/;
|
||||||
@ -121,10 +103,14 @@ ROLLBACK/*!*/;
|
|||||||
SET INSERT_ID=4/*!*/;
|
SET INSERT_ID=4/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609946/*!*/;
|
SET TIMESTAMP=1579609946/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "d")
|
insert into t1 values(null, "d")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=5/*!*/;
|
SET INSERT_ID=5/*!*/;
|
||||||
@ -143,10 +129,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a int auto_increment not null primary key, b char(3))
|
create table t1 (a int auto_increment not null primary key, b char(3))
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
@ -174,10 +164,14 @@ ROLLBACK/*!*/;
|
|||||||
SET INSERT_ID=4/*!*/;
|
SET INSERT_ID=4/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609946/*!*/;
|
SET TIMESTAMP=1579609946/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "d")
|
insert into t1 values(null, "d")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
@ -193,10 +187,14 @@ ROLLBACK/*!*/;
|
|||||||
SET INSERT_ID=3/*!*/;
|
SET INSERT_ID=3/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609944/*!*/;
|
SET TIMESTAMP=1579609944/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "c")
|
insert into t1 values(null, "c")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=4/*!*/;
|
SET INSERT_ID=4/*!*/;
|
||||||
@ -219,10 +217,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a int auto_increment not null primary key, b char(3))
|
create table t1 (a int auto_increment not null primary key, b char(3))
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
@ -246,10 +248,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a int auto_increment not null primary key, b char(3))
|
create table t1 (a int auto_increment not null primary key, b char(3))
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
@ -277,10 +283,14 @@ DELIMITER /*!*/;
|
|||||||
SET INSERT_ID=6/*!*/;
|
SET INSERT_ID=6/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609943/*!*/;
|
SET TIMESTAMP=1579609943/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "f")
|
insert into t1 values(null, "f")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
@ -296,10 +306,14 @@ ROLLBACK/*!*/;
|
|||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "a")
|
insert into t1 values(null, "a")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=2/*!*/;
|
SET INSERT_ID=2/*!*/;
|
||||||
@ -323,10 +337,14 @@ DELIMITER /*!*/;
|
|||||||
SET INSERT_ID=6/*!*/;
|
SET INSERT_ID=6/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609943/*!*/;
|
SET TIMESTAMP=1579609943/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "f")
|
insert into t1 values(null, "f")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
@ -342,10 +360,14 @@ ROLLBACK/*!*/;
|
|||||||
SET INSERT_ID=4/*!*/;
|
SET INSERT_ID=4/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609946/*!*/;
|
SET TIMESTAMP=1579609946/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "d")
|
insert into t1 values(null, "d")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=5/*!*/;
|
SET INSERT_ID=5/*!*/;
|
||||||
@ -357,10 +379,14 @@ DELIMITER /*!*/;
|
|||||||
SET INSERT_ID=6/*!*/;
|
SET INSERT_ID=6/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609943/*!*/;
|
SET TIMESTAMP=1579609943/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "f")
|
insert into t1 values(null, "f")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
@ -375,10 +401,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a int auto_increment not null primary key, b char(3))
|
create table t1 (a int auto_increment not null primary key, b char(3))
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
@ -417,10 +447,14 @@ ROLLBACK/*!*/;
|
|||||||
SET INSERT_ID=3/*!*/;
|
SET INSERT_ID=3/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609944/*!*/;
|
SET TIMESTAMP=1579609944/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "c")
|
insert into t1 values(null, "c")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=4/*!*/;
|
SET INSERT_ID=4/*!*/;
|
||||||
@ -436,10 +470,14 @@ DELIMITER /*!*/;
|
|||||||
SET INSERT_ID=6/*!*/;
|
SET INSERT_ID=6/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609943/*!*/;
|
SET TIMESTAMP=1579609943/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "f")
|
insert into t1 values(null, "f")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
@ -454,10 +492,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a int auto_increment not null primary key, b char(3))
|
create table t1 (a int auto_increment not null primary key, b char(3))
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
@ -480,10 +522,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a int auto_increment not null primary key, b char(3))
|
create table t1 (a int auto_increment not null primary key, b char(3))
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
@ -519,10 +565,14 @@ ROLLBACK/*!*/;
|
|||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "a")
|
insert into t1 values(null, "a")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=2/*!*/;
|
SET INSERT_ID=2/*!*/;
|
||||||
@ -553,10 +603,14 @@ DELIMITER /*!*/;
|
|||||||
SET INSERT_ID=4/*!*/;
|
SET INSERT_ID=4/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609946/*!*/;
|
SET TIMESTAMP=1579609946/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "d")
|
insert into t1 values(null, "d")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=5/*!*/;
|
SET INSERT_ID=5/*!*/;
|
||||||
@ -575,10 +629,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a int auto_increment not null primary key, b char(3))
|
create table t1 (a int auto_increment not null primary key, b char(3))
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
@ -605,10 +663,14 @@ DELIMITER /*!*/;
|
|||||||
SET INSERT_ID=4/*!*/;
|
SET INSERT_ID=4/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609946/*!*/;
|
SET TIMESTAMP=1579609946/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "d")
|
insert into t1 values(null, "d")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
@ -624,10 +686,14 @@ ROLLBACK/*!*/;
|
|||||||
SET INSERT_ID=3/*!*/;
|
SET INSERT_ID=3/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609944/*!*/;
|
SET TIMESTAMP=1579609944/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "c")
|
insert into t1 values(null, "c")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=4/*!*/;
|
SET INSERT_ID=4/*!*/;
|
||||||
@ -650,10 +716,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a int auto_increment not null primary key, b char(3))
|
create table t1 (a int auto_increment not null primary key, b char(3))
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
@ -676,10 +746,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a int auto_increment not null primary key, b char(3))
|
create table t1 (a int auto_increment not null primary key, b char(3))
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
@ -707,10 +781,14 @@ DELIMITER /*!*/;
|
|||||||
SET INSERT_ID=6/*!*/;
|
SET INSERT_ID=6/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609943/*!*/;
|
SET TIMESTAMP=1579609943/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "f")
|
insert into t1 values(null, "f")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
@ -726,10 +804,14 @@ ROLLBACK/*!*/;
|
|||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "a")
|
insert into t1 values(null, "a")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=2/*!*/;
|
SET INSERT_ID=2/*!*/;
|
||||||
@ -753,10 +835,14 @@ DELIMITER /*!*/;
|
|||||||
SET INSERT_ID=6/*!*/;
|
SET INSERT_ID=6/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609943/*!*/;
|
SET TIMESTAMP=1579609943/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "f")
|
insert into t1 values(null, "f")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
@ -771,10 +857,14 @@ DELIMITER /*!*/;
|
|||||||
SET INSERT_ID=4/*!*/;
|
SET INSERT_ID=4/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609946/*!*/;
|
SET TIMESTAMP=1579609946/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "d")
|
insert into t1 values(null, "d")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=5/*!*/;
|
SET INSERT_ID=5/*!*/;
|
||||||
@ -786,10 +876,14 @@ DELIMITER /*!*/;
|
|||||||
SET INSERT_ID=6/*!*/;
|
SET INSERT_ID=6/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609943/*!*/;
|
SET TIMESTAMP=1579609943/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "f")
|
insert into t1 values(null, "f")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
@ -804,10 +898,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a int auto_increment not null primary key, b char(3))
|
create table t1 (a int auto_increment not null primary key, b char(3))
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
@ -846,10 +944,14 @@ ROLLBACK/*!*/;
|
|||||||
SET INSERT_ID=3/*!*/;
|
SET INSERT_ID=3/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609944/*!*/;
|
SET TIMESTAMP=1579609944/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "c")
|
insert into t1 values(null, "c")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=4/*!*/;
|
SET INSERT_ID=4/*!*/;
|
||||||
@ -865,10 +967,14 @@ DELIMITER /*!*/;
|
|||||||
SET INSERT_ID=6/*!*/;
|
SET INSERT_ID=6/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609943/*!*/;
|
SET TIMESTAMP=1579609943/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t1 values(null, "f")
|
insert into t1 values(null, "f")
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
@ -883,10 +989,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a int auto_increment not null primary key, b char(3))
|
create table t1 (a int auto_increment not null primary key, b char(3))
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
@ -909,10 +1019,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1579609942/*!*/;
|
SET TIMESTAMP=1579609942/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a int auto_increment not null primary key, b char(3))
|
create table t1 (a int auto_increment not null primary key, b char(3))
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET INSERT_ID=1/*!*/;
|
SET INSERT_ID=1/*!*/;
|
||||||
|
@ -3870,181 +3870,6 @@ UNLOCK TABLES;
|
|||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
create table t1 (a text , b text);
|
|
||||||
create table t2 (a text , b text);
|
|
||||||
insert t1 values ("Duck, Duck", "goose");
|
|
||||||
insert t1 values ("Duck, Duck", "pidgeon");
|
|
||||||
insert t2 values ("We the people", "in order to perform");
|
|
||||||
insert t2 values ("a more perfect", "union");
|
|
||||||
select * from t1;
|
|
||||||
a b
|
|
||||||
Duck, Duck goose
|
|
||||||
Duck, Duck pidgeon
|
|
||||||
select * from t2;
|
|
||||||
a b
|
|
||||||
We the people in order to perform
|
|
||||||
a more perfect union
|
|
||||||
test.t1: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
|
|
||||||
test.t2: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
|
|
||||||
select * from t1;
|
|
||||||
a b
|
|
||||||
Duck, Duck goose
|
|
||||||
Duck, Duck pidgeon
|
|
||||||
Duck, Duck goose
|
|
||||||
Duck, Duck pidgeon
|
|
||||||
select * from t2;
|
|
||||||
a b
|
|
||||||
We the people in order to perform
|
|
||||||
a more perfect union
|
|
||||||
We the people in order to perform
|
|
||||||
a more perfect union
|
|
||||||
create table words(a varchar(255));
|
|
||||||
create table words2(b varchar(255));
|
|
||||||
select * from t1;
|
|
||||||
a b
|
|
||||||
Duck, Duck goose
|
|
||||||
Duck, Duck pidgeon
|
|
||||||
Duck, Duck goose
|
|
||||||
Duck, Duck pidgeon
|
|
||||||
Duck, Duck goose
|
|
||||||
Duck, Duck pidgeon
|
|
||||||
select * from t2;
|
|
||||||
a b
|
|
||||||
We the people in order to perform
|
|
||||||
a more perfect union
|
|
||||||
We the people in order to perform
|
|
||||||
a more perfect union
|
|
||||||
We the people in order to perform
|
|
||||||
a more perfect union
|
|
||||||
select * from words;
|
|
||||||
a
|
|
||||||
Aarhus
|
|
||||||
Aaron
|
|
||||||
Ababa
|
|
||||||
aback
|
|
||||||
abaft
|
|
||||||
abandon
|
|
||||||
abandoned
|
|
||||||
abandoning
|
|
||||||
abandonment
|
|
||||||
abandons
|
|
||||||
Aarhus
|
|
||||||
Aaron
|
|
||||||
Ababa
|
|
||||||
aback
|
|
||||||
abaft
|
|
||||||
abandon
|
|
||||||
abandoned
|
|
||||||
abandoning
|
|
||||||
abandonment
|
|
||||||
abandons
|
|
||||||
abase
|
|
||||||
abased
|
|
||||||
abasement
|
|
||||||
abasements
|
|
||||||
abases
|
|
||||||
abash
|
|
||||||
abashed
|
|
||||||
abashes
|
|
||||||
abashing
|
|
||||||
abasing
|
|
||||||
abate
|
|
||||||
abated
|
|
||||||
abatement
|
|
||||||
abatements
|
|
||||||
abater
|
|
||||||
abates
|
|
||||||
abating
|
|
||||||
Abba
|
|
||||||
abbe
|
|
||||||
abbey
|
|
||||||
abbeys
|
|
||||||
abbot
|
|
||||||
abbots
|
|
||||||
Abbott
|
|
||||||
abbreviate
|
|
||||||
abbreviated
|
|
||||||
abbreviates
|
|
||||||
abbreviating
|
|
||||||
abbreviation
|
|
||||||
abbreviations
|
|
||||||
Abby
|
|
||||||
abdomen
|
|
||||||
abdomens
|
|
||||||
abdominal
|
|
||||||
abduct
|
|
||||||
abducted
|
|
||||||
abduction
|
|
||||||
abductions
|
|
||||||
abductor
|
|
||||||
abductors
|
|
||||||
abducts
|
|
||||||
Abe
|
|
||||||
abed
|
|
||||||
Abel
|
|
||||||
Abelian
|
|
||||||
Abelson
|
|
||||||
Aberdeen
|
|
||||||
Abernathy
|
|
||||||
aberrant
|
|
||||||
aberration
|
|
||||||
select * from words2;
|
|
||||||
b
|
|
||||||
abase
|
|
||||||
abased
|
|
||||||
abasement
|
|
||||||
abasements
|
|
||||||
abases
|
|
||||||
abash
|
|
||||||
abashed
|
|
||||||
abashes
|
|
||||||
abashing
|
|
||||||
abasing
|
|
||||||
abate
|
|
||||||
abated
|
|
||||||
abatement
|
|
||||||
abatements
|
|
||||||
abater
|
|
||||||
abates
|
|
||||||
abating
|
|
||||||
Abba
|
|
||||||
abbe
|
|
||||||
abbey
|
|
||||||
abbeys
|
|
||||||
abbot
|
|
||||||
abbots
|
|
||||||
Abbott
|
|
||||||
abbreviate
|
|
||||||
abbreviated
|
|
||||||
abbreviates
|
|
||||||
abbreviating
|
|
||||||
abbreviation
|
|
||||||
abbreviations
|
|
||||||
Abby
|
|
||||||
abdomen
|
|
||||||
abdomens
|
|
||||||
abdominal
|
|
||||||
abduct
|
|
||||||
abducted
|
|
||||||
abduction
|
|
||||||
abductions
|
|
||||||
abductor
|
|
||||||
abductors
|
|
||||||
abducts
|
|
||||||
Abe
|
|
||||||
abed
|
|
||||||
Abel
|
|
||||||
Abelian
|
|
||||||
Abelson
|
|
||||||
Aberdeen
|
|
||||||
Abernathy
|
|
||||||
aberrant
|
|
||||||
aberration
|
|
||||||
drop table words;
|
|
||||||
mysql-import: Error: 1146, Table 'test.words' doesn't exist, when using table: words
|
|
||||||
drop table t1;
|
|
||||||
drop table t2;
|
|
||||||
drop table words2;
|
|
||||||
#
|
#
|
||||||
# BUG# 16853: mysqldump doesn't show events
|
# BUG# 16853: mysqldump doesn't show events
|
||||||
#
|
#
|
||||||
|
@ -293,7 +293,7 @@ var5 from query that returns no row
|
|||||||
failing query in let
|
failing query in let
|
||||||
mysqltest: At line 1: Error running query 'failing query': 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'failing query' at line 1
|
mysqltest: At line 1: Error running query 'failing query': 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'failing query' at line 1
|
||||||
mysqltest: At line 1: Missing required argument 'filename' to command 'source'
|
mysqltest: At line 1: Missing required argument 'filename' to command 'source'
|
||||||
mysqltest: At line 1: Could not open file './non_existingFile'
|
mysqltest: At line 1: Could not open './non_existingFile' for reading
|
||||||
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/recursive.sql": At line 1: Source directives are nesting too deep
|
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/recursive.sql": At line 1: Source directives are nesting too deep
|
||||||
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/error.sql": At line 1: query 'garbage ' failed: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'garbage' at line 1
|
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/error.sql": At line 1: query 'garbage ' failed: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'garbage' at line 1
|
||||||
|
|
||||||
@ -443,7 +443,7 @@ ERROR 3D000: No database selected
|
|||||||
Output from mysqltest-x.inc
|
Output from mysqltest-x.inc
|
||||||
Output from mysqltest-x.inc
|
Output from mysqltest-x.inc
|
||||||
Output from mysqltest-x.inc
|
Output from mysqltest-x.inc
|
||||||
mysqltest: Could not open ./non_existing_file.inc: errno = 2
|
mysqltest: Could not open './non_existing_file.inc' for reading: errno = 2
|
||||||
failing_statement;
|
failing_statement;
|
||||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'failing_statement' at line 1
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'failing_statement' at line 1
|
||||||
failing_statement;
|
failing_statement;
|
||||||
|
@ -21,10 +21,14 @@ ROLLBACK/*!*/;
|
|||||||
SET @`a b`:=_latin1 0x68656C6C6F COLLATE `latin1_swedish_ci`/*!*/;
|
SET @`a b`:=_latin1 0x68656C6C6F COLLATE `latin1_swedish_ci`/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=10000/*!*/;
|
SET TIMESTAMP=10000/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
INSERT INTO t1 VALUES(@`a b`)
|
INSERT INTO t1 VALUES(@`a b`)
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET @`var1`:=_latin1 0x273B616161 COLLATE `latin1_swedish_ci`/*!*/;
|
SET @`var1`:=_latin1 0x273B616161 COLLATE `latin1_swedish_ci`/*!*/;
|
||||||
|
17
mysql-test/r/variables-notembedded.result
Normal file
17
mysql-test/r/variables-notembedded.result
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
---- Init ----
|
||||||
|
set @my_slave_net_timeout =@@global.slave_net_timeout;
|
||||||
|
---- Test ----
|
||||||
|
set global slave_net_timeout=100;
|
||||||
|
set global sql_slave_skip_counter=100;
|
||||||
|
show variables like 'slave_compressed_protocol';
|
||||||
|
Variable_name Value
|
||||||
|
slave_compressed_protocol OFF
|
||||||
|
show variables like 'slave_load_tmpdir';
|
||||||
|
Variable_name Value
|
||||||
|
slave_load_tmpdir SLAVE_LOAD_TMPDIR
|
||||||
|
show variables like 'slave_skip_errors';
|
||||||
|
Variable_name Value
|
||||||
|
slave_skip_errors 3,100,137,643,1752
|
||||||
|
---- Clean Up ----
|
||||||
|
set global slave_net_timeout=default;
|
||||||
|
set global sql_slave_skip_counter= 0;
|
@ -32,14 +32,17 @@ a
|
|||||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||||
DELIMITER /*!*/;
|
DELIMITER /*!*/;
|
||||||
# at 4
|
# at 4
|
||||||
#ROLLBACK/*!*/;
|
<#>ROLLBACK/*!*/;
|
||||||
# at 102
|
# at 102
|
||||||
#use test/*!*/;
|
<#>use test/*!*/;
|
||||||
SET TIMESTAMP=1196959712/*!*/;
|
SET TIMESTAMP=1196959712/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
<#>SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
create table t1 (a int) engine= myisam
|
create table t1 (a int) engine= myisam
|
||||||
/*!*/;
|
/*!*/;
|
||||||
# at 203
|
# at 203
|
||||||
|
@ -3,8 +3,8 @@ CREATE TABLE t1b (b INT, c INT) ENGINE=BLACKHOLE;
|
|||||||
CREATE TABLE t1n (e INT, f INT) ENGINE=NDB;
|
CREATE TABLE t1n (e INT, f INT) ENGINE=NDB;
|
||||||
RESET MASTER;
|
RESET MASTER;
|
||||||
SET SESSION BINLOG_FORMAT=STATEMENT;
|
SET SESSION BINLOG_FORMAT=STATEMENT;
|
||||||
INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
|
|
||||||
INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
|
INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
|
||||||
|
INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
|
||||||
UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
|
UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
|
||||||
*** Please look in binlog_multi_engine.test if you have a diff here ****
|
*** Please look in binlog_multi_engine.test if you have a diff here ****
|
||||||
START TRANSACTION;
|
START TRANSACTION;
|
||||||
@ -17,30 +17,28 @@ TRUNCATE t1b;
|
|||||||
TRUNCATE t1n;
|
TRUNCATE t1n;
|
||||||
show binlog events from <binlog_start>;
|
show binlog events from <binlog_start>;
|
||||||
Log_name Pos Event_type Server_id End_log_pos Info
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2)
|
|
||||||
master-bin.000001 # Query # # use `test`; BEGIN
|
master-bin.000001 # Query # # use `test`; BEGIN
|
||||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2)
|
master-bin.000001 # Query # # use `test`; INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2)
|
||||||
master-bin.000001 # Query # # use `test`; COMMIT
|
master-bin.000001 # Query # # use `test`; COMMIT
|
||||||
master-bin.000001 # Query # # use `test`; BEGIN
|
master-bin.000001 # Query # # use `test`; INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2)
|
||||||
master-bin.000001 # Query # # use `test`; UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c
|
master-bin.000001 # Query # # use `test`; UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c
|
||||||
master-bin.000001 # Query # # use `test`; COMMIT
|
|
||||||
master-bin.000001 # Query # # use `test`; BEGIN
|
master-bin.000001 # Query # # use `test`; BEGIN
|
||||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2)
|
master-bin.000001 # Query # # use `test`; INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2)
|
||||||
master-bin.000001 # Query # # use `test`; UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f
|
master-bin.000001 # Query # # use `test`; UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f
|
||||||
master-bin.000001 # Query # # use `test`; UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c
|
master-bin.000001 # Query # # use `test`; UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c
|
||||||
master-bin.000001 # Query # # use `test`; COMMIT
|
master-bin.000001 # Query # # use `test`; COMMIT
|
||||||
master-bin.000001 # Query # # use `test`; TRUNCATE t1m
|
|
||||||
master-bin.000001 # Query # # use `test`; TRUNCATE t1b
|
|
||||||
master-bin.000001 # Query # # BEGIN
|
master-bin.000001 # Query # # BEGIN
|
||||||
master-bin.000001 # Table_map # # table_id: # (test.t1n)
|
master-bin.000001 # Table_map # # table_id: # (test.t1n)
|
||||||
master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
|
master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
|
||||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||||
master-bin.000001 # Query # # COMMIT
|
master-bin.000001 # Query # # COMMIT
|
||||||
|
master-bin.000001 # Query # # use `test`; TRUNCATE t1m
|
||||||
|
master-bin.000001 # Query # # use `test`; TRUNCATE t1b
|
||||||
master-bin.000001 # Query # # use `test`; TRUNCATE t1n
|
master-bin.000001 # Query # # use `test`; TRUNCATE t1n
|
||||||
RESET MASTER;
|
RESET MASTER;
|
||||||
SET SESSION BINLOG_FORMAT=MIXED;
|
SET SESSION BINLOG_FORMAT=MIXED;
|
||||||
INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
|
|
||||||
INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
|
INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
|
||||||
|
INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
|
||||||
INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
|
INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
|
||||||
UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
|
UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
|
||||||
UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
|
UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
|
||||||
@ -52,21 +50,19 @@ TRUNCATE t1b;
|
|||||||
TRUNCATE t1n;
|
TRUNCATE t1n;
|
||||||
show binlog events from <binlog_start>;
|
show binlog events from <binlog_start>;
|
||||||
Log_name Pos Event_type Server_id End_log_pos Info
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2)
|
|
||||||
master-bin.000001 # Query # # use `test`; BEGIN
|
master-bin.000001 # Query # # use `test`; BEGIN
|
||||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2)
|
master-bin.000001 # Query # # use `test`; INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2)
|
||||||
master-bin.000001 # Query # # use `test`; COMMIT
|
master-bin.000001 # Query # # use `test`; COMMIT
|
||||||
master-bin.000001 # Query # # use `test`; BEGIN
|
master-bin.000001 # Query # # use `test`; INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2)
|
||||||
master-bin.000001 # Query # # use `test`; UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c
|
|
||||||
master-bin.000001 # Query # # use `test`; COMMIT
|
|
||||||
master-bin.000001 # Query # # use `test`; TRUNCATE t1m
|
|
||||||
master-bin.000001 # Query # # use `test`; TRUNCATE t1b
|
|
||||||
master-bin.000001 # Query # # BEGIN
|
master-bin.000001 # Query # # BEGIN
|
||||||
master-bin.000001 # Table_map # # table_id: # (test.t1n)
|
master-bin.000001 # Table_map # # table_id: # (test.t1n)
|
||||||
master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
|
master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
|
||||||
master-bin.000001 # Write_rows # # table_id: #
|
master-bin.000001 # Write_rows # # table_id: #
|
||||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||||
master-bin.000001 # Query # # COMMIT
|
master-bin.000001 # Query # # COMMIT
|
||||||
|
master-bin.000001 # Query # # use `test`; UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c
|
||||||
|
master-bin.000001 # Query # # use `test`; TRUNCATE t1m
|
||||||
|
master-bin.000001 # Query # # use `test`; TRUNCATE t1b
|
||||||
master-bin.000001 # Query # # use `test`; TRUNCATE t1n
|
master-bin.000001 # Query # # use `test`; TRUNCATE t1n
|
||||||
RESET MASTER;
|
RESET MASTER;
|
||||||
SET SESSION BINLOG_FORMAT=ROW;
|
SET SESSION BINLOG_FORMAT=ROW;
|
||||||
|
@ -11399,6 +11399,23 @@ cp932_japanese_ci 6109
|
|||||||
cp932_japanese_ci 61
|
cp932_japanese_ci 61
|
||||||
cp932_japanese_ci 6120
|
cp932_japanese_ci 6120
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
SET collation_connection='cp932_bin';
|
SET collation_connection='cp932_bin';
|
||||||
create table t1 select repeat('a',4000) a;
|
create table t1 select repeat('a',4000) a;
|
||||||
delete from t1;
|
delete from t1;
|
||||||
@ -11409,6 +11426,23 @@ cp932_bin 6109
|
|||||||
cp932_bin 61
|
cp932_bin 61
|
||||||
cp932_bin 6120
|
cp932_bin 6120
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
create table t2 (a char(1));
|
create table t2 (a char(1));
|
||||||
insert into t2 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
|
insert into t2 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
|
||||||
insert into t2 values ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
|
insert into t2 values ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
|
||||||
|
@ -822,10 +822,8 @@ UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
|
|||||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||||
show binlog events from <binlog_start>;
|
show binlog events from <binlog_start>;
|
||||||
Log_name Pos Event_type Server_id End_log_pos Info
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
master-bin.000001 # Query # # use `test`; BEGIN
|
|
||||||
master-bin.000001 # Intvar # # INSERT_ID=6
|
master-bin.000001 # Intvar # # INSERT_ID=6
|
||||||
master-bin.000001 # Query # # use `test`; UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */
|
master-bin.000001 # Query # # use `test`; UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */
|
||||||
master-bin.000001 # Query # # use `test`; ROLLBACK
|
|
||||||
select count(*) from t1 /* must be 4 */;
|
select count(*) from t1 /* must be 4 */;
|
||||||
count(*)
|
count(*)
|
||||||
4
|
4
|
||||||
|
@ -11399,6 +11399,23 @@ cp932_japanese_ci 6109
|
|||||||
cp932_japanese_ci 61
|
cp932_japanese_ci 61
|
||||||
cp932_japanese_ci 6120
|
cp932_japanese_ci 6120
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
SET collation_connection='cp932_bin';
|
SET collation_connection='cp932_bin';
|
||||||
create table t1 select repeat('a',4000) a;
|
create table t1 select repeat('a',4000) a;
|
||||||
delete from t1;
|
delete from t1;
|
||||||
@ -11409,6 +11426,23 @@ cp932_bin 6109
|
|||||||
cp932_bin 61
|
cp932_bin 61
|
||||||
cp932_bin 6120
|
cp932_bin 6120
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 AS
|
||||||
|
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||||
|
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
|
||||||
|
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
|
||||||
|
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
|
||||||
|
hex(concat(repeat(0xF1F2, 10), '%'))
|
||||||
|
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
|
||||||
|
3 rows expected
|
||||||
|
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
|
||||||
|
a hex(b) c
|
||||||
|
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
|
||||||
|
DROP TABLE t1;
|
||||||
create table t2 (a char(1));
|
create table t2 (a char(1));
|
||||||
insert into t2 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
|
insert into t2 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
|
||||||
insert into t2 values ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
|
insert into t2 values ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
|
||||||
|
@ -15,10 +15,14 @@ ROLLBACK/*!*/;
|
|||||||
SET @`v`:=_ucs2 0x006100620063 COLLATE `ucs2_general_ci`/*!*/;
|
SET @`v`:=_ucs2 0x006100620063 COLLATE `ucs2_general_ci`/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=10000/*!*/;
|
SET TIMESTAMP=10000/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
insert into t2 values (@v)
|
insert into t2 values (@v)
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
@ -549,10 +549,8 @@ UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
|
|||||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||||
show binlog events from <binlog_start>;
|
show binlog events from <binlog_start>;
|
||||||
Log_name Pos Event_type Server_id End_log_pos Info
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
master-bin.000001 # Query # # use `test`; BEGIN
|
|
||||||
master-bin.000001 # Intvar # # INSERT_ID=6
|
master-bin.000001 # Intvar # # INSERT_ID=6
|
||||||
master-bin.000001 # Query # # use `test`; UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */
|
master-bin.000001 # Query # # use `test`; UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */
|
||||||
master-bin.000001 # Query # # use `test`; ROLLBACK
|
|
||||||
/* the output must denote there is the query */;
|
/* the output must denote there is the query */;
|
||||||
select count(*) from t1 /* must be 4 */;
|
select count(*) from t1 /* must be 4 */;
|
||||||
count(*)
|
count(*)
|
||||||
@ -788,10 +786,8 @@ UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
|
|||||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||||
show binlog events from <binlog_start>;
|
show binlog events from <binlog_start>;
|
||||||
Log_name Pos Event_type Server_id End_log_pos Info
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
master-bin.000001 # Query # # use `test`; BEGIN
|
|
||||||
master-bin.000001 # Intvar # # INSERT_ID=6
|
master-bin.000001 # Intvar # # INSERT_ID=6
|
||||||
master-bin.000001 # Query # # use `test`; UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */
|
master-bin.000001 # Query # # use `test`; UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */
|
||||||
master-bin.000001 # Query # # use `test`; ROLLBACK
|
|
||||||
select count(*) from t1 /* must be 4 */;
|
select count(*) from t1 /* must be 4 */;
|
||||||
count(*)
|
count(*)
|
||||||
4
|
4
|
||||||
|
@ -1,13 +1,194 @@
|
|||||||
SET BINLOG_FORMAT=STATEMENT;
|
==== Setup tables ====
|
||||||
CREATE TABLE t1 (a CHAR(40));
|
CREATE TABLE t1 (a INT);
|
||||||
CREATE TABLE t2 (a INT AUTO_INCREMENT PRIMARY KEY);
|
CREATE TABLE t2 (a CHAR(40));
|
||||||
CREATE TABLE t3 (b INT AUTO_INCREMENT PRIMARY KEY);
|
CREATE TABLE t3 (a INT AUTO_INCREMENT PRIMARY KEY);
|
||||||
CREATE VIEW v1(a,b) AS SELECT a,b FROM t2,t3;
|
CREATE TABLE trigger_table (a CHAR(7));
|
||||||
INSERT INTO t1 SELECT UUID();
|
CREATE TABLE trigger_table2 (a INT);
|
||||||
|
==== Non-deterministic statements ====
|
||||||
|
INSERT DELAYED INTO t1 VALUES (5);
|
||||||
|
==== Some variables that *should* be unsafe ====
|
||||||
|
---- Insert directly ----
|
||||||
|
INSERT INTO t1 VALUES (@@global.sync_binlog);
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1592 Statement is not safe to log in statement format.
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
SHOW WARNINGS;
|
INSERT INTO t1 VALUES (@@session.insert_id);
|
||||||
Level Warning
|
Warnings:
|
||||||
Code 1592
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
Message Statement is not safe to log in statement format.
|
INSERT INTO t1 VALUES (@@global.auto_increment_increment);
|
||||||
DROP TABLE t1,t2,t3;
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
INSERT INTO t2 SELECT UUID();
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
INSERT INTO t2 VALUES (@@session.sql_mode);
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
INSERT INTO t2 VALUES (@@global.init_slave);
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
INSERT INTO t2 VALUES (@@hostname);
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
---- Insert from stored procedure ----
|
||||||
|
CREATE PROCEDURE proc()
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO t1 VALUES (@@global.sync_binlog);
|
||||||
|
INSERT INTO t1 VALUES (@@session.insert_id);
|
||||||
|
INSERT INTO t1 VALUES (@@global.auto_increment_increment);
|
||||||
|
INSERT INTO t2 SELECT UUID();
|
||||||
|
INSERT INTO t2 VALUES (@@session.sql_mode);
|
||||||
|
INSERT INTO t2 VALUES (@@global.init_slave);
|
||||||
|
INSERT INTO t2 VALUES (@@hostname);
|
||||||
|
END|
|
||||||
|
CALL proc();
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
---- Insert from stored function ----
|
||||||
|
CREATE FUNCTION func()
|
||||||
|
RETURNS INT
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO t1 VALUES (@@global.sync_binlog);
|
||||||
|
INSERT INTO t1 VALUES (@@session.insert_id);
|
||||||
|
INSERT INTO t1 VALUES (@@global.auto_increment_increment);
|
||||||
|
INSERT INTO t2 SELECT UUID();
|
||||||
|
INSERT INTO t2 VALUES (@@session.sql_mode);
|
||||||
|
INSERT INTO t2 VALUES (@@global.init_slave);
|
||||||
|
INSERT INTO t2 VALUES (@@hostname);
|
||||||
|
RETURN 0;
|
||||||
|
END|
|
||||||
|
SELECT func();
|
||||||
|
func()
|
||||||
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
---- Insert from trigger ----
|
||||||
|
CREATE TRIGGER trig
|
||||||
|
BEFORE INSERT ON trigger_table
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO t1 VALUES (@@global.sync_binlog);
|
||||||
|
INSERT INTO t1 VALUES (@@session.insert_id);
|
||||||
|
INSERT INTO t1 VALUES (@@global.auto_increment_increment);
|
||||||
|
INSERT INTO t2 SELECT UUID();
|
||||||
|
INSERT INTO t2 VALUES (@@session.sql_mode);
|
||||||
|
INSERT INTO t2 VALUES (@@global.init_slave);
|
||||||
|
INSERT INTO t2 VALUES (@@hostname);
|
||||||
|
END|
|
||||||
|
INSERT INTO trigger_table VALUES ('bye.');
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
---- Insert from prepared statement ----
|
||||||
|
PREPARE p1 FROM 'INSERT INTO t1 VALUES (@@global.sync_binlog)';
|
||||||
|
PREPARE p2 FROM 'INSERT INTO t1 VALUES (@@session.insert_id)';
|
||||||
|
PREPARE p3 FROM 'INSERT INTO t1 VALUES (@@global.auto_increment_increment)';
|
||||||
|
PREPARE p4 FROM 'INSERT INTO t2 SELECT UUID()';
|
||||||
|
PREPARE p5 FROM 'INSERT INTO t2 VALUES (@@session.sql_mode)';
|
||||||
|
PREPARE p6 FROM 'INSERT INTO t2 VALUES (@@global.init_slave)';
|
||||||
|
PREPARE p7 FROM 'INSERT INTO t2 VALUES (@@hostname)';
|
||||||
|
EXECUTE p1;
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
EXECUTE p2;
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
EXECUTE p3;
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
EXECUTE p4;
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
EXECUTE p5;
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
EXECUTE p6;
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
EXECUTE p7;
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
---- Insert from nested call of triggers / functions / procedures ----
|
||||||
|
CREATE PROCEDURE proc1()
|
||||||
|
INSERT INTO trigger_table VALUES ('ha!')|
|
||||||
|
CREATE FUNCTION func2()
|
||||||
|
RETURNS INT
|
||||||
|
BEGIN
|
||||||
|
CALL proc1();
|
||||||
|
RETURN 0;
|
||||||
|
END|
|
||||||
|
CREATE TRIGGER trig3
|
||||||
|
BEFORE INSERT ON trigger_table2
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
DECLARE tmp INT;
|
||||||
|
SELECT func2() INTO tmp;
|
||||||
|
END|
|
||||||
|
CREATE PROCEDURE proc4()
|
||||||
|
INSERT INTO trigger_table2 VALUES (1)|
|
||||||
|
CREATE FUNCTION func5()
|
||||||
|
RETURNS INT
|
||||||
|
BEGIN
|
||||||
|
CALL proc4;
|
||||||
|
RETURN 0;
|
||||||
|
END|
|
||||||
|
PREPARE prep6 FROM 'SELECT func5()'|
|
||||||
|
EXECUTE prep6;
|
||||||
|
func5()
|
||||||
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
==== Variables that should *not* be unsafe ====
|
||||||
|
INSERT INTO t1 VALUES (@@session.pseudo_thread_id);
|
||||||
|
INSERT INTO t1 VALUES (@@session.pseudo_thread_id);
|
||||||
|
INSERT INTO t1 VALUES (@@session.foreign_key_checks);
|
||||||
|
INSERT INTO t1 VALUES (@@session.sql_auto_is_null);
|
||||||
|
INSERT INTO t1 VALUES (@@session.unique_checks);
|
||||||
|
INSERT INTO t1 VALUES (@@session.auto_increment_increment);
|
||||||
|
INSERT INTO t1 VALUES (@@session.auto_increment_offset);
|
||||||
|
INSERT INTO t2 VALUES (@@session.character_set_client);
|
||||||
|
INSERT INTO t2 VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO t2 VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO t2 VALUES (@@session.time_zone);
|
||||||
|
INSERT INTO t2 VALUES (@@session.lc_time_names);
|
||||||
|
INSERT INTO t2 VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO t2 VALUES (@@session.timestamp);
|
||||||
|
INSERT INTO t2 VALUES (@@session.last_insert_id);
|
||||||
|
SET @my_var= 4711;
|
||||||
|
INSERT INTO t1 VALUES (@my_var);
|
||||||
|
SET insert_id=12;
|
||||||
|
INSERT INTO t3 VALUES (NULL);
|
||||||
|
==== Clean up ====
|
||||||
|
DROP PROCEDURE proc;
|
||||||
|
DROP FUNCTION func;
|
||||||
|
DROP TRIGGER trig;
|
||||||
|
DROP PROCEDURE proc1;
|
||||||
|
DROP FUNCTION func2;
|
||||||
|
DROP TRIGGER trig3;
|
||||||
|
DROP PROCEDURE proc4;
|
||||||
|
DROP FUNCTION func5;
|
||||||
|
DROP PREPARE prep6;
|
||||||
|
DROP TABLE t1, t2, t3, trigger_table, trigger_table2;
|
||||||
|
@ -70,7 +70,7 @@ select * from t1;
|
|||||||
--echo ==== Test --base64-output=never on a binlog with row events ====
|
--echo ==== Test --base64-output=never on a binlog with row events ====
|
||||||
|
|
||||||
# mysqlbinlog should fail
|
# mysqlbinlog should fail
|
||||||
--replace_regex /#[0-9][0-9][0-9][0-9][0-9][0-9] .*/#/
|
--replace_regex /#[0-9][0-9][0-9][0-9][0-9][0-9] .*/<#>/ /SET \@\@session.pseudo_thread_id.*/<#>/
|
||||||
error 1;
|
error 1;
|
||||||
exec $MYSQL_BINLOG --base64-output=never suite/binlog/std_data/bug32407.001;
|
exec $MYSQL_BINLOG --base64-output=never suite/binlog/std_data/bug32407.001;
|
||||||
# the above line should output the query log event and then stop
|
# the above line should output the query log event and then stop
|
||||||
|
@ -15,11 +15,16 @@ RESET MASTER;
|
|||||||
|
|
||||||
SET SESSION BINLOG_FORMAT=STATEMENT;
|
SET SESSION BINLOG_FORMAT=STATEMENT;
|
||||||
|
|
||||||
INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
|
|
||||||
INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
|
INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
|
||||||
|
INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
|
||||||
|
|
||||||
UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
|
UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
|
||||||
|
|
||||||
|
# Here and below we need to wait when some event appears in binlog
|
||||||
|
# to avoid unsrted mixing local events and from NDB
|
||||||
|
let $wait_binlog_event= t1m, t1b;
|
||||||
|
source include/wait_for_binlog_event.inc;
|
||||||
|
|
||||||
echo *** Please look in binlog_multi_engine.test if you have a diff here ****;
|
echo *** Please look in binlog_multi_engine.test if you have a diff here ****;
|
||||||
START TRANSACTION;
|
START TRANSACTION;
|
||||||
INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
|
INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
|
||||||
@ -27,20 +32,33 @@ UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
|
|||||||
UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c;
|
UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
|
let $wait_binlog_event= COMMIT;
|
||||||
|
source include/wait_for_binlog_event.inc;
|
||||||
|
|
||||||
TRUNCATE t1m;
|
TRUNCATE t1m;
|
||||||
TRUNCATE t1b;
|
TRUNCATE t1b;
|
||||||
TRUNCATE t1n;
|
TRUNCATE t1n;
|
||||||
|
|
||||||
|
let $wait_binlog_event= t1n;
|
||||||
|
source include/wait_for_binlog_event.inc;
|
||||||
|
|
||||||
source include/show_binlog_events.inc;
|
source include/show_binlog_events.inc;
|
||||||
|
|
||||||
RESET MASTER;
|
RESET MASTER;
|
||||||
|
|
||||||
SET SESSION BINLOG_FORMAT=MIXED;
|
SET SESSION BINLOG_FORMAT=MIXED;
|
||||||
|
|
||||||
INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
|
|
||||||
INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
|
INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
|
||||||
|
INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
|
||||||
|
|
||||||
|
let $wait_binlog_event= t1m;
|
||||||
|
source include/wait_for_binlog_event.inc;
|
||||||
|
|
||||||
INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
|
INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
|
||||||
|
|
||||||
|
let $wait_binlog_event= COMMIT;
|
||||||
|
source include/wait_for_binlog_event.inc;
|
||||||
|
|
||||||
UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
|
UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
|
||||||
error ER_BINLOG_LOGGING_IMPOSSIBLE;
|
error ER_BINLOG_LOGGING_IMPOSSIBLE;
|
||||||
UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
|
UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
|
||||||
|
@ -1,18 +1,238 @@
|
|||||||
# Test to check that a warning is generated for unsafe statements
|
# ==== Purpose ====
|
||||||
# executed under statement mode logging.
|
#
|
||||||
|
# Some statements can not be written to the binlog in a safe manner
|
||||||
|
# with statement-based replication, either because they rely on
|
||||||
|
# features that are local to the server they are replicated from
|
||||||
|
# (e.g., @@variables), or because they include nondeterministic
|
||||||
|
# queries (e.g., LIMIT), or because the time at which the query is
|
||||||
|
# executed cannot be determined (e.g., INSERT DELAYED). Such
|
||||||
|
# statements should be marked unsafe. All unsafe statements should
|
||||||
|
# give a warning.
|
||||||
|
#
|
||||||
|
# This test verifies that a warning is generated for statements that
|
||||||
|
# should be unsafe, when they are executed under statement mode
|
||||||
|
# logging.
|
||||||
|
#
|
||||||
|
# All variables should be unsafe, with some exceptions. Therefore,
|
||||||
|
# this test also verifies that the exceptions do *not* generare a
|
||||||
|
# warning.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# ==== Method ====
|
||||||
|
#
|
||||||
|
# We try an INSERT DELAYED statement and verify that a warning is
|
||||||
|
# issued.
|
||||||
|
#
|
||||||
|
# We try to insert unsafe variables into a table in several ways:
|
||||||
|
# directly with an INSERT statement, from a stored procedure, from a
|
||||||
|
# stored function, from a trigger, from a prepared statement, and from
|
||||||
|
# a complicated nesting of triggers, functions, procedures, and
|
||||||
|
# prepared statements. In all cases, a warning should be issued.
|
||||||
|
#
|
||||||
|
# We try to insert the variables that should not be unsafe into a
|
||||||
|
# table, and verify that *no* warning is issued.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# ==== Related bugs and worklogs ====
|
||||||
|
#
|
||||||
|
# WL#3339: Issue warnings when statement-based replication may fail
|
||||||
|
# BUG#31168: @@hostname does not replicate
|
||||||
|
# BUG#34732: mysqlbinlog does not print default values for auto_increment variables
|
||||||
|
# BUG#34768: nondeterministic INSERT using LIMIT logged in stmt mode if binlog_format=mixed
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# ==== Related test cases ====
|
||||||
|
#
|
||||||
|
# rpl.rpl_variables verifies that variables which cannot be replicated
|
||||||
|
# safely in statement mode are replicated correctly in mixed or row
|
||||||
|
# mode.
|
||||||
|
#
|
||||||
|
# rpl.rpl_variables_stm tests the small subset of variables that
|
||||||
|
# actually can be replicated safely in statement mode.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# ==== Todo ====
|
||||||
|
#
|
||||||
|
# There are several other ways to create unsafe statements: see, e.g.,
|
||||||
|
# WL#3339, BUG#34768.
|
||||||
|
|
||||||
source include/have_log_bin.inc;
|
source include/have_log_bin.inc;
|
||||||
|
source include/have_binlog_format_statement.inc;
|
||||||
|
|
||||||
SET BINLOG_FORMAT=STATEMENT;
|
--echo ==== Setup tables ====
|
||||||
|
|
||||||
CREATE TABLE t1 (a CHAR(40));
|
CREATE TABLE t1 (a INT);
|
||||||
CREATE TABLE t2 (a INT AUTO_INCREMENT PRIMARY KEY);
|
CREATE TABLE t2 (a CHAR(40));
|
||||||
CREATE TABLE t3 (b INT AUTO_INCREMENT PRIMARY KEY);
|
CREATE TABLE t3 (a INT AUTO_INCREMENT PRIMARY KEY);
|
||||||
CREATE VIEW v1(a,b) AS SELECT a,b FROM t2,t3;
|
CREATE TABLE trigger_table (a CHAR(7));
|
||||||
|
CREATE TABLE trigger_table2 (a INT);
|
||||||
INSERT INTO t1 SELECT UUID();
|
|
||||||
query_vertical SHOW WARNINGS;
|
|
||||||
|
|
||||||
DROP TABLE t1,t2,t3;
|
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Non-deterministic statements ====
|
||||||
|
|
||||||
|
INSERT DELAYED INTO t1 VALUES (5);
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Some variables that *should* be unsafe ====
|
||||||
|
|
||||||
|
--echo ---- Insert directly ----
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES (@@global.sync_binlog);
|
||||||
|
INSERT INTO t1 VALUES (@@session.insert_id);
|
||||||
|
INSERT INTO t1 VALUES (@@global.auto_increment_increment);
|
||||||
|
INSERT INTO t2 SELECT UUID();
|
||||||
|
INSERT INTO t2 VALUES (@@session.sql_mode);
|
||||||
|
INSERT INTO t2 VALUES (@@global.init_slave);
|
||||||
|
INSERT INTO t2 VALUES (@@hostname);
|
||||||
|
|
||||||
|
--echo ---- Insert from stored procedure ----
|
||||||
|
|
||||||
|
DELIMITER |;
|
||||||
|
CREATE PROCEDURE proc()
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO t1 VALUES (@@global.sync_binlog);
|
||||||
|
INSERT INTO t1 VALUES (@@session.insert_id);
|
||||||
|
INSERT INTO t1 VALUES (@@global.auto_increment_increment);
|
||||||
|
INSERT INTO t2 SELECT UUID();
|
||||||
|
INSERT INTO t2 VALUES (@@session.sql_mode);
|
||||||
|
INSERT INTO t2 VALUES (@@global.init_slave);
|
||||||
|
INSERT INTO t2 VALUES (@@hostname);
|
||||||
|
END|
|
||||||
|
DELIMITER ;|
|
||||||
|
|
||||||
|
CALL proc();
|
||||||
|
|
||||||
|
--echo ---- Insert from stored function ----
|
||||||
|
|
||||||
|
DELIMITER |;
|
||||||
|
CREATE FUNCTION func()
|
||||||
|
RETURNS INT
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO t1 VALUES (@@global.sync_binlog);
|
||||||
|
INSERT INTO t1 VALUES (@@session.insert_id);
|
||||||
|
INSERT INTO t1 VALUES (@@global.auto_increment_increment);
|
||||||
|
INSERT INTO t2 SELECT UUID();
|
||||||
|
INSERT INTO t2 VALUES (@@session.sql_mode);
|
||||||
|
INSERT INTO t2 VALUES (@@global.init_slave);
|
||||||
|
INSERT INTO t2 VALUES (@@hostname);
|
||||||
|
RETURN 0;
|
||||||
|
END|
|
||||||
|
DELIMITER ;|
|
||||||
|
|
||||||
|
SELECT func();
|
||||||
|
|
||||||
|
--echo ---- Insert from trigger ----
|
||||||
|
|
||||||
|
DELIMITER |;
|
||||||
|
CREATE TRIGGER trig
|
||||||
|
BEFORE INSERT ON trigger_table
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO t1 VALUES (@@global.sync_binlog);
|
||||||
|
INSERT INTO t1 VALUES (@@session.insert_id);
|
||||||
|
INSERT INTO t1 VALUES (@@global.auto_increment_increment);
|
||||||
|
INSERT INTO t2 SELECT UUID();
|
||||||
|
INSERT INTO t2 VALUES (@@session.sql_mode);
|
||||||
|
INSERT INTO t2 VALUES (@@global.init_slave);
|
||||||
|
INSERT INTO t2 VALUES (@@hostname);
|
||||||
|
END|
|
||||||
|
DELIMITER ;|
|
||||||
|
|
||||||
|
INSERT INTO trigger_table VALUES ('bye.');
|
||||||
|
|
||||||
|
--echo ---- Insert from prepared statement ----
|
||||||
|
|
||||||
|
PREPARE p1 FROM 'INSERT INTO t1 VALUES (@@global.sync_binlog)';
|
||||||
|
PREPARE p2 FROM 'INSERT INTO t1 VALUES (@@session.insert_id)';
|
||||||
|
PREPARE p3 FROM 'INSERT INTO t1 VALUES (@@global.auto_increment_increment)';
|
||||||
|
PREPARE p4 FROM 'INSERT INTO t2 SELECT UUID()';
|
||||||
|
PREPARE p5 FROM 'INSERT INTO t2 VALUES (@@session.sql_mode)';
|
||||||
|
PREPARE p6 FROM 'INSERT INTO t2 VALUES (@@global.init_slave)';
|
||||||
|
PREPARE p7 FROM 'INSERT INTO t2 VALUES (@@hostname)';
|
||||||
|
|
||||||
|
EXECUTE p1; EXECUTE p2; EXECUTE p3; EXECUTE p4; EXECUTE p5;
|
||||||
|
EXECUTE p6; EXECUTE p7;
|
||||||
|
|
||||||
|
--echo ---- Insert from nested call of triggers / functions / procedures ----
|
||||||
|
|
||||||
|
DELIMITER |;
|
||||||
|
|
||||||
|
# proc1: cause trigger 'trig' above to be triggered.
|
||||||
|
CREATE PROCEDURE proc1()
|
||||||
|
INSERT INTO trigger_table VALUES ('ha!')|
|
||||||
|
|
||||||
|
# func2: call proc1 above.
|
||||||
|
CREATE FUNCTION func2()
|
||||||
|
RETURNS INT
|
||||||
|
BEGIN
|
||||||
|
CALL proc1();
|
||||||
|
RETURN 0;
|
||||||
|
END|
|
||||||
|
|
||||||
|
# trig3: call func2 above
|
||||||
|
CREATE TRIGGER trig3
|
||||||
|
BEFORE INSERT ON trigger_table2
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
DECLARE tmp INT;
|
||||||
|
SELECT func2() INTO tmp;
|
||||||
|
END|
|
||||||
|
|
||||||
|
# proc4: cause trig3 above to be triggered.
|
||||||
|
CREATE PROCEDURE proc4()
|
||||||
|
INSERT INTO trigger_table2 VALUES (1)|
|
||||||
|
|
||||||
|
# func5: call proc4 above.
|
||||||
|
CREATE FUNCTION func5()
|
||||||
|
RETURNS INT
|
||||||
|
BEGIN
|
||||||
|
CALL proc4;
|
||||||
|
RETURN 0;
|
||||||
|
END|
|
||||||
|
|
||||||
|
# prep6: call func5() above.
|
||||||
|
PREPARE prep6 FROM 'SELECT func5()'|
|
||||||
|
|
||||||
|
DELIMITER ;|
|
||||||
|
|
||||||
|
# try a complicated call path to trigger 'trig'.
|
||||||
|
EXECUTE prep6;
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Variables that should *not* be unsafe ====
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES (@@session.pseudo_thread_id);
|
||||||
|
INSERT INTO t1 VALUES (@@session.pseudo_thread_id);
|
||||||
|
INSERT INTO t1 VALUES (@@session.foreign_key_checks);
|
||||||
|
INSERT INTO t1 VALUES (@@session.sql_auto_is_null);
|
||||||
|
INSERT INTO t1 VALUES (@@session.unique_checks);
|
||||||
|
INSERT INTO t1 VALUES (@@session.auto_increment_increment);
|
||||||
|
INSERT INTO t1 VALUES (@@session.auto_increment_offset);
|
||||||
|
INSERT INTO t2 VALUES (@@session.character_set_client);
|
||||||
|
INSERT INTO t2 VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO t2 VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO t2 VALUES (@@session.time_zone);
|
||||||
|
INSERT INTO t2 VALUES (@@session.lc_time_names);
|
||||||
|
INSERT INTO t2 VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO t2 VALUES (@@session.timestamp);
|
||||||
|
INSERT INTO t2 VALUES (@@session.last_insert_id);
|
||||||
|
SET @my_var= 4711;
|
||||||
|
INSERT INTO t1 VALUES (@my_var);
|
||||||
|
|
||||||
|
# using insert_id implicitly should be ok.
|
||||||
|
SET insert_id=12;
|
||||||
|
INSERT INTO t3 VALUES (NULL);
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Clean up ====
|
||||||
|
|
||||||
|
DROP PROCEDURE proc;
|
||||||
|
DROP FUNCTION func;
|
||||||
|
DROP TRIGGER trig;
|
||||||
|
DROP PROCEDURE proc1;
|
||||||
|
DROP FUNCTION func2;
|
||||||
|
DROP TRIGGER trig3;
|
||||||
|
DROP PROCEDURE proc4;
|
||||||
|
DROP FUNCTION func5;
|
||||||
|
DROP PREPARE prep6;
|
||||||
|
DROP TABLE t1, t2, t3, trigger_table, trigger_table2;
|
||||||
|
@ -9,4 +9,3 @@
|
|||||||
# Do not use any TAB characters for whitespace.
|
# Do not use any TAB characters for whitespace.
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
binlog_multi_engine : Bug#32663 binlog_multi_engine.test fails randomly
|
|
||||||
|
23
mysql-test/suite/bugs/r/rpl_bug23533.result
Normal file
23
mysql-test/suite/bugs/r/rpl_bug23533.result
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
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;
|
||||||
|
DROP TABLE IF EXISTS t1,t2;
|
||||||
|
SET AUTOCOMMIT=0;
|
||||||
|
SET GLOBAL max_binlog_cache_size=4096;
|
||||||
|
SHOW VARIABLES LIKE 'max_binlog_cache_size';
|
||||||
|
Variable_name Value
|
||||||
|
max_binlog_cache_size 4096
|
||||||
|
CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b TEXT, PRIMARY KEY(a)) ENGINE=InnoDB;
|
||||||
|
SELECT COUNT(*) FROM t1;
|
||||||
|
COUNT(*)
|
||||||
|
1000
|
||||||
|
START TRANSACTION;
|
||||||
|
CREATE TABLE t2 SELECT * FROM t1;
|
||||||
|
ERROR HY000: Writing one row to the row-based binary log failed
|
||||||
|
COMMIT;
|
||||||
|
SHOW TABLES LIKE 't%';
|
||||||
|
Tables_in_test (t%)
|
||||||
|
t1
|
@ -13,3 +13,4 @@ a b
|
|||||||
SELECT * FROM t1 ORDER BY a;
|
SELECT * FROM t1 ORDER BY a;
|
||||||
a b
|
a b
|
||||||
3 -3
|
3 -3
|
||||||
|
DROP TABLE t1;
|
||||||
|
43
mysql-test/suite/bugs/t/rpl_bug23533.test
Normal file
43
mysql-test/suite/bugs/t/rpl_bug23533.test
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
#############################################################
|
||||||
|
# Author: Serge Kozlov <skozlov@mysql.com>
|
||||||
|
# Date: 02/26/2008
|
||||||
|
# Purpose: testing bug report
|
||||||
|
# Bug#23533: CREATE SELECT max_binlog_cache_size test
|
||||||
|
# case needed
|
||||||
|
#############################################################
|
||||||
|
|
||||||
|
--source include/have_innodb.inc
|
||||||
|
--source include/have_binlog_format_row.inc
|
||||||
|
--source include/master-slave.inc
|
||||||
|
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
DROP TABLE IF EXISTS t1,t2;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
SET AUTOCOMMIT=0;
|
||||||
|
SET GLOBAL max_binlog_cache_size=4096;
|
||||||
|
SHOW VARIABLES LIKE 'max_binlog_cache_size';
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b TEXT, PRIMARY KEY(a)) ENGINE=InnoDB;
|
||||||
|
|
||||||
|
--disable_query_log
|
||||||
|
let $i= 1000;
|
||||||
|
while ($i)
|
||||||
|
{
|
||||||
|
eval INSERT INTO t1 VALUES($i, REPEAT('x', 4096));
|
||||||
|
dec $i;
|
||||||
|
}
|
||||||
|
--enable_query_log
|
||||||
|
|
||||||
|
SELECT COUNT(*) FROM t1;
|
||||||
|
|
||||||
|
# Copied data from t1 into t2 large than max_binlog_cache_size
|
||||||
|
START TRANSACTION;
|
||||||
|
--error 1534
|
||||||
|
CREATE TABLE t2 SELECT * FROM t1;
|
||||||
|
COMMIT;
|
||||||
|
SHOW TABLES LIKE 't%';
|
||||||
|
|
||||||
|
|
||||||
|
# 5.1 End of Test
|
@ -18,9 +18,7 @@ master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (1,2), (2
|
|||||||
master-bin.000001 # Query # # use `test`; BEGIN
|
master-bin.000001 # Query # # use `test`; BEGIN
|
||||||
master-bin.000001 # Query # # use `test`; INSERT INTO t2 VALUES (1,1), (1,2), (2,1), (2,2)
|
master-bin.000001 # Query # # use `test`; INSERT INTO t2 VALUES (1,1), (1,2), (2,1), (2,2)
|
||||||
master-bin.000001 # Query # # use `test`; COMMIT
|
master-bin.000001 # Query # # use `test`; COMMIT
|
||||||
master-bin.000001 # Query # # use `test`; BEGIN
|
|
||||||
master-bin.000001 # Query # # use `test`; UPDATE t1, t2 SET m = 2, b = 3 WHERE n = c
|
master-bin.000001 # Query # # use `test`; UPDATE t1, t2 SET m = 2, b = 3 WHERE n = c
|
||||||
master-bin.000001 # Query # # use `test`; COMMIT
|
|
||||||
master-bin.000001 # Query # # use `test`; BEGIN
|
master-bin.000001 # Query # # use `test`; BEGIN
|
||||||
master-bin.000001 # Query # # use `test`; INSERT INTO t3 VALUES (1,1), (1,2), (2,1), (2,2)
|
master-bin.000001 # Query # # use `test`; INSERT INTO t3 VALUES (1,1), (1,2), (2,1), (2,2)
|
||||||
master-bin.000001 # Query # # use `test`; UPDATE t1, t3 SET m = 2, e = 3 WHERE n = f
|
master-bin.000001 # Query # # use `test`; UPDATE t1, t3 SET m = 2, e = 3 WHERE n = f
|
||||||
|
43
mysql-test/suite/rpl/r/rpl_bug33931.result
Normal file
43
mysql-test/suite/rpl/r/rpl_bug33931.result
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
reset master;
|
||||||
|
stop slave;
|
||||||
|
reset slave;
|
||||||
|
start slave;
|
||||||
|
show slave status;
|
||||||
|
Slave_IO_State #
|
||||||
|
Master_Host 127.0.0.1
|
||||||
|
Master_User root
|
||||||
|
Master_Port MASTER_PORT
|
||||||
|
Connect_Retry 1
|
||||||
|
Master_Log_File
|
||||||
|
Read_Master_Log_Pos 4
|
||||||
|
Relay_Log_File #
|
||||||
|
Relay_Log_Pos #
|
||||||
|
Relay_Master_Log_File
|
||||||
|
Slave_IO_Running No
|
||||||
|
Slave_SQL_Running No
|
||||||
|
Replicate_Do_DB
|
||||||
|
Replicate_Ignore_DB
|
||||||
|
Replicate_Do_Table
|
||||||
|
Replicate_Ignore_Table
|
||||||
|
Replicate_Wild_Do_Table
|
||||||
|
Replicate_Wild_Ignore_Table
|
||||||
|
Last_Errno 0
|
||||||
|
Last_Error
|
||||||
|
Skip_Counter 0
|
||||||
|
Exec_Master_Log_Pos 0
|
||||||
|
Relay_Log_Space #
|
||||||
|
Until_Condition None
|
||||||
|
Until_Log_File
|
||||||
|
Until_Log_Pos 0
|
||||||
|
Master_SSL_Allowed No
|
||||||
|
Master_SSL_CA_File
|
||||||
|
Master_SSL_CA_Path
|
||||||
|
Master_SSL_Cert
|
||||||
|
Master_SSL_Cipher
|
||||||
|
Master_SSL_Key
|
||||||
|
Seconds_Behind_Master #
|
||||||
|
Master_SSL_Verify_Server_Cert No
|
||||||
|
Last_IO_Errno 0
|
||||||
|
Last_IO_Error
|
||||||
|
Last_SQL_Errno 0
|
||||||
|
Last_SQL_Error
|
@ -399,6 +399,62 @@ set @b1 = concat(@b1,@b1);
|
|||||||
INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
|
INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
|
||||||
*** Drop t8 ***
|
*** Drop t8 ***
|
||||||
DROP TABLE t8;
|
DROP TABLE t8;
|
||||||
|
STOP SLAVE;
|
||||||
|
RESET SLAVE;
|
||||||
|
CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
|
||||||
|
d TIMESTAMP,
|
||||||
|
e INT NOT NULL) ENGINE='InnoDB';
|
||||||
|
*** Create t9 on Master ***
|
||||||
|
CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
|
||||||
|
) ENGINE='InnoDB';
|
||||||
|
RESET MASTER;
|
||||||
|
*** Start Slave ***
|
||||||
|
START SLAVE;
|
||||||
|
*** Master Data Insert ***
|
||||||
|
set @b1 = 'b1b1b1b1';
|
||||||
|
set @b1 = concat(@b1,@b1);
|
||||||
|
INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
|
||||||
|
SHOW SLAVE STATUS;
|
||||||
|
Slave_IO_State #
|
||||||
|
Master_Host 127.0.0.1
|
||||||
|
Master_User root
|
||||||
|
Master_Port #
|
||||||
|
Connect_Retry 1
|
||||||
|
Master_Log_File master-bin.000001
|
||||||
|
Read_Master_Log_Pos #
|
||||||
|
Relay_Log_File #
|
||||||
|
Relay_Log_Pos #
|
||||||
|
Relay_Master_Log_File master-bin.000001
|
||||||
|
Slave_IO_Running Yes
|
||||||
|
Slave_SQL_Running No
|
||||||
|
Replicate_Do_DB
|
||||||
|
Replicate_Ignore_DB
|
||||||
|
Replicate_Do_Table
|
||||||
|
Replicate_Ignore_Table #
|
||||||
|
Replicate_Wild_Do_Table
|
||||||
|
Replicate_Wild_Ignore_Table
|
||||||
|
Last_Errno 1364
|
||||||
|
Last_Error Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 330
|
||||||
|
Skip_Counter 0
|
||||||
|
Exec_Master_Log_Pos #
|
||||||
|
Relay_Log_Space #
|
||||||
|
Until_Condition None
|
||||||
|
Until_Log_File
|
||||||
|
Until_Log_Pos 0
|
||||||
|
Master_SSL_Allowed No
|
||||||
|
Master_SSL_CA_File
|
||||||
|
Master_SSL_CA_Path
|
||||||
|
Master_SSL_Cert
|
||||||
|
Master_SSL_Cipher
|
||||||
|
Master_SSL_Key
|
||||||
|
Seconds_Behind_Master #
|
||||||
|
Master_SSL_Verify_Server_Cert No
|
||||||
|
Last_IO_Errno #
|
||||||
|
Last_IO_Error #
|
||||||
|
Last_SQL_Errno 1364
|
||||||
|
Last_SQL_Error Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 330
|
||||||
|
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
||||||
|
START SLAVE;
|
||||||
*** Create t10 on slave ***
|
*** Create t10 on slave ***
|
||||||
STOP SLAVE;
|
STOP SLAVE;
|
||||||
RESET SLAVE;
|
RESET SLAVE;
|
||||||
|
@ -399,6 +399,62 @@ set @b1 = concat(@b1,@b1);
|
|||||||
INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
|
INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
|
||||||
*** Drop t8 ***
|
*** Drop t8 ***
|
||||||
DROP TABLE t8;
|
DROP TABLE t8;
|
||||||
|
STOP SLAVE;
|
||||||
|
RESET SLAVE;
|
||||||
|
CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
|
||||||
|
d TIMESTAMP,
|
||||||
|
e INT NOT NULL) ENGINE='MyISAM';
|
||||||
|
*** Create t9 on Master ***
|
||||||
|
CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
|
||||||
|
) ENGINE='MyISAM';
|
||||||
|
RESET MASTER;
|
||||||
|
*** Start Slave ***
|
||||||
|
START SLAVE;
|
||||||
|
*** Master Data Insert ***
|
||||||
|
set @b1 = 'b1b1b1b1';
|
||||||
|
set @b1 = concat(@b1,@b1);
|
||||||
|
INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
|
||||||
|
SHOW SLAVE STATUS;
|
||||||
|
Slave_IO_State #
|
||||||
|
Master_Host 127.0.0.1
|
||||||
|
Master_User root
|
||||||
|
Master_Port #
|
||||||
|
Connect_Retry 1
|
||||||
|
Master_Log_File master-bin.000001
|
||||||
|
Read_Master_Log_Pos #
|
||||||
|
Relay_Log_File #
|
||||||
|
Relay_Log_Pos #
|
||||||
|
Relay_Master_Log_File master-bin.000001
|
||||||
|
Slave_IO_Running Yes
|
||||||
|
Slave_SQL_Running No
|
||||||
|
Replicate_Do_DB
|
||||||
|
Replicate_Ignore_DB
|
||||||
|
Replicate_Do_Table
|
||||||
|
Replicate_Ignore_Table #
|
||||||
|
Replicate_Wild_Do_Table
|
||||||
|
Replicate_Wild_Ignore_Table
|
||||||
|
Last_Errno 1364
|
||||||
|
Last_Error Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 262
|
||||||
|
Skip_Counter 0
|
||||||
|
Exec_Master_Log_Pos #
|
||||||
|
Relay_Log_Space #
|
||||||
|
Until_Condition None
|
||||||
|
Until_Log_File
|
||||||
|
Until_Log_Pos 0
|
||||||
|
Master_SSL_Allowed No
|
||||||
|
Master_SSL_CA_File
|
||||||
|
Master_SSL_CA_Path
|
||||||
|
Master_SSL_Cert
|
||||||
|
Master_SSL_Cipher
|
||||||
|
Master_SSL_Key
|
||||||
|
Seconds_Behind_Master #
|
||||||
|
Master_SSL_Verify_Server_Cert No
|
||||||
|
Last_IO_Errno #
|
||||||
|
Last_IO_Error #
|
||||||
|
Last_SQL_Errno 1364
|
||||||
|
Last_SQL_Error Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 262
|
||||||
|
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
||||||
|
START SLAVE;
|
||||||
*** Create t10 on slave ***
|
*** Create t10 on slave ***
|
||||||
STOP SLAVE;
|
STOP SLAVE;
|
||||||
RESET SLAVE;
|
RESET SLAVE;
|
||||||
|
@ -23,7 +23,7 @@ start slave;
|
|||||||
let $result_pattern= '%127.0.0.1%root%slave-bin.000001%slave-bin.000001%Yes%Yes%0%0%None%' ;
|
let $result_pattern= '%127.0.0.1%root%slave-bin.000001%slave-bin.000001%Yes%Yes%0%0%None%' ;
|
||||||
|
|
||||||
--source include/wait_slave_status.inc
|
--source include/wait_slave_status.inc
|
||||||
flush logs;
|
FLUSH LOGS;
|
||||||
SHOW SLAVE STATUS;
|
SHOW SLAVE STATUS;
|
||||||
Slave_IO_State #
|
Slave_IO_State #
|
||||||
Master_Host 127.0.0.1
|
Master_Host 127.0.0.1
|
||||||
@ -31,7 +31,7 @@ Master_User root
|
|||||||
Master_Port SLAVE_PORT
|
Master_Port SLAVE_PORT
|
||||||
Connect_Retry 60
|
Connect_Retry 60
|
||||||
Master_Log_File slave-bin.000001
|
Master_Log_File slave-bin.000001
|
||||||
Read_Master_Log_Pos 216
|
Read_Master_Log_Pos POSITION
|
||||||
Relay_Log_File #
|
Relay_Log_File #
|
||||||
Relay_Log_Pos #
|
Relay_Log_Pos #
|
||||||
Relay_Master_Log_File slave-bin.000001
|
Relay_Master_Log_File slave-bin.000001
|
||||||
@ -46,7 +46,7 @@ Replicate_Wild_Ignore_Table
|
|||||||
Last_Errno 0
|
Last_Errno 0
|
||||||
Last_Error
|
Last_Error
|
||||||
Skip_Counter 0
|
Skip_Counter 0
|
||||||
Exec_Master_Log_Pos 216
|
Exec_Master_Log_Pos POSITION
|
||||||
Relay_Log_Space #
|
Relay_Log_Space #
|
||||||
Until_Condition None
|
Until_Condition None
|
||||||
Until_Log_File
|
Until_Log_File
|
||||||
|
@ -116,23 +116,23 @@ t12
|
|||||||
t13
|
t13
|
||||||
t2
|
t2
|
||||||
t3
|
t3
|
||||||
SELECT table_name FROM information_schema.views WHERE table_schema='test' ORDER BY table_name;
|
SELECT table_name FROM information_schema.views WHERE table_schema='test';
|
||||||
table_name
|
table_name
|
||||||
v1
|
v1
|
||||||
v11
|
v11
|
||||||
SELECT trigger_name, event_manipulation, event_object_table FROM information_schema.triggers WHERE trigger_schema='test' ORDER BY trigger_name;
|
SELECT trigger_name, event_manipulation, event_object_table FROM information_schema.triggers WHERE trigger_schema='test';
|
||||||
trigger_name event_manipulation event_object_table
|
trigger_name event_manipulation event_object_table
|
||||||
t11_tr1 INSERT t11
|
t11_tr1 INSERT t11
|
||||||
t11_tr2 UPDATE t11
|
t11_tr2 UPDATE t11
|
||||||
t1_tr1 INSERT t1
|
t1_tr1 INSERT t1
|
||||||
t1_tr2 UPDATE t1
|
t1_tr2 UPDATE t1
|
||||||
SELECT routine_type, routine_name FROM information_schema.routines WHERE routine_schema='test' ORDER BY routine_name;
|
SELECT routine_type, routine_name FROM information_schema.routines WHERE routine_schema='test';
|
||||||
routine_type routine_name
|
routine_type routine_name
|
||||||
FUNCTION f1
|
FUNCTION f1
|
||||||
FUNCTION f2
|
FUNCTION f2
|
||||||
PROCEDURE p1
|
PROCEDURE p1
|
||||||
PROCEDURE p11
|
PROCEDURE p11
|
||||||
SELECT event_name, status FROM information_schema.events WHERE event_schema='test' ORDER BY event_name;
|
SELECT event_name, status FROM information_schema.events WHERE event_schema='test';
|
||||||
event_name status
|
event_name status
|
||||||
e1 DISABLED
|
e1 DISABLED
|
||||||
e11 DISABLED
|
e11 DISABLED
|
||||||
@ -276,23 +276,23 @@ t12
|
|||||||
t13
|
t13
|
||||||
t2
|
t2
|
||||||
t3
|
t3
|
||||||
SELECT table_name FROM information_schema.views WHERE table_schema='test' ORDER BY table_name;
|
SELECT table_name FROM information_schema.views WHERE table_schema='test';
|
||||||
table_name
|
table_name
|
||||||
v1
|
v1
|
||||||
v11
|
v11
|
||||||
SELECT trigger_name, event_manipulation, event_object_table FROM information_schema.triggers WHERE trigger_schema='test' ORDER BY trigger_name;
|
SELECT trigger_name, event_manipulation, event_object_table FROM information_schema.triggers WHERE trigger_schema='test';
|
||||||
trigger_name event_manipulation event_object_table
|
trigger_name event_manipulation event_object_table
|
||||||
t11_tr1 INSERT t11
|
t11_tr1 INSERT t11
|
||||||
t11_tr2 UPDATE t11
|
t11_tr2 UPDATE t11
|
||||||
t1_tr1 INSERT t1
|
t1_tr1 INSERT t1
|
||||||
t1_tr2 UPDATE t1
|
t1_tr2 UPDATE t1
|
||||||
SELECT routine_type, routine_name FROM information_schema.routines WHERE routine_schema='test' ORDER BY routine_name;
|
SELECT routine_type, routine_name FROM information_schema.routines WHERE routine_schema='test';
|
||||||
routine_type routine_name
|
routine_type routine_name
|
||||||
FUNCTION f1
|
FUNCTION f1
|
||||||
FUNCTION f2
|
FUNCTION f2
|
||||||
PROCEDURE p1
|
PROCEDURE p1
|
||||||
PROCEDURE p11
|
PROCEDURE p11
|
||||||
SELECT event_name, status FROM information_schema.events WHERE event_schema='test' ORDER BY event_name;
|
SELECT event_name, status FROM information_schema.events WHERE event_schema='test';
|
||||||
event_name status
|
event_name status
|
||||||
e1 SLAVESIDE_DISABLED
|
e1 SLAVESIDE_DISABLED
|
||||||
e11 SLAVESIDE_DISABLED
|
e11 SLAVESIDE_DISABLED
|
||||||
|
@ -26,9 +26,6 @@ day id category name
|
|||||||
2003-02-22 2461 b a a a @ % ' " a
|
2003-02-22 2461 b a a a @ % ' " a
|
||||||
2003-03-22 2161 c asdf
|
2003-03-22 2161 c asdf
|
||||||
2003-03-22 2416 a bbbbb
|
2003-03-22 2416 a bbbbb
|
||||||
show master status;
|
|
||||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
|
||||||
slave-bin.000001 1280
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
drop table t2;
|
drop table t2;
|
||||||
drop table t3;
|
drop table t3;
|
||||||
|
@ -16,3 +16,9 @@ select master_pos_wait('master-bin.999999',0);
|
|||||||
stop slave sql_thread;
|
stop slave sql_thread;
|
||||||
master_pos_wait('master-bin.999999',0)
|
master_pos_wait('master-bin.999999',0)
|
||||||
NULL
|
NULL
|
||||||
|
"*** must be empty ***"
|
||||||
|
show slave status;
|
||||||
|
"*** must be NULL ***"
|
||||||
|
select master_pos_wait('foo', 98);
|
||||||
|
master_pos_wait('foo', 98)
|
||||||
|
NULL
|
||||||
|
33
mysql-test/suite/rpl/r/rpl_report.result
Normal file
33
mysql-test/suite/rpl/r/rpl_report.result
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
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;
|
||||||
|
select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_host';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
REPORT_HOST 127.0.0.1
|
||||||
|
select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_port';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
REPORT_PORT 9308
|
||||||
|
select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_user';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
REPORT_USER my_user
|
||||||
|
select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_password';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
REPORT_PASSWORD my_password
|
||||||
|
show global variables like 'report_host';
|
||||||
|
Variable_name report_host
|
||||||
|
Value 127.0.0.1
|
||||||
|
show global variables like 'report_port';
|
||||||
|
Variable_name report_port
|
||||||
|
Value 9308
|
||||||
|
show global variables like 'report_user';
|
||||||
|
Variable_name report_user
|
||||||
|
Value my_user
|
||||||
|
show global variables like 'report_password';
|
||||||
|
Variable_name report_password
|
||||||
|
Value my_password
|
||||||
|
set @@global.report_host='my.new.address.net';
|
||||||
|
ERROR HY000: Variable 'report_host' is a read only variable
|
||||||
|
end of tests
|
@ -158,10 +158,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT)
|
CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT)
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
@ -176,10 +180,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
DROP TABLE IF EXISTS t1,t2,t3
|
DROP TABLE IF EXISTS t1,t2,t3
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
@ -281,10 +289,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
DROP TABLE IF EXISTS t1,t2,t3
|
DROP TABLE IF EXISTS t1,t2,t3
|
||||||
/*!*/;
|
/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
@ -308,10 +320,14 @@ DELIMITER /*!*/;
|
|||||||
ROLLBACK/*!*/;
|
ROLLBACK/*!*/;
|
||||||
use test/*!*/;
|
use test/*!*/;
|
||||||
SET TIMESTAMP=1000000000/*!*/;
|
SET TIMESTAMP=1000000000/*!*/;
|
||||||
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
|
SET @@session.lc_time_names=0/*!*/;
|
||||||
|
SET @@session.collation_database=DEFAULT/*!*/;
|
||||||
CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT)
|
CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT)
|
||||||
/*!*/;
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
@ -13,6 +13,7 @@ DROP TABLE IF EXISTS mysqltest1.t3;
|
|||||||
DROP TABLE IF EXISTS mysqltest1.t1;
|
DROP TABLE IF EXISTS mysqltest1.t1;
|
||||||
DROP TABLE IF EXISTS mysqltest1.t2;
|
DROP TABLE IF EXISTS mysqltest1.t2;
|
||||||
DROP TABLE IF EXISTS mysqltest1.t4;
|
DROP TABLE IF EXISTS mysqltest1.t4;
|
||||||
|
DROP TABLE IF EXISTS mysqltest1.t10;
|
||||||
CREATE TABLE mysqltest1.t1 (a INT, c CHAR(6),PRIMARY KEY(a));
|
CREATE TABLE mysqltest1.t1 (a INT, c CHAR(6),PRIMARY KEY(a));
|
||||||
CREATE TABLE mysqltest1.t2 (a INT, c CHAR(6),PRIMARY KEY(a));
|
CREATE TABLE mysqltest1.t2 (a INT, c CHAR(6),PRIMARY KEY(a));
|
||||||
CREATE TABLE mysqltest1.t3 (a INT, c CHAR(6), c2 CHAR(6), PRIMARY KEY(a));
|
CREATE TABLE mysqltest1.t3 (a INT, c CHAR(6), c2 CHAR(6), PRIMARY KEY(a));
|
||||||
@ -35,6 +36,7 @@ a c c2
|
|||||||
1 Thank GOD
|
1 Thank GOD
|
||||||
2 it is
|
2 it is
|
||||||
3 Friday TGIF
|
3 Friday TGIF
|
||||||
|
CREATE TABLE mysqltest1.t10 (a INT, PRIMARY KEY(a));
|
||||||
SELECT * FROM mysqltest1.v2;
|
SELECT * FROM mysqltest1.v2;
|
||||||
qty price value
|
qty price value
|
||||||
3 50 150
|
3 50 150
|
||||||
@ -98,4 +100,5 @@ DROP TABLE IF EXISTS mysqltest1.t3;
|
|||||||
DROP TABLE IF EXISTS mysqltest1.t1;
|
DROP TABLE IF EXISTS mysqltest1.t1;
|
||||||
DROP TABLE IF EXISTS mysqltest1.t2;
|
DROP TABLE IF EXISTS mysqltest1.t2;
|
||||||
DROP TABLE IF EXISTS mysqltest1.t4;
|
DROP TABLE IF EXISTS mysqltest1.t4;
|
||||||
|
DROP TABLE IF EXISTS mysqltest1.t10;
|
||||||
DROP DATABASE mysqltest1;
|
DROP DATABASE mysqltest1;
|
||||||
|
@ -4,10 +4,11 @@ reset master;
|
|||||||
reset slave;
|
reset slave;
|
||||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||||
start slave;
|
start slave;
|
||||||
create table t1 (n int);
|
|
||||||
reset master;
|
reset master;
|
||||||
stop slave;
|
stop slave;
|
||||||
change master to master_port=SLAVE_PORT;
|
change master to master_port=SLAVE_PORT;
|
||||||
|
start slave;
|
||||||
|
*** must be having the replicate-same-server-id IO thread error ***
|
||||||
show slave status;
|
show slave status;
|
||||||
Slave_IO_State
|
Slave_IO_State
|
||||||
Master_Host 127.0.0.1
|
Master_Host 127.0.0.1
|
||||||
@ -20,15 +21,15 @@ Relay_Log_File slave-relay-bin.000001
|
|||||||
Relay_Log_Pos 4
|
Relay_Log_Pos 4
|
||||||
Relay_Master_Log_File
|
Relay_Master_Log_File
|
||||||
Slave_IO_Running No
|
Slave_IO_Running No
|
||||||
Slave_SQL_Running No
|
Slave_SQL_Running #
|
||||||
Replicate_Do_DB
|
Replicate_Do_DB
|
||||||
Replicate_Ignore_DB
|
Replicate_Ignore_DB
|
||||||
Replicate_Do_Table
|
Replicate_Do_Table
|
||||||
Replicate_Ignore_Table #
|
Replicate_Ignore_Table #
|
||||||
Replicate_Wild_Do_Table
|
Replicate_Wild_Do_Table
|
||||||
Replicate_Wild_Ignore_Table #
|
Replicate_Wild_Ignore_Table #
|
||||||
Last_Errno 0
|
Last_Errno #
|
||||||
Last_Error
|
Last_Error #
|
||||||
Skip_Counter 0
|
Skip_Counter 0
|
||||||
Exec_Master_Log_Pos 0
|
Exec_Master_Log_Pos 0
|
||||||
Relay_Log_Space 106
|
Relay_Log_Space 106
|
||||||
@ -43,13 +44,7 @@ Master_SSL_Cipher
|
|||||||
Master_SSL_Key
|
Master_SSL_Key
|
||||||
Seconds_Behind_Master NULL
|
Seconds_Behind_Master NULL
|
||||||
Master_SSL_Verify_Server_Cert No
|
Master_SSL_Verify_Server_Cert No
|
||||||
Last_IO_Errno #
|
Last_IO_Errno 1593
|
||||||
Last_IO_Error #
|
Last_IO_Error Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).
|
||||||
Last_SQL_Errno 0
|
Last_SQL_Errno #
|
||||||
Last_SQL_Error
|
Last_SQL_Error #
|
||||||
start slave;
|
|
||||||
insert into t1 values (1);
|
|
||||||
show status like "slave_running";
|
|
||||||
Variable_name Value
|
|
||||||
Slave_running OFF
|
|
||||||
drop table t1;
|
|
||||||
|
@ -4,31 +4,33 @@ reset master;
|
|||||||
reset slave;
|
reset slave;
|
||||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||||
start slave;
|
start slave;
|
||||||
|
==== Test Without sql_mode=strict_trans_tables ====
|
||||||
|
[on master]
|
||||||
create table t1 (n int not null primary key);
|
create table t1 (n int not null primary key);
|
||||||
|
[on slave]
|
||||||
insert into t1 values (1);
|
insert into t1 values (1);
|
||||||
|
[on master]
|
||||||
insert into t1 values (1);
|
insert into t1 values (1);
|
||||||
insert into t1 values (2),(3);
|
insert into t1 values (2),(3);
|
||||||
select * from t1 ORDER BY n;
|
[on slave]
|
||||||
|
select * from t1 order by n;
|
||||||
n
|
n
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
3
|
3
|
||||||
drop table t1;
|
==== Test With sql_mode=strict_trans_tables ====
|
||||||
create table t1(a int primary key);
|
insert into t1 values (7),(8);
|
||||||
insert into t1 values (1),(2);
|
[on master]
|
||||||
delete from t1 where @@server_id=1;
|
|
||||||
set sql_mode=strict_trans_tables;
|
set sql_mode=strict_trans_tables;
|
||||||
select @@server_id;
|
insert into t1 values (7), (8), (9);
|
||||||
@@server_id
|
[on slave]
|
||||||
1
|
select * from t1 order by n;
|
||||||
insert into t1 values (1),(2),(3);
|
n
|
||||||
select @@server_id;
|
|
||||||
@@server_id
|
|
||||||
2
|
|
||||||
select * from t1;
|
|
||||||
a
|
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
|
3
|
||||||
|
7
|
||||||
|
8
|
||||||
SHOW SLAVE STATUS;
|
SHOW SLAVE STATUS;
|
||||||
Slave_IO_State #
|
Slave_IO_State #
|
||||||
Master_Host 127.0.0.1
|
Master_Host 127.0.0.1
|
||||||
@ -68,4 +70,61 @@ Last_IO_Errno #
|
|||||||
Last_IO_Error #
|
Last_IO_Error #
|
||||||
Last_SQL_Errno 0
|
Last_SQL_Errno 0
|
||||||
Last_SQL_Error
|
Last_SQL_Error
|
||||||
|
==== Clean Up ====
|
||||||
|
drop table t1;
|
||||||
|
create table t1(a int primary key);
|
||||||
|
insert into t1 values (1),(2);
|
||||||
|
delete from t1 where @@server_id=1;
|
||||||
|
Warnings:
|
||||||
|
Warning 1592 Statement is not safe to log in statement format.
|
||||||
|
set sql_mode=strict_trans_tables;
|
||||||
|
insert into t1 values (7), (8), (9);
|
||||||
|
[on slave]
|
||||||
|
select * from t1;
|
||||||
|
a
|
||||||
|
1
|
||||||
|
2
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
SHOW SLAVE STATUS;
|
||||||
|
Slave_IO_State #
|
||||||
|
Master_Host 127.0.0.1
|
||||||
|
Master_User root
|
||||||
|
Master_Port MASTER_PORT
|
||||||
|
Connect_Retry 1
|
||||||
|
Master_Log_File master-bin.000001
|
||||||
|
Read_Master_Log_Pos #
|
||||||
|
Relay_Log_File #
|
||||||
|
Relay_Log_Pos #
|
||||||
|
Relay_Master_Log_File master-bin.000001
|
||||||
|
Slave_IO_Running Yes
|
||||||
|
Slave_SQL_Running Yes
|
||||||
|
Replicate_Do_DB
|
||||||
|
Replicate_Ignore_DB
|
||||||
|
Replicate_Do_Table
|
||||||
|
Replicate_Ignore_Table #
|
||||||
|
Replicate_Wild_Do_Table
|
||||||
|
Replicate_Wild_Ignore_Table
|
||||||
|
Last_Errno 0
|
||||||
|
Last_Error
|
||||||
|
Skip_Counter 0
|
||||||
|
Exec_Master_Log_Pos #
|
||||||
|
Relay_Log_Space #
|
||||||
|
Until_Condition None
|
||||||
|
Until_Log_File
|
||||||
|
Until_Log_Pos 0
|
||||||
|
Master_SSL_Allowed No
|
||||||
|
Master_SSL_CA_File
|
||||||
|
Master_SSL_CA_Path
|
||||||
|
Master_SSL_Cert
|
||||||
|
Master_SSL_Cipher
|
||||||
|
Master_SSL_Key
|
||||||
|
Seconds_Behind_Master #
|
||||||
|
Master_SSL_Verify_Server_Cert No
|
||||||
|
Last_IO_Errno #
|
||||||
|
Last_IO_Error #
|
||||||
|
Last_SQL_Errno 0
|
||||||
|
Last_SQL_Error
|
||||||
|
==== Clean Up ====
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
@ -4,16 +4,581 @@ reset master;
|
|||||||
reset slave;
|
reset slave;
|
||||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||||
start slave;
|
start slave;
|
||||||
set @my_slave_net_timeout =@@global.slave_net_timeout;
|
==== Initialization ====
|
||||||
set global slave_net_timeout=100;
|
[on master]
|
||||||
set global sql_slave_skip_counter=100;
|
SET @m_default_week_format= @@global.default_week_format;
|
||||||
show variables like 'slave_compressed_protocol';
|
SET @m_init_slave= @@global.init_slave;
|
||||||
Variable_name Value
|
SET @m_lc_time_names= @@global.lc_time_names;
|
||||||
slave_compressed_protocol OFF
|
SET @m_low_priority_updates= @@global.low_priority_updates;
|
||||||
show variables like 'slave_load_tmpdir';
|
SET @m_relay_log_purge= @@global.relay_log_purge;
|
||||||
Variable_name Value
|
SET @m_slave_exec_mode= @@global.slave_exec_mode;
|
||||||
slave_load_tmpdir SLAVE_LOAD_TMPDIR
|
SET @m_sql_mode= @@global.sql_mode;
|
||||||
show variables like 'slave_skip_errors';
|
SET @m_sync_binlog= @@global.sync_binlog;
|
||||||
Variable_name Value
|
[on slave]
|
||||||
slave_skip_errors 3,100,137,643,1752
|
SET @s_default_week_format= @@global.default_week_format;
|
||||||
set global slave_net_timeout=default;
|
SET @s_init_slave= @@global.init_slave;
|
||||||
|
SET @s_lc_time_names= @@global.lc_time_names;
|
||||||
|
SET @s_low_priority_updates= @@global.low_priority_updates;
|
||||||
|
SET @s_relay_log_purge= @@global.relay_log_purge;
|
||||||
|
SET @s_slave_exec_mode= @@global.slave_exec_mode;
|
||||||
|
SET @s_sql_mode= @@global.sql_mode;
|
||||||
|
SET @s_sync_binlog= @@global.sync_binlog;
|
||||||
|
SET @@global.relay_log_purge = OFF;
|
||||||
|
SET @@global.sync_binlog = 1000000;
|
||||||
|
SET @@global.slave_exec_mode = 'STRICT';
|
||||||
|
SET @@sql_big_selects = OFF;
|
||||||
|
SET @@last_insert_id = 10;
|
||||||
|
SET @@global.low_priority_updates = OFF;
|
||||||
|
SET @@local.low_priority_updates = OFF;
|
||||||
|
SET @@global.default_week_format = 1;
|
||||||
|
SET @@local.default_week_format = 2;
|
||||||
|
SET @@global.lc_time_names = 'zh_HK';
|
||||||
|
SET @@local.lc_time_names = 'zh_TW';
|
||||||
|
SET @@global.sql_mode = 'ALLOW_INVALID_DATES';
|
||||||
|
SET @@local.sql_mode = 'ANSI_QUOTES,ERROR_FOR_DIVISION_BY_ZERO,HIGH_NOT_PRECEDENCE';
|
||||||
|
SET @user_num = 10;
|
||||||
|
SET @user_text = 'Alunda';
|
||||||
|
[on master]
|
||||||
|
**** Resetting master and slave ****
|
||||||
|
STOP SLAVE;
|
||||||
|
RESET SLAVE;
|
||||||
|
RESET MASTER;
|
||||||
|
START SLAVE;
|
||||||
|
[on slave]
|
||||||
|
SET @@global.init_slave = 'ant';
|
||||||
|
[on master]
|
||||||
|
CREATE TABLE tstmt (id INT AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
truth BOOLEAN,
|
||||||
|
num INT,
|
||||||
|
text VARCHAR(100));
|
||||||
|
CREATE TABLE tproc LIKE tstmt;
|
||||||
|
CREATE TABLE tfunc LIKE tstmt;
|
||||||
|
CREATE TABLE ttrig LIKE tstmt;
|
||||||
|
CREATE TABLE tprep LIKE tstmt;
|
||||||
|
CREATE TABLE trigger_table (text CHAR(4));
|
||||||
|
==== Insert variables directly ====
|
||||||
|
---- global variables ----
|
||||||
|
SET @@global.relay_log_purge = ON;
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
SET @@global.relay_log_purge = OFF;
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
SET @@global.sync_binlog = 2000000;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@global.sync_binlog);
|
||||||
|
SET @@global.sync_binlog = 3000000;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@global.sync_binlog);
|
||||||
|
SET @@global.init_slave = 'bison';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.init_slave);
|
||||||
|
SET @@global.init_slave = 'cat';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.init_slave);
|
||||||
|
SET @@global.slave_exec_mode = 'IDEMPOTENT';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
SET @@global.slave_exec_mode = 'STRICT';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
---- session variables ----
|
||||||
|
SET @@sql_big_selects = ON;
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@sql_big_selects);
|
||||||
|
SET @@sql_big_selects = OFF;
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@sql_big_selects);
|
||||||
|
SET @@last_insert_id = 20;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@last_insert_id);
|
||||||
|
SET @@last_insert_id = 30;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@last_insert_id);
|
||||||
|
---- global and session variables ----
|
||||||
|
SET @@global.low_priority_updates = ON;
|
||||||
|
SET @@local.low_priority_updates = OFF;
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
SET @@global.low_priority_updates = OFF;
|
||||||
|
SET @@local.low_priority_updates = ON;
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
SET @@global.default_week_format = 3;
|
||||||
|
SET @@local.default_week_format = 4;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@local.default_week_format);
|
||||||
|
SET @@global.default_week_format = 5;
|
||||||
|
SET @@local.default_week_format = 6;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@local.default_week_format);
|
||||||
|
SET @@global.lc_time_names = 'sv_SE';
|
||||||
|
SET @@local.lc_time_names = 'sv_FI';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@local.lc_time_names);
|
||||||
|
SET @@global.lc_time_names = 'ar_TN';
|
||||||
|
SET @@local.lc_time_names = 'ar_IQ';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@local.lc_time_names);
|
||||||
|
SET @@global.sql_mode = '';
|
||||||
|
SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@local.sql_mode);
|
||||||
|
SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
|
||||||
|
SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@local.sql_mode);
|
||||||
|
---- user variables ----
|
||||||
|
SET @user_num = 20;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@user_num);
|
||||||
|
SET @user_num = 30;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@user_num);
|
||||||
|
SET @user_text = 'Bergsbrunna';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@user_text);
|
||||||
|
SET @user_text = 'Centrum';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@user_text);
|
||||||
|
==== Insert variables from a stored procedure ====
|
||||||
|
CREATE PROCEDURE proc()
|
||||||
|
BEGIN
|
||||||
|
# GLOBAL
|
||||||
|
# boolean
|
||||||
|
SET @@global.relay_log_purge = ON;
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
SET @@global.relay_log_purge = OFF;
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
# numeric
|
||||||
|
SET @@global.sync_binlog = 2000000;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@global.sync_binlog);
|
||||||
|
SET @@global.sync_binlog = 3000000;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@global.sync_binlog);
|
||||||
|
# string
|
||||||
|
SET @@global.init_slave = 'bison';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.init_slave);
|
||||||
|
SET @@global.init_slave = 'cat';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.init_slave);
|
||||||
|
# enumeration
|
||||||
|
SET @@global.slave_exec_mode = 'IDEMPOTENT';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
SET @@global.slave_exec_mode = 'STRICT';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
# SESSION
|
||||||
|
# boolean
|
||||||
|
SET @@sql_big_selects = ON;
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@sql_big_selects);
|
||||||
|
SET @@sql_big_selects = OFF;
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@sql_big_selects);
|
||||||
|
# numeric
|
||||||
|
SET @@last_insert_id = 20;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@last_insert_id);
|
||||||
|
SET @@last_insert_id = 30;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@last_insert_id);
|
||||||
|
# BOTH
|
||||||
|
# boolean
|
||||||
|
SET @@global.low_priority_updates = ON;
|
||||||
|
SET @@local.low_priority_updates = OFF;
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
SET @@global.low_priority_updates = OFF;
|
||||||
|
SET @@local.low_priority_updates = ON;
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
# numeric
|
||||||
|
SET @@global.default_week_format = 3;
|
||||||
|
SET @@local.default_week_format = 4;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO tproc(num) VALUES (@@local.default_week_format);
|
||||||
|
SET @@global.default_week_format = 5;
|
||||||
|
SET @@local.default_week_format = 6;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO tproc(num) VALUES (@@local.default_week_format);
|
||||||
|
# text
|
||||||
|
SET @@global.lc_time_names = 'sv_SE';
|
||||||
|
SET @@local.lc_time_names = 'sv_FI';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@local.lc_time_names);
|
||||||
|
SET @@global.lc_time_names = 'ar_TN';
|
||||||
|
SET @@local.lc_time_names = 'ar_IQ';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@local.lc_time_names);
|
||||||
|
# enum
|
||||||
|
SET @@global.sql_mode = '';
|
||||||
|
SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@local.sql_mode);
|
||||||
|
SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
|
||||||
|
SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@local.sql_mode);
|
||||||
|
# USER
|
||||||
|
# numeric
|
||||||
|
SET @user_num = 20;
|
||||||
|
INSERT INTO tproc(num) VALUES (@user_num);
|
||||||
|
SET @user_num = 30;
|
||||||
|
INSERT INTO tproc(num) VALUES (@user_num);
|
||||||
|
# string
|
||||||
|
SET @user_text = 'Bergsbrunna';
|
||||||
|
INSERT INTO tproc(text) VALUES (@user_text);
|
||||||
|
SET @user_text = 'Centrum';
|
||||||
|
INSERT INTO tproc(text) VALUES (@user_text);
|
||||||
|
END|
|
||||||
|
CALL proc();
|
||||||
|
==== Insert variables from a stored function ====
|
||||||
|
CREATE FUNCTION func()
|
||||||
|
RETURNS INT
|
||||||
|
BEGIN
|
||||||
|
# GLOBAL
|
||||||
|
# boolean
|
||||||
|
SET @@global.relay_log_purge = ON;
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
SET @@global.relay_log_purge = OFF;
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
# numeric
|
||||||
|
SET @@global.sync_binlog = 2000000;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@global.sync_binlog);
|
||||||
|
SET @@global.sync_binlog = 3000000;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@global.sync_binlog);
|
||||||
|
# string
|
||||||
|
SET @@global.init_slave = 'bison';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.init_slave);
|
||||||
|
SET @@global.init_slave = 'cat';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.init_slave);
|
||||||
|
# enumeration
|
||||||
|
SET @@global.slave_exec_mode = 'IDEMPOTENT';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
SET @@global.slave_exec_mode = 'STRICT';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
# SESSION
|
||||||
|
# boolean
|
||||||
|
SET @@sql_big_selects = ON;
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@sql_big_selects);
|
||||||
|
SET @@sql_big_selects = OFF;
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@sql_big_selects);
|
||||||
|
# numeric
|
||||||
|
SET @@last_insert_id = 20;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@last_insert_id);
|
||||||
|
SET @@last_insert_id = 30;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@last_insert_id);
|
||||||
|
# BOTH
|
||||||
|
# boolean
|
||||||
|
SET @@global.low_priority_updates = ON;
|
||||||
|
SET @@local.low_priority_updates = OFF;
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
SET @@global.low_priority_updates = OFF;
|
||||||
|
SET @@local.low_priority_updates = ON;
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
# numeric
|
||||||
|
SET @@global.default_week_format = 3;
|
||||||
|
SET @@local.default_week_format = 4;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@local.default_week_format);
|
||||||
|
SET @@global.default_week_format = 5;
|
||||||
|
SET @@local.default_week_format = 6;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@local.default_week_format);
|
||||||
|
# text
|
||||||
|
SET @@global.lc_time_names = 'sv_SE';
|
||||||
|
SET @@local.lc_time_names = 'sv_FI';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@local.lc_time_names);
|
||||||
|
SET @@global.lc_time_names = 'ar_TN';
|
||||||
|
SET @@local.lc_time_names = 'ar_IQ';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@local.lc_time_names);
|
||||||
|
# enum
|
||||||
|
SET @@global.sql_mode = '';
|
||||||
|
SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@local.sql_mode);
|
||||||
|
SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
|
||||||
|
SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@local.sql_mode);
|
||||||
|
# USER
|
||||||
|
# numeric
|
||||||
|
SET @user_num = 20;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@user_num);
|
||||||
|
SET @user_num = 30;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@user_num);
|
||||||
|
# string
|
||||||
|
SET @user_text = 'Bergsbrunna';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@user_text);
|
||||||
|
SET @user_text = 'Centrum';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@user_text);
|
||||||
|
RETURN 0;
|
||||||
|
END|
|
||||||
|
SELECT func();
|
||||||
|
func()
|
||||||
|
0
|
||||||
|
==== Insert variables from a trigger ====
|
||||||
|
CREATE TRIGGER trig
|
||||||
|
BEFORE INSERT ON trigger_table
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
# GLOBAL
|
||||||
|
# boolean
|
||||||
|
SET @@global.relay_log_purge = ON;
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
SET @@global.relay_log_purge = OFF;
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
# numeric
|
||||||
|
SET @@global.sync_binlog = 2000000;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@global.sync_binlog);
|
||||||
|
SET @@global.sync_binlog = 3000000;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@global.sync_binlog);
|
||||||
|
# string
|
||||||
|
SET @@global.init_slave = 'bison';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.init_slave);
|
||||||
|
SET @@global.init_slave = 'cat';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.init_slave);
|
||||||
|
# enumeration
|
||||||
|
SET @@global.slave_exec_mode = 'IDEMPOTENT';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
SET @@global.slave_exec_mode = 'STRICT';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
# SESSION
|
||||||
|
# boolean
|
||||||
|
SET @@sql_big_selects = ON;
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@sql_big_selects);
|
||||||
|
SET @@sql_big_selects = OFF;
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@sql_big_selects);
|
||||||
|
# numeric
|
||||||
|
SET @@last_insert_id = 20;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@last_insert_id);
|
||||||
|
SET @@last_insert_id = 30;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@last_insert_id);
|
||||||
|
# BOTH
|
||||||
|
# boolean
|
||||||
|
SET @@global.low_priority_updates = ON;
|
||||||
|
SET @@local.low_priority_updates = OFF;
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
SET @@global.low_priority_updates = OFF;
|
||||||
|
SET @@local.low_priority_updates = ON;
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
# numeric
|
||||||
|
SET @@global.default_week_format = 3;
|
||||||
|
SET @@local.default_week_format = 4;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@local.default_week_format);
|
||||||
|
SET @@global.default_week_format = 5;
|
||||||
|
SET @@local.default_week_format = 6;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@local.default_week_format);
|
||||||
|
# text
|
||||||
|
SET @@global.lc_time_names = 'sv_SE';
|
||||||
|
SET @@local.lc_time_names = 'sv_FI';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@local.lc_time_names);
|
||||||
|
SET @@global.lc_time_names = 'ar_TN';
|
||||||
|
SET @@local.lc_time_names = 'ar_IQ';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@local.lc_time_names);
|
||||||
|
# enum
|
||||||
|
SET @@global.sql_mode = '';
|
||||||
|
SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@local.sql_mode);
|
||||||
|
SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
|
||||||
|
SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@local.sql_mode);
|
||||||
|
# USER
|
||||||
|
# numeric
|
||||||
|
SET @user_num = 20;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@user_num);
|
||||||
|
SET @user_num = 30;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@user_num);
|
||||||
|
# string
|
||||||
|
SET @user_text = 'Bergsbrunna';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@user_text);
|
||||||
|
SET @user_text = 'Centrum';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@user_text);
|
||||||
|
END|
|
||||||
|
INSERT INTO trigger_table VALUES ('bye.');
|
||||||
|
==== Insert variables from a prepared statement ====
|
||||||
|
PREPARE p1 FROM 'SET @@global.relay_log_purge = ON';
|
||||||
|
PREPARE p2 FROM 'INSERT INTO tprep(truth) VALUES (@@global.relay_log_purge)';
|
||||||
|
PREPARE p3 FROM 'SET @@global.relay_log_purge = OFF';
|
||||||
|
PREPARE p4 FROM 'INSERT INTO tprep(truth) VALUES (@@global.relay_log_purge)';
|
||||||
|
PREPARE p5 FROM 'SET @@global.sync_binlog = 2000000';
|
||||||
|
PREPARE p6 FROM 'INSERT INTO tprep(num) VALUES (@@global.sync_binlog)';
|
||||||
|
PREPARE p7 FROM 'SET @@global.sync_binlog = 3000000';
|
||||||
|
PREPARE p8 FROM 'INSERT INTO tprep(num) VALUES (@@global.sync_binlog)';
|
||||||
|
PREPARE p9 FROM 'SET @@global.init_slave = \'bison\'';
|
||||||
|
PREPARE p10 FROM 'INSERT INTO tprep(text) VALUES (@@global.init_slave)';
|
||||||
|
PREPARE p11 FROM 'SET @@global.init_slave = \'cat\'';
|
||||||
|
PREPARE p12 FROM 'INSERT INTO tprep(text) VALUES (@@global.init_slave)';
|
||||||
|
PREPARE p13 FROM 'SET @@global.slave_exec_mode = \'IDEMPOTENT\'';
|
||||||
|
PREPARE p14 FROM 'INSERT INTO tprep(text) VALUES (@@global.slave_exec_mode)';
|
||||||
|
PREPARE p15 FROM 'SET @@global.slave_exec_mode = \'STRICT\'';
|
||||||
|
PREPARE p16 FROM 'INSERT INTO tprep(text) VALUES (@@global.slave_exec_mode)';
|
||||||
|
PREPARE p17 FROM 'SET @@sql_big_selects = ON';
|
||||||
|
PREPARE p18 FROM 'INSERT INTO tprep(truth) VALUES (@@sql_big_selects)';
|
||||||
|
PREPARE p19 FROM 'SET @@sql_big_selects = OFF';
|
||||||
|
PREPARE p20 FROM 'INSERT INTO tprep(truth) VALUES (@@sql_big_selects)';
|
||||||
|
PREPARE p21 FROM 'SET @@last_insert_id = 20';
|
||||||
|
PREPARE p22 FROM 'INSERT INTO tprep(num) VALUES (@@last_insert_id)';
|
||||||
|
PREPARE p23 FROM 'SET @@last_insert_id = 30';
|
||||||
|
PREPARE p24 FROM 'INSERT INTO tprep(num) VALUES (@@last_insert_id)';
|
||||||
|
PREPARE p25 FROM 'SET @@global.low_priority_updates = ON';
|
||||||
|
PREPARE p26 FROM 'SET @@local.low_priority_updates = OFF';
|
||||||
|
PREPARE p27 FROM 'INSERT INTO tprep(truth) VALUES (@@global.low_priority_updates)';
|
||||||
|
PREPARE p28 FROM 'INSERT INTO tprep(truth) VALUES (@@local.low_priority_updates)';
|
||||||
|
PREPARE p29 FROM 'SET @@global.low_priority_updates = OFF';
|
||||||
|
PREPARE p30 FROM 'SET @@local.low_priority_updates = ON';
|
||||||
|
PREPARE p31 FROM 'INSERT INTO tprep(truth) VALUES (@@global.low_priority_updates)';
|
||||||
|
PREPARE p32 FROM 'INSERT INTO tprep(truth) VALUES (@@local.low_priority_updates)';
|
||||||
|
PREPARE p33 FROM 'SET @@global.default_week_format = 3';
|
||||||
|
PREPARE p34 FROM 'SET @@local.default_week_format = 4';
|
||||||
|
PREPARE p35 FROM 'INSERT INTO tprep(num) VALUES (@@global.default_week_format)';
|
||||||
|
PREPARE p36 FROM 'INSERT INTO tprep(num) VALUES (@@local.default_week_format)';
|
||||||
|
PREPARE p37 FROM 'SET @@global.default_week_format = 5';
|
||||||
|
PREPARE p38 FROM 'SET @@local.default_week_format = 6';
|
||||||
|
PREPARE p39 FROM 'INSERT INTO tprep(num) VALUES (@@global.default_week_format)';
|
||||||
|
PREPARE p40 FROM 'INSERT INTO tprep(num) VALUES (@@local.default_week_format)';
|
||||||
|
PREPARE p41 FROM 'SET @@global.lc_time_names = \'sv_SE\'';
|
||||||
|
PREPARE p42 FROM 'SET @@local.lc_time_names = \'sv_FI\'';
|
||||||
|
PREPARE p43 FROM 'INSERT INTO tprep(text) VALUES (@@global.lc_time_names)';
|
||||||
|
PREPARE p44 FROM 'INSERT INTO tprep(text) VALUES (@@local.lc_time_names)';
|
||||||
|
PREPARE p45 FROM 'SET @@global.lc_time_names = \'ar_TN\'';
|
||||||
|
PREPARE p46 FROM 'SET @@local.lc_time_names = \'ar_IQ\'';
|
||||||
|
PREPARE p47 FROM 'INSERT INTO tprep(text) VALUES (@@global.lc_time_names)';
|
||||||
|
PREPARE p48 FROM 'INSERT INTO tprep(text) VALUES (@@local.lc_time_names)';
|
||||||
|
PREPARE p49 FROM 'SET @@global.sql_mode = \'\'';
|
||||||
|
PREPARE p50 FROM 'SET @@local.sql_mode = \'IGNORE_SPACE,NO_AUTO_CREATE_USER\'';
|
||||||
|
PREPARE p51 FROM 'INSERT INTO tprep(text) VALUES (@@global.sql_mode)';
|
||||||
|
PREPARE p52 FROM 'INSERT INTO tprep(text) VALUES (@@local.sql_mode)';
|
||||||
|
PREPARE p53 FROM 'SET @@global.sql_mode = \'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION\'';
|
||||||
|
PREPARE p54 FROM 'SET @@local.sql_mode = \'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS\'';
|
||||||
|
PREPARE p55 FROM 'INSERT INTO tprep(text) VALUES (@@global.sql_mode)';
|
||||||
|
PREPARE p56 FROM 'INSERT INTO tprep(text) VALUES (@@local.sql_mode)';
|
||||||
|
PREPARE p57 FROM 'SET @user_num = 20';
|
||||||
|
PREPARE p58 FROM 'INSERT INTO tprep(num) VALUES (@user_num)';
|
||||||
|
PREPARE p59 FROM 'SET @user_num = 30';
|
||||||
|
PREPARE p60 FROM 'INSERT INTO tprep(num) VALUES (@user_num)';
|
||||||
|
PREPARE p61 FROM 'SET @user_text = \'Bergsbrunna\'';
|
||||||
|
PREPARE p62 FROM 'INSERT INTO tprep(text) VALUES (@user_text)';
|
||||||
|
PREPARE p63 FROM 'SET @user_text = \'Centrum\'';
|
||||||
|
PREPARE p64 FROM 'INSERT INTO tprep(text) VALUES (@user_text)';
|
||||||
|
EXECUTE p1;
|
||||||
|
EXECUTE p2;
|
||||||
|
EXECUTE p3;
|
||||||
|
EXECUTE p4;
|
||||||
|
EXECUTE p5;
|
||||||
|
EXECUTE p6;
|
||||||
|
EXECUTE p7;
|
||||||
|
EXECUTE p8;
|
||||||
|
EXECUTE p9;
|
||||||
|
EXECUTE p10;
|
||||||
|
EXECUTE p11;
|
||||||
|
EXECUTE p12;
|
||||||
|
EXECUTE p13;
|
||||||
|
EXECUTE p14;
|
||||||
|
EXECUTE p15;
|
||||||
|
EXECUTE p16;
|
||||||
|
EXECUTE p17;
|
||||||
|
EXECUTE p18;
|
||||||
|
EXECUTE p19;
|
||||||
|
EXECUTE p20;
|
||||||
|
EXECUTE p21;
|
||||||
|
EXECUTE p22;
|
||||||
|
EXECUTE p23;
|
||||||
|
EXECUTE p24;
|
||||||
|
EXECUTE p25;
|
||||||
|
EXECUTE p26;
|
||||||
|
EXECUTE p27;
|
||||||
|
EXECUTE p28;
|
||||||
|
EXECUTE p29;
|
||||||
|
EXECUTE p30;
|
||||||
|
EXECUTE p31;
|
||||||
|
EXECUTE p32;
|
||||||
|
EXECUTE p33;
|
||||||
|
EXECUTE p34;
|
||||||
|
EXECUTE p35;
|
||||||
|
EXECUTE p36;
|
||||||
|
EXECUTE p37;
|
||||||
|
EXECUTE p38;
|
||||||
|
EXECUTE p39;
|
||||||
|
EXECUTE p40;
|
||||||
|
EXECUTE p41;
|
||||||
|
EXECUTE p42;
|
||||||
|
EXECUTE p43;
|
||||||
|
EXECUTE p44;
|
||||||
|
EXECUTE p45;
|
||||||
|
EXECUTE p46;
|
||||||
|
EXECUTE p47;
|
||||||
|
EXECUTE p48;
|
||||||
|
EXECUTE p49;
|
||||||
|
EXECUTE p50;
|
||||||
|
EXECUTE p51;
|
||||||
|
EXECUTE p52;
|
||||||
|
EXECUTE p53;
|
||||||
|
EXECUTE p54;
|
||||||
|
EXECUTE p55;
|
||||||
|
EXECUTE p56;
|
||||||
|
EXECUTE p57;
|
||||||
|
EXECUTE p58;
|
||||||
|
EXECUTE p59;
|
||||||
|
EXECUTE p60;
|
||||||
|
EXECUTE p61;
|
||||||
|
EXECUTE p62;
|
||||||
|
EXECUTE p63;
|
||||||
|
EXECUTE p64;
|
||||||
|
==== Results ====
|
||||||
|
SELECT * FROM tstmt ORDER BY id;
|
||||||
|
id truth num text
|
||||||
|
1 1 NULL NULL
|
||||||
|
2 0 NULL NULL
|
||||||
|
3 NULL 2000000 NULL
|
||||||
|
4 NULL 3000000 NULL
|
||||||
|
5 NULL NULL bison
|
||||||
|
6 NULL NULL cat
|
||||||
|
7 NULL NULL IDEMPOTENT
|
||||||
|
8 NULL NULL STRICT
|
||||||
|
9 1 NULL NULL
|
||||||
|
10 0 NULL NULL
|
||||||
|
11 NULL 20 NULL
|
||||||
|
12 NULL 30 NULL
|
||||||
|
13 1 NULL NULL
|
||||||
|
14 0 NULL NULL
|
||||||
|
15 0 NULL NULL
|
||||||
|
16 1 NULL NULL
|
||||||
|
17 NULL 3 NULL
|
||||||
|
18 NULL 4 NULL
|
||||||
|
19 NULL 5 NULL
|
||||||
|
20 NULL 6 NULL
|
||||||
|
21 NULL NULL sv_SE
|
||||||
|
22 NULL NULL sv_FI
|
||||||
|
23 NULL NULL ar_TN
|
||||||
|
24 NULL NULL ar_IQ
|
||||||
|
25 NULL NULL
|
||||||
|
26 NULL NULL IGNORE_SPACE,NO_AUTO_CREATE_USER
|
||||||
|
27 NULL NULL NO_DIR_IN_CREATE,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_ENGINE_SUBSTITUTION
|
||||||
|
28 NULL NULL NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS
|
||||||
|
29 NULL 20 NULL
|
||||||
|
30 NULL 30 NULL
|
||||||
|
31 NULL NULL Bergsbrunna
|
||||||
|
32 NULL NULL Centrum
|
||||||
|
Comparing tables master:test.tstmt and master:test.tproc
|
||||||
|
Comparing tables master:test.tstmt and master:test.tfunc
|
||||||
|
Comparing tables master:test.tstmt and master:test.ttrig
|
||||||
|
Comparing tables master:test.tstmt and master:test.tprep
|
||||||
|
Comparing tables master:test.tstmt and slave:test.tstmt
|
||||||
|
Comparing tables master:test.tstmt and slave:test.tproc
|
||||||
|
Comparing tables master:test.tstmt and slave:test.tfunc
|
||||||
|
Comparing tables master:test.tstmt and slave:test.ttrig
|
||||||
|
Comparing tables master:test.tstmt and slave:test.tprep
|
||||||
|
==== Clean up ====
|
||||||
|
[on master]
|
||||||
|
DROP PROCEDURE proc;
|
||||||
|
DROP FUNCTION func;
|
||||||
|
DROP TRIGGER trig;
|
||||||
|
DROP TABLE tstmt, tproc, tfunc, ttrig, tprep, trigger_table;
|
||||||
|
SET @@global.default_week_format= @m_default_week_format;
|
||||||
|
SET @@global.init_slave= @m_init_slave;
|
||||||
|
SET @@global.lc_time_names= @m_lc_time_names;
|
||||||
|
SET @@global.low_priority_updates= @m_low_priority_updates;
|
||||||
|
SET @@global.relay_log_purge= @m_relay_log_purge;
|
||||||
|
SET @@global.slave_exec_mode= @m_slave_exec_mode;
|
||||||
|
SET @@global.sql_mode= @m_sql_mode;
|
||||||
|
SET @@global.sync_binlog= @m_sync_binlog;
|
||||||
|
[on slave]
|
||||||
|
SET @@global.default_week_format= @s_default_week_format;
|
||||||
|
SET @@global.init_slave= @s_init_slave;
|
||||||
|
SET @@global.lc_time_names= @s_lc_time_names;
|
||||||
|
SET @@global.low_priority_updates= @s_low_priority_updates;
|
||||||
|
SET @@global.relay_log_purge= @s_relay_log_purge;
|
||||||
|
SET @@global.slave_exec_mode= @s_slave_exec_mode;
|
||||||
|
SET @@global.sql_mode= @s_sql_mode;
|
||||||
|
SET @@global.sync_binlog= @s_sync_binlog;
|
||||||
|
526
mysql-test/suite/rpl/r/rpl_variables_stm.result
Normal file
526
mysql-test/suite/rpl/r/rpl_variables_stm.result
Normal file
@ -0,0 +1,526 @@
|
|||||||
|
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;
|
||||||
|
==== Initialization ====
|
||||||
|
[on master]
|
||||||
|
SET @m_pseudo_thread_id= @@global.pseudo_thread_id;
|
||||||
|
SET @m_auto_increment_increment= @@global.auto_increment_increment;
|
||||||
|
SET @m_auto_increment_offset= @@global.auto_increment_offset;
|
||||||
|
SET @m_character_set_client= @@global.character_set_client;
|
||||||
|
SET @m_collation_connection= @@global.collation_connection;
|
||||||
|
SET @m_collation_server= @@global.collation_server;
|
||||||
|
SET @m_time_zone= @@global.time_zone;
|
||||||
|
SET @m_lc_time_names= @@global.lc_time_names;
|
||||||
|
SET @m_collation_database= @@global.collation_database;
|
||||||
|
[on slave]
|
||||||
|
SET @s_pseudo_thread_id= @@global.pseudo_thread_id;
|
||||||
|
SET @s_auto_increment_increment= @@global.auto_increment_increment;
|
||||||
|
SET @s_auto_increment_offset= @@global.auto_increment_offset;
|
||||||
|
SET @s_character_set_client= @@global.character_set_client;
|
||||||
|
SET @s_collation_connection= @@global.collation_connection;
|
||||||
|
SET @s_collation_server= @@global.collation_server;
|
||||||
|
SET @s_time_zone= @@global.time_zone;
|
||||||
|
SET @s_lc_time_names= @@global.lc_time_names;
|
||||||
|
SET @s_collation_database= @@global.collation_database;
|
||||||
|
SET @@global.pseudo_thread_id= 4711;
|
||||||
|
SET @@global.auto_increment_increment=19;
|
||||||
|
SET @@global.auto_increment_offset=4;
|
||||||
|
SET @@global.character_set_client='latin2';
|
||||||
|
SET @@global.collation_connection='latin2_bin';
|
||||||
|
SET @@global.collation_server='geostd8_general_ci';
|
||||||
|
SET @@global.time_zone='Japan';
|
||||||
|
SET @@global.lc_time_names='sv_SE';
|
||||||
|
SET @@global.collation_database='geostd8_bin';
|
||||||
|
[on master]
|
||||||
|
CREATE TABLE tstmt (id INT AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
num INT,
|
||||||
|
text VARCHAR(100));
|
||||||
|
CREATE TABLE tproc LIKE tstmt;
|
||||||
|
CREATE TABLE tfunc LIKE tstmt;
|
||||||
|
CREATE TABLE ttrig LIKE tstmt;
|
||||||
|
CREATE TABLE tprep LIKE tstmt;
|
||||||
|
CREATE TABLE trigger_table (text CHAR(4));
|
||||||
|
==== Insert variables directly ====
|
||||||
|
SET @@pseudo_thread_id= 4712;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
SET @@pseudo_thread_id= 4713;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
SET @@foreign_key_checks= 0;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
SET @@foreign_key_checks= 1;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
SET @@sql_auto_is_null= 0;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
SET @@sql_auto_is_null= 1;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
SET @@unique_checks= 0;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.unique_checks);
|
||||||
|
SET @@unique_checks= 1;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.unique_checks);
|
||||||
|
SET @@auto_increment_increment= 11;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
SET @@auto_increment_increment= 19;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
SET @@auto_increment_offset= 13;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
SET @@auto_increment_offset= 17;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
SET @@auto_increment_increment= 1;
|
||||||
|
SET @@auto_increment_offset= 1;
|
||||||
|
SET @@character_set_client= 'cp1257';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_client);
|
||||||
|
SET @@character_set_client= 'cp1256';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_client);
|
||||||
|
SET @@collation_connection= 'cp1251_ukrainian_ci';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_connection);
|
||||||
|
SET @@collation_connection= 'cp1251_bulgarian_ci';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_connection);
|
||||||
|
SET @@collation_server= 'latin7_bin';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_server);
|
||||||
|
SET @@collation_server= 'latin7_general_cs';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_server);
|
||||||
|
SET @@time_zone= 'Europe/Moscow';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.time_zone);
|
||||||
|
SET @@time_zone= 'Universal';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.time_zone);
|
||||||
|
SET @@lc_time_names= 'sv_FI';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.lc_time_names);
|
||||||
|
SET @@lc_time_names= 'no_NO';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.lc_time_names);
|
||||||
|
SET @@collation_database= 'latin7_general_ci';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_database);
|
||||||
|
SET @@collation_database= 'latin7_estonian_cs';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_database);
|
||||||
|
SET @@timestamp= 47114711;
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.timestamp);
|
||||||
|
SET @@timestamp= 47124712;
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.timestamp);
|
||||||
|
SET @@last_insert_id= 1616;
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.last_insert_id);
|
||||||
|
SET @@last_insert_id= 1717;
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.last_insert_id);
|
||||||
|
==== Insert variables from a stored procedure ====
|
||||||
|
CREATE PROCEDURE proc()
|
||||||
|
BEGIN
|
||||||
|
SET @@pseudo_thread_id= 4712;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
SET @@pseudo_thread_id= 4713;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
SET @@foreign_key_checks= 0;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
SET @@foreign_key_checks= 1;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
SET @@sql_auto_is_null= 0;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
SET @@sql_auto_is_null= 1;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
SET @@unique_checks= 0;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.unique_checks);
|
||||||
|
SET @@unique_checks= 1;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.unique_checks);
|
||||||
|
SET @@auto_increment_increment= 11;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
SET @@auto_increment_increment= 19;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
SET @@auto_increment_offset= 13;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
SET @@auto_increment_offset= 17;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
# reset these as they affect the index column
|
||||||
|
SET @@auto_increment_increment= 1;
|
||||||
|
SET @@auto_increment_offset= 1;
|
||||||
|
SET @@character_set_client= 'cp1257';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_client);
|
||||||
|
SET @@character_set_client= 'cp1256';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_client);
|
||||||
|
SET @@collation_connection= 'cp1251_ukrainian_ci';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_connection);
|
||||||
|
SET @@collation_connection= 'cp1251_bulgarian_ci';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_connection);
|
||||||
|
SET @@collation_server= 'latin7_bin';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_server);
|
||||||
|
SET @@collation_server= 'latin7_general_cs';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_server);
|
||||||
|
SET @@time_zone= 'Europe/Moscow';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.time_zone);
|
||||||
|
SET @@time_zone= 'Universal';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.time_zone);
|
||||||
|
SET @@lc_time_names= 'sv_FI';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.lc_time_names);
|
||||||
|
SET @@lc_time_names= 'no_NO';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.lc_time_names);
|
||||||
|
SET @@collation_database= 'latin7_general_ci';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_database);
|
||||||
|
SET @@collation_database= 'latin7_estonian_cs';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_database);
|
||||||
|
SET @@timestamp= 47114711;
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.timestamp);
|
||||||
|
SET @@timestamp= 47124712;
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.timestamp);
|
||||||
|
SET @@last_insert_id= 1616;
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.last_insert_id);
|
||||||
|
SET @@last_insert_id= 1717;
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.last_insert_id);
|
||||||
|
END|
|
||||||
|
CALL proc();
|
||||||
|
==== Insert variables from a stored function ====
|
||||||
|
CREATE FUNCTION func()
|
||||||
|
RETURNS INT
|
||||||
|
BEGIN
|
||||||
|
SET @@pseudo_thread_id= 4712;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
SET @@pseudo_thread_id= 4713;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
SET @@foreign_key_checks= 0;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
SET @@foreign_key_checks= 1;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
SET @@sql_auto_is_null= 0;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
SET @@sql_auto_is_null= 1;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
SET @@unique_checks= 0;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.unique_checks);
|
||||||
|
SET @@unique_checks= 1;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.unique_checks);
|
||||||
|
SET @@auto_increment_increment= 11;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
SET @@auto_increment_increment= 19;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
SET @@auto_increment_offset= 13;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
SET @@auto_increment_offset= 17;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
# reset these as they affect the index column
|
||||||
|
SET @@auto_increment_increment= 1;
|
||||||
|
SET @@auto_increment_offset= 1;
|
||||||
|
SET @@character_set_client= 'cp1257';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_client);
|
||||||
|
SET @@character_set_client= 'cp1256';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_client);
|
||||||
|
SET @@collation_connection= 'cp1251_ukrainian_ci';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_connection);
|
||||||
|
SET @@collation_connection= 'cp1251_bulgarian_ci';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_connection);
|
||||||
|
SET @@collation_server= 'latin7_bin';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_server);
|
||||||
|
SET @@collation_server= 'latin7_general_cs';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_server);
|
||||||
|
SET @@time_zone= 'Europe/Moscow';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.time_zone);
|
||||||
|
SET @@time_zone= 'Universal';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.time_zone);
|
||||||
|
SET @@lc_time_names= 'sv_FI';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.lc_time_names);
|
||||||
|
SET @@lc_time_names= 'no_NO';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.lc_time_names);
|
||||||
|
SET @@collation_database= 'latin7_general_ci';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_database);
|
||||||
|
SET @@collation_database= 'latin7_estonian_cs';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_database);
|
||||||
|
SET @@timestamp= 47114711;
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.timestamp);
|
||||||
|
SET @@timestamp= 47124712;
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.timestamp);
|
||||||
|
SET @@last_insert_id= 1616;
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.last_insert_id);
|
||||||
|
SET @@last_insert_id= 1717;
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.last_insert_id);
|
||||||
|
RETURN 0;
|
||||||
|
END|
|
||||||
|
SELECT func();
|
||||||
|
func()
|
||||||
|
0
|
||||||
|
==== Insert variables from a trigger ====
|
||||||
|
CREATE TRIGGER trig
|
||||||
|
BEFORE INSERT ON trigger_table
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
SET @@pseudo_thread_id= 4712;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
SET @@pseudo_thread_id= 4713;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
SET @@foreign_key_checks= 0;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
SET @@foreign_key_checks= 1;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
SET @@sql_auto_is_null= 0;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
SET @@sql_auto_is_null= 1;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
SET @@unique_checks= 0;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.unique_checks);
|
||||||
|
SET @@unique_checks= 1;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.unique_checks);
|
||||||
|
SET @@auto_increment_increment= 11;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
SET @@auto_increment_increment= 19;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
SET @@auto_increment_offset= 13;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
SET @@auto_increment_offset= 17;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
# reset these as they affect the index column
|
||||||
|
SET @@auto_increment_increment= 1;
|
||||||
|
SET @@auto_increment_offset= 1;
|
||||||
|
SET @@character_set_client= 'cp1257';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_client);
|
||||||
|
SET @@character_set_client= 'cp1256';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_client);
|
||||||
|
SET @@collation_connection= 'cp1251_ukrainian_ci';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_connection);
|
||||||
|
SET @@collation_connection= 'cp1251_bulgarian_ci';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_connection);
|
||||||
|
SET @@collation_server= 'latin7_bin';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_server);
|
||||||
|
SET @@collation_server= 'latin7_general_cs';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_server);
|
||||||
|
SET @@time_zone= 'Europe/Moscow';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.time_zone);
|
||||||
|
SET @@time_zone= 'Universal';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.time_zone);
|
||||||
|
SET @@lc_time_names= 'sv_FI';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.lc_time_names);
|
||||||
|
SET @@lc_time_names= 'no_NO';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.lc_time_names);
|
||||||
|
SET @@collation_database= 'latin7_general_ci';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_database);
|
||||||
|
SET @@collation_database= 'latin7_estonian_cs';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_database);
|
||||||
|
SET @@timestamp= 47114711;
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.timestamp);
|
||||||
|
SET @@timestamp= 47124712;
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.timestamp);
|
||||||
|
SET @@last_insert_id= 1616;
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.last_insert_id);
|
||||||
|
SET @@last_insert_id= 1717;
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.last_insert_id);
|
||||||
|
END|
|
||||||
|
INSERT INTO trigger_table VALUES ('bye.');
|
||||||
|
==== Insert variables from a prepared statement ====
|
||||||
|
PREPARE p1 FROM 'SET @@pseudo_thread_id= 4712';
|
||||||
|
PREPARE p2 FROM 'INSERT INTO tprep(num) VALUES (@@session.pseudo_thread_id)';
|
||||||
|
PREPARE p3 FROM 'SET @@pseudo_thread_id= 4713';
|
||||||
|
PREPARE p4 FROM 'INSERT INTO tprep(num) VALUES (@@session.pseudo_thread_id)';
|
||||||
|
PREPARE p5 FROM 'SET @@foreign_key_checks= 0';
|
||||||
|
PREPARE p6 FROM 'INSERT INTO tprep(num) VALUES (@@session.foreign_key_checks)';
|
||||||
|
PREPARE p7 FROM 'SET @@foreign_key_checks= 1';
|
||||||
|
PREPARE p8 FROM 'INSERT INTO tprep(num) VALUES (@@session.foreign_key_checks)';
|
||||||
|
PREPARE p9 FROM 'SET @@sql_auto_is_null= 0';
|
||||||
|
PREPARE p10 FROM 'INSERT INTO tprep(num) VALUES (@@session.sql_auto_is_null)';
|
||||||
|
PREPARE p11 FROM 'SET @@sql_auto_is_null= 1';
|
||||||
|
PREPARE p12 FROM 'INSERT INTO tprep(num) VALUES (@@session.sql_auto_is_null)';
|
||||||
|
PREPARE p13 FROM 'SET @@unique_checks= 0';
|
||||||
|
PREPARE p14 FROM 'INSERT INTO tprep(num) VALUES (@@session.unique_checks)';
|
||||||
|
PREPARE p15 FROM 'SET @@unique_checks= 1';
|
||||||
|
PREPARE p16 FROM 'INSERT INTO tprep(num) VALUES (@@session.unique_checks)';
|
||||||
|
PREPARE p17 FROM 'SET @@auto_increment_increment= 11';
|
||||||
|
PREPARE p18 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_increment)';
|
||||||
|
PREPARE p19 FROM 'SET @@auto_increment_increment= 19';
|
||||||
|
PREPARE p20 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_increment)';
|
||||||
|
PREPARE p21 FROM 'SET @@auto_increment_offset= 13';
|
||||||
|
PREPARE p22 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_offset)';
|
||||||
|
PREPARE p23 FROM 'SET @@auto_increment_offset= 17';
|
||||||
|
PREPARE p24 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_offset)';
|
||||||
|
PREPARE p25 FROM 'SET @@auto_increment_increment= 1';
|
||||||
|
PREPARE p26 FROM 'SET @@auto_increment_offset= 1';
|
||||||
|
PREPARE p27 FROM 'SET @@character_set_client= \'cp1257\'';
|
||||||
|
PREPARE p28 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_client)';
|
||||||
|
PREPARE p29 FROM 'SET @@character_set_client= \'cp1256\'';
|
||||||
|
PREPARE p30 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_client)';
|
||||||
|
PREPARE p31 FROM 'SET @@collation_connection= \'cp1251_ukrainian_ci\'';
|
||||||
|
PREPARE p32 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_connection)';
|
||||||
|
PREPARE p33 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_connection)';
|
||||||
|
PREPARE p34 FROM 'SET @@collation_connection= \'cp1251_bulgarian_ci\'';
|
||||||
|
PREPARE p35 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_connection)';
|
||||||
|
PREPARE p36 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_connection)';
|
||||||
|
PREPARE p37 FROM 'SET @@collation_server= \'latin7_bin\'';
|
||||||
|
PREPARE p38 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_server)';
|
||||||
|
PREPARE p39 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_server)';
|
||||||
|
PREPARE p40 FROM 'SET @@collation_server= \'latin7_general_cs\'';
|
||||||
|
PREPARE p41 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_server)';
|
||||||
|
PREPARE p42 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_server)';
|
||||||
|
PREPARE p43 FROM 'SET @@time_zone= \'Europe/Moscow\'';
|
||||||
|
PREPARE p44 FROM 'INSERT INTO tprep(text) VALUES (@@session.time_zone)';
|
||||||
|
PREPARE p45 FROM 'SET @@time_zone= \'Universal\'';
|
||||||
|
PREPARE p46 FROM 'INSERT INTO tprep(text) VALUES (@@session.time_zone)';
|
||||||
|
PREPARE p47 FROM 'SET @@lc_time_names= \'sv_FI\'';
|
||||||
|
PREPARE p48 FROM 'INSERT INTO tprep(text) VALUES (@@session.lc_time_names)';
|
||||||
|
PREPARE p49 FROM 'SET @@lc_time_names= \'no_NO\'';
|
||||||
|
PREPARE p50 FROM 'INSERT INTO tprep(text) VALUES (@@session.lc_time_names)';
|
||||||
|
PREPARE p51 FROM 'SET @@collation_database= \'latin7_general_ci\'';
|
||||||
|
PREPARE p52 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_database)';
|
||||||
|
PREPARE p53 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_database)';
|
||||||
|
PREPARE p54 FROM 'SET @@collation_database= \'latin7_estonian_cs\'';
|
||||||
|
PREPARE p55 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_database)';
|
||||||
|
PREPARE p56 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_database)';
|
||||||
|
PREPARE p57 FROM 'SET @@timestamp= 47114711';
|
||||||
|
PREPARE p58 FROM 'INSERT INTO tprep(text) VALUES (@@session.timestamp)';
|
||||||
|
PREPARE p59 FROM 'SET @@timestamp= 47124712';
|
||||||
|
PREPARE p60 FROM 'INSERT INTO tprep(text) VALUES (@@session.timestamp)';
|
||||||
|
PREPARE p61 FROM 'SET @@last_insert_id= 1616';
|
||||||
|
PREPARE p62 FROM 'INSERT INTO tprep(text) VALUES (@@session.last_insert_id)';
|
||||||
|
PREPARE p63 FROM 'SET @@last_insert_id= 1717';
|
||||||
|
PREPARE p64 FROM 'INSERT INTO tprep(text) VALUES (@@session.last_insert_id)';
|
||||||
|
EXECUTE p1;
|
||||||
|
EXECUTE p2;
|
||||||
|
EXECUTE p3;
|
||||||
|
EXECUTE p4;
|
||||||
|
EXECUTE p5;
|
||||||
|
EXECUTE p6;
|
||||||
|
EXECUTE p7;
|
||||||
|
EXECUTE p8;
|
||||||
|
EXECUTE p9;
|
||||||
|
EXECUTE p10;
|
||||||
|
EXECUTE p11;
|
||||||
|
EXECUTE p12;
|
||||||
|
EXECUTE p13;
|
||||||
|
EXECUTE p14;
|
||||||
|
EXECUTE p15;
|
||||||
|
EXECUTE p16;
|
||||||
|
EXECUTE p17;
|
||||||
|
EXECUTE p18;
|
||||||
|
EXECUTE p19;
|
||||||
|
EXECUTE p20;
|
||||||
|
EXECUTE p21;
|
||||||
|
EXECUTE p22;
|
||||||
|
EXECUTE p23;
|
||||||
|
EXECUTE p24;
|
||||||
|
EXECUTE p25;
|
||||||
|
EXECUTE p26;
|
||||||
|
EXECUTE p27;
|
||||||
|
EXECUTE p28;
|
||||||
|
EXECUTE p29;
|
||||||
|
EXECUTE p30;
|
||||||
|
EXECUTE p31;
|
||||||
|
EXECUTE p32;
|
||||||
|
EXECUTE p33;
|
||||||
|
EXECUTE p34;
|
||||||
|
EXECUTE p35;
|
||||||
|
EXECUTE p36;
|
||||||
|
EXECUTE p37;
|
||||||
|
EXECUTE p38;
|
||||||
|
EXECUTE p39;
|
||||||
|
EXECUTE p40;
|
||||||
|
EXECUTE p41;
|
||||||
|
EXECUTE p42;
|
||||||
|
EXECUTE p43;
|
||||||
|
EXECUTE p44;
|
||||||
|
EXECUTE p45;
|
||||||
|
EXECUTE p46;
|
||||||
|
EXECUTE p47;
|
||||||
|
EXECUTE p48;
|
||||||
|
EXECUTE p49;
|
||||||
|
EXECUTE p50;
|
||||||
|
EXECUTE p51;
|
||||||
|
EXECUTE p52;
|
||||||
|
EXECUTE p53;
|
||||||
|
EXECUTE p54;
|
||||||
|
EXECUTE p55;
|
||||||
|
EXECUTE p56;
|
||||||
|
EXECUTE p57;
|
||||||
|
EXECUTE p58;
|
||||||
|
EXECUTE p59;
|
||||||
|
EXECUTE p60;
|
||||||
|
EXECUTE p61;
|
||||||
|
EXECUTE p62;
|
||||||
|
EXECUTE p63;
|
||||||
|
EXECUTE p64;
|
||||||
|
==== Results ====
|
||||||
|
SELECT * FROM tstmt ORDER BY id;
|
||||||
|
id num text
|
||||||
|
1 4712 NULL
|
||||||
|
2 4713 NULL
|
||||||
|
3 0 NULL
|
||||||
|
4 1 NULL
|
||||||
|
5 0 NULL
|
||||||
|
6 1 NULL
|
||||||
|
7 0 NULL
|
||||||
|
8 1 NULL
|
||||||
|
12 11 NULL
|
||||||
|
20 19 NULL
|
||||||
|
32 13 NULL
|
||||||
|
36 17 NULL
|
||||||
|
37 NULL cp1257
|
||||||
|
38 NULL cp1256
|
||||||
|
39 NULL cp1251_ukrainian_ci
|
||||||
|
40 NULL cp1251
|
||||||
|
41 NULL cp1251_bulgarian_ci
|
||||||
|
42 NULL cp1251
|
||||||
|
43 NULL latin7_bin
|
||||||
|
44 NULL latin7
|
||||||
|
45 NULL latin7_general_cs
|
||||||
|
46 NULL latin7
|
||||||
|
47 NULL Europe/Moscow
|
||||||
|
48 NULL Universal
|
||||||
|
49 NULL sv_FI
|
||||||
|
50 NULL no_NO
|
||||||
|
51 NULL latin7_general_ci
|
||||||
|
52 NULL latin7
|
||||||
|
53 NULL latin7_estonian_cs
|
||||||
|
54 NULL latin7
|
||||||
|
55 NULL 47114711
|
||||||
|
56 NULL 47124712
|
||||||
|
57 NULL 1616
|
||||||
|
58 NULL 1717
|
||||||
|
Comparing tables master:test.tstmt and master:test.tproc
|
||||||
|
Comparing tables master:test.tstmt and master:test.tfunc
|
||||||
|
Comparing tables master:test.tstmt and master:test.ttrig
|
||||||
|
Comparing tables master:test.tstmt and master:test.tprep
|
||||||
|
Comparing tables master:test.tstmt and slave:test.tstmt
|
||||||
|
Comparing tables master:test.tstmt and slave:test.tproc
|
||||||
|
Comparing tables master:test.tstmt and slave:test.tfunc
|
||||||
|
Comparing tables master:test.tstmt and slave:test.ttrig
|
||||||
|
Comparing tables master:test.tstmt and slave:test.tprep
|
||||||
|
==== Clean up ====
|
||||||
|
[on master]
|
||||||
|
DROP PROCEDURE proc;
|
||||||
|
DROP FUNCTION func;
|
||||||
|
DROP TRIGGER trig;
|
||||||
|
DROP TABLE tstmt, tproc, tfunc, ttrig, tprep, trigger_table;
|
||||||
|
SET @@global.pseudo_thread_id= @m_pseudo_thread_id;
|
||||||
|
SET @@global.auto_increment_increment= @m_auto_increment_increment;
|
||||||
|
SET @@global.auto_increment_offset= @m_auto_increment_offset;
|
||||||
|
SET @@global.character_set_client= @m_character_set_client;
|
||||||
|
SET @@global.collation_connection= @m_collation_connection;
|
||||||
|
SET @@global.collation_server= @m_collation_server;
|
||||||
|
SET @@global.time_zone= @m_time_zone;
|
||||||
|
SET @@global.lc_time_names= @m_lc_time_names;
|
||||||
|
SET @@global.collation_database= @m_collation_database;
|
||||||
|
[on slave]
|
||||||
|
SET @@global.pseudo_thread_id= @s_pseudo_thread_id;
|
||||||
|
SET @@global.auto_increment_increment= @s_auto_increment_increment;
|
||||||
|
SET @@global.auto_increment_offset= @s_auto_increment_offset;
|
||||||
|
SET @@global.character_set_client= @s_character_set_client;
|
||||||
|
SET @@global.collation_connection= @s_collation_connection;
|
||||||
|
SET @@global.collation_server= @s_collation_server;
|
||||||
|
SET @@global.time_zone= @s_time_zone;
|
||||||
|
SET @@global.lc_time_names= @s_lc_time_names;
|
||||||
|
SET @@global.collation_database= @s_collation_database;
|
1
mysql-test/suite/rpl/t/rpl_bug33931-slave.opt
Normal file
1
mysql-test/suite/rpl/t/rpl_bug33931-slave.opt
Normal file
@ -0,0 +1 @@
|
|||||||
|
--loose-debug=d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init
|
37
mysql-test/suite/rpl/t/rpl_bug33931.test
Normal file
37
mysql-test/suite/rpl/t/rpl_bug33931.test
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# Test for
|
||||||
|
# Bug #33931 assertion at write_ignored_events_info_to_relay_log if init_slave_thread() fails
|
||||||
|
# Bug #33932 assertion at handle_slave_sql if init_slave_thread() fails
|
||||||
|
|
||||||
|
source include/have_debug.inc;
|
||||||
|
source include/have_log_bin.inc;
|
||||||
|
|
||||||
|
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||||
|
connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT,);
|
||||||
|
|
||||||
|
|
||||||
|
connection master;
|
||||||
|
reset master;
|
||||||
|
|
||||||
|
connection slave;
|
||||||
|
--disable_warnings
|
||||||
|
stop slave;
|
||||||
|
--enable_warnings
|
||||||
|
reset slave;
|
||||||
|
start slave;
|
||||||
|
|
||||||
|
connection master;
|
||||||
|
save_master_pos;
|
||||||
|
connection slave;
|
||||||
|
|
||||||
|
#
|
||||||
|
# slave is going to stop because of emulated failures
|
||||||
|
# but there won't be any crashes nor asserts hit.
|
||||||
|
#
|
||||||
|
source include/wait_for_slave_to_stop.inc;
|
||||||
|
|
||||||
|
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||||
|
--replace_column 1 # 8 # 9 # 23 # 33 #
|
||||||
|
query_vertical show slave status;
|
||||||
|
|
||||||
|
# no clean-up is needed
|
||||||
|
|
@ -15,8 +15,10 @@ connection master;
|
|||||||
insert into t1 values(1);
|
insert into t1 values(1);
|
||||||
insert into t1 values(2);
|
insert into t1 values(2);
|
||||||
save_master_pos;
|
save_master_pos;
|
||||||
|
let $slave_param= Read_Master_Log_Pos;
|
||||||
|
let $slave_param_value= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||||
connection slave;
|
connection slave;
|
||||||
--real_sleep 3 # wait for I/O thread to have read updates
|
source include/wait_for_slave_param.inc;
|
||||||
stop slave;
|
stop slave;
|
||||||
source include/show_slave_status2.inc;
|
source include/show_slave_status2.inc;
|
||||||
change master to master_user='root';
|
change master to master_user='root';
|
||||||
|
@ -6,19 +6,25 @@
|
|||||||
# to work around NDB's issue with temp tables
|
# to work around NDB's issue with temp tables
|
||||||
##############################################
|
##############################################
|
||||||
source include/master-slave.inc;
|
source include/master-slave.inc;
|
||||||
|
source include/have_binlog_format_mixed_or_statement.inc;
|
||||||
|
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
create database if not exists mysqltest;
|
create database if not exists mysqltest;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
create temporary table mysqltest.t1 (n int)ENGINE=MyISAM;
|
create temporary table mysqltest.t1 (n int)ENGINE=MyISAM;
|
||||||
create temporary table mysqltest.t2 (n int)ENGINE=MyISAM;
|
create temporary table mysqltest.t2 (n int)ENGINE=MyISAM;
|
||||||
sync_slave_with_master;
|
|
||||||
connection master;
|
connection master;
|
||||||
disconnect master;
|
disconnect master;
|
||||||
connection slave;
|
|
||||||
--real_sleep 3 # time for DROP to be written
|
|
||||||
show status like 'Slave_open_temp_tables';
|
|
||||||
|
|
||||||
|
connection master1;
|
||||||
|
# Wait until drop of temp tables appears in binlog
|
||||||
|
let $wait_binlog_event= DROP;
|
||||||
|
source include/wait_for_binlog_event.inc;
|
||||||
|
|
||||||
|
sync_slave_with_master;
|
||||||
|
show status like 'Slave_open_temp_tables';
|
||||||
# Cleanup
|
# Cleanup
|
||||||
connection default;
|
connection default;
|
||||||
drop database mysqltest;
|
drop database mysqltest;
|
||||||
|
@ -35,12 +35,35 @@ let $result_pattern= '%127.0.0.1%root%slave-bin.000001%slave-bin.000001%Yes%Yes%
|
|||||||
#
|
#
|
||||||
# Flush logs of slave
|
# Flush logs of slave
|
||||||
#
|
#
|
||||||
flush logs;
|
# Create full loop by following way:
|
||||||
sleep 5;
|
# 1. Insert into t1 on master (1st).
|
||||||
|
# 2. Insert into t1 on slave (2nd) when the event (1st) for t1 replicated.
|
||||||
|
# 3. Master waits until the event (2nd) for t1 will be replicated.
|
||||||
|
|
||||||
|
--disable_query_log
|
||||||
|
CREATE TABLE t1 (a INT KEY) ENGINE= MyISAM;
|
||||||
|
let $wait_binlog_event= CREATE TABLE t1;
|
||||||
|
--source include/wait_for_binlog_event.inc
|
||||||
|
sync_slave_with_master;
|
||||||
|
connection master;
|
||||||
|
INSERT INTO t1 VALUE(1);
|
||||||
|
--enable_query_log
|
||||||
|
FLUSH LOGS;
|
||||||
|
connection slave;
|
||||||
|
let $wait_condition= SELECT COUNT(*) = 1 FROM t1;
|
||||||
|
-- source include/wait_condition.inc
|
||||||
|
--disable_query_log
|
||||||
|
INSERT INTO t1 VALUE(2);
|
||||||
|
--enable_query_log
|
||||||
|
connection master;
|
||||||
|
let $wait_condition= SELECT COUNT(*) = 2 FROM t1;
|
||||||
|
-- source include/wait_condition.inc
|
||||||
|
--enable_query_log
|
||||||
|
|
||||||
#
|
#
|
||||||
# Show status of slave
|
# Show status of slave
|
||||||
#
|
#
|
||||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
let $pos= query_get_value(SHOW SLAVE STATUS, Read_Master_Log_Pos, 1);
|
||||||
|
--replace_result $SLAVE_MYPORT SLAVE_PORT $pos POSITION
|
||||||
--replace_column 1 # 8 # 9 # 16 # 23 # 33 # 34 # 35 #
|
--replace_column 1 # 8 # 9 # 16 # 23 # 33 # 34 # 35 #
|
||||||
--query_vertical SHOW SLAVE STATUS
|
--query_vertical SHOW SLAVE STATUS
|
||||||
|
@ -201,11 +201,16 @@ SET GLOBAL EVENT_SCHEDULER = off;
|
|||||||
|
|
||||||
# Check original objects
|
# Check original objects
|
||||||
--echo
|
--echo
|
||||||
|
--sorted_result
|
||||||
SHOW TABLES LIKE 't%';
|
SHOW TABLES LIKE 't%';
|
||||||
SELECT table_name FROM information_schema.views WHERE table_schema='test' ORDER BY table_name;
|
--sorted_result
|
||||||
SELECT trigger_name, event_manipulation, event_object_table FROM information_schema.triggers WHERE trigger_schema='test' ORDER BY trigger_name;
|
SELECT table_name FROM information_schema.views WHERE table_schema='test';
|
||||||
SELECT routine_type, routine_name FROM information_schema.routines WHERE routine_schema='test' ORDER BY routine_name;
|
--sorted_result
|
||||||
SELECT event_name, status FROM information_schema.events WHERE event_schema='test' ORDER BY event_name;
|
SELECT trigger_name, event_manipulation, event_object_table FROM information_schema.triggers WHERE trigger_schema='test';
|
||||||
|
--sorted_result
|
||||||
|
SELECT routine_type, routine_name FROM information_schema.routines WHERE routine_schema='test';
|
||||||
|
--sorted_result
|
||||||
|
SELECT event_name, status FROM information_schema.events WHERE event_schema='test';
|
||||||
|
|
||||||
# Check original data
|
# Check original data
|
||||||
--echo
|
--echo
|
||||||
@ -228,11 +233,16 @@ SELECT a,b FROM v11 ORDER BY a;
|
|||||||
|
|
||||||
# Check replicated objects
|
# Check replicated objects
|
||||||
--echo
|
--echo
|
||||||
|
--sorted_result
|
||||||
SHOW TABLES LIKE 't%';
|
SHOW TABLES LIKE 't%';
|
||||||
SELECT table_name FROM information_schema.views WHERE table_schema='test' ORDER BY table_name;
|
--sorted_result
|
||||||
SELECT trigger_name, event_manipulation, event_object_table FROM information_schema.triggers WHERE trigger_schema='test' ORDER BY trigger_name;
|
SELECT table_name FROM information_schema.views WHERE table_schema='test';
|
||||||
SELECT routine_type, routine_name FROM information_schema.routines WHERE routine_schema='test' ORDER BY routine_name;
|
--sorted_result
|
||||||
SELECT event_name, status FROM information_schema.events WHERE event_schema='test' ORDER BY event_name;
|
SELECT trigger_name, event_manipulation, event_object_table FROM information_schema.triggers WHERE trigger_schema='test';
|
||||||
|
--sorted_result
|
||||||
|
SELECT routine_type, routine_name FROM information_schema.routines WHERE routine_schema='test';
|
||||||
|
--sorted_result
|
||||||
|
SELECT event_name, status FROM information_schema.events WHERE event_schema='test';
|
||||||
|
|
||||||
# Check replicated data
|
# Check replicated data
|
||||||
--echo
|
--echo
|
||||||
|
@ -15,4 +15,15 @@ stop slave sql_thread;
|
|||||||
connection slave;
|
connection slave;
|
||||||
reap;
|
reap;
|
||||||
|
|
||||||
|
#
|
||||||
|
# bug#26622 MASTER_POS_WAIT does not work as documented
|
||||||
|
#
|
||||||
|
|
||||||
|
connection master;
|
||||||
|
echo "*** must be empty ***";
|
||||||
|
query_vertical show slave status;
|
||||||
|
|
||||||
|
echo "*** must be NULL ***";
|
||||||
|
select master_pos_wait('foo', 98);
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
@ -14,23 +14,10 @@ connection slave;
|
|||||||
reset slave;
|
reset slave;
|
||||||
start slave io_thread;
|
start slave io_thread;
|
||||||
# Give the I/O thread time to block.
|
# Give the I/O thread time to block.
|
||||||
let $run= 1;
|
let $slave_param= Slave_IO_State;
|
||||||
let $counter= 300;
|
let $slave_param_value= Waiting for the slave SQL thread to free enough relay log space;
|
||||||
while ($run)
|
source include/wait_for_slave_param.inc;
|
||||||
{
|
|
||||||
let $io_state= query_get_value("SHOW SLAVE STATUS", Slave_IO_State, 1);
|
|
||||||
if (`SELECT '$io_state' = 'Waiting for the slave SQL thread to free enough relay log space'`){
|
|
||||||
let $run= 0;
|
|
||||||
}
|
|
||||||
sleep 0.1;
|
|
||||||
if (!$counter){
|
|
||||||
--echo "Failed while waiting for slave IO thread block"
|
|
||||||
SHOW SLAVE STATUS;
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
dec $counter;
|
|
||||||
}
|
|
||||||
sleep 2;
|
|
||||||
# A bug caused the I/O thread to refuse stopping.
|
# A bug caused the I/O thread to refuse stopping.
|
||||||
stop slave io_thread;
|
stop slave io_thread;
|
||||||
reset slave;
|
reset slave;
|
||||||
|
2
mysql-test/suite/rpl/t/rpl_report-slave.opt
Normal file
2
mysql-test/suite/rpl/t/rpl_report-slave.opt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
--report-host=127.0.0.1 --report-user='my_user' --report-password='my_password' --report-port=9308
|
||||||
|
|
21
mysql-test/suite/rpl/t/rpl_report.test
Normal file
21
mysql-test/suite/rpl/t/rpl_report.test
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# Verify that mysqld init time --report-{host,port,user,password} parameters
|
||||||
|
# are SHOW-able and SELECT-able FROM INFORMATION_SCHEMA.global_variables
|
||||||
|
|
||||||
|
source include/master-slave.inc;
|
||||||
|
|
||||||
|
connection slave;
|
||||||
|
select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_host';
|
||||||
|
select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_port';
|
||||||
|
select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_user';
|
||||||
|
select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_password';
|
||||||
|
query_vertical show global variables like 'report_host';
|
||||||
|
query_vertical show global variables like 'report_port';
|
||||||
|
query_vertical show global variables like 'report_user';
|
||||||
|
query_vertical show global variables like 'report_password';
|
||||||
|
|
||||||
|
# to demonstrate that report global variables are read-only
|
||||||
|
error ER_INCORRECT_GLOBAL_LOCAL_VAR;
|
||||||
|
set @@global.report_host='my.new.address.net';
|
||||||
|
|
||||||
|
|
||||||
|
--echo end of tests
|
@ -23,6 +23,7 @@ DROP TABLE IF EXISTS mysqltest1.t3;
|
|||||||
DROP TABLE IF EXISTS mysqltest1.t1;
|
DROP TABLE IF EXISTS mysqltest1.t1;
|
||||||
DROP TABLE IF EXISTS mysqltest1.t2;
|
DROP TABLE IF EXISTS mysqltest1.t2;
|
||||||
DROP TABLE IF EXISTS mysqltest1.t4;
|
DROP TABLE IF EXISTS mysqltest1.t4;
|
||||||
|
DROP TABLE IF EXISTS mysqltest1.t10;
|
||||||
|
|
||||||
# Begin test section 1
|
# Begin test section 1
|
||||||
CREATE TABLE mysqltest1.t1 (a INT, c CHAR(6),PRIMARY KEY(a));
|
CREATE TABLE mysqltest1.t1 (a INT, c CHAR(6),PRIMARY KEY(a));
|
||||||
@ -43,12 +44,18 @@ CREATE VIEW mysqltest1.v4 AS SELECT * FROM mysqltest1.v3 WHERE a > 1 WITH LOCAL
|
|||||||
|
|
||||||
SELECT * FROM mysqltest1.v2;
|
SELECT * FROM mysqltest1.v2;
|
||||||
SELECT * FROM mysqltest1.v1;
|
SELECT * FROM mysqltest1.v1;
|
||||||
# Had to add a sleep for use with NDB
|
|
||||||
|
|
||||||
|
# Had to add a waiting for use with NDB
|
||||||
# engine. Injector thread would have not
|
# engine. Injector thread would have not
|
||||||
# populated biblog and data would not be on
|
# populated binlog and data would not be on
|
||||||
# the slave.
|
# the slave.
|
||||||
sleep 10;
|
|
||||||
sync_slave_with_master;
|
CREATE TABLE mysqltest1.t10 (a INT, PRIMARY KEY(a));
|
||||||
|
let $wait_binlog_event= CREATE TABLE mysqltest1.t10;
|
||||||
|
-- source include/wait_for_binlog_event.inc
|
||||||
|
--sync_slave_with_master
|
||||||
|
|
||||||
SELECT * FROM mysqltest1.v2;
|
SELECT * FROM mysqltest1.v2;
|
||||||
SELECT * FROM mysqltest1.v1;
|
SELECT * FROM mysqltest1.v1;
|
||||||
connection master;
|
connection master;
|
||||||
@ -82,6 +89,7 @@ DROP TABLE IF EXISTS mysqltest1.t3;
|
|||||||
DROP TABLE IF EXISTS mysqltest1.t1;
|
DROP TABLE IF EXISTS mysqltest1.t1;
|
||||||
DROP TABLE IF EXISTS mysqltest1.t2;
|
DROP TABLE IF EXISTS mysqltest1.t2;
|
||||||
DROP TABLE IF EXISTS mysqltest1.t4;
|
DROP TABLE IF EXISTS mysqltest1.t4;
|
||||||
|
DROP TABLE IF EXISTS mysqltest1.t10;
|
||||||
DROP DATABASE mysqltest1;
|
DROP DATABASE mysqltest1;
|
||||||
sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
|
|
||||||
|
@ -6,21 +6,20 @@
|
|||||||
|
|
||||||
source include/master-slave.inc;
|
source include/master-slave.inc;
|
||||||
connection slave;
|
connection slave;
|
||||||
create table t1 (n int);
|
|
||||||
reset master;
|
reset master;
|
||||||
|
|
||||||
# replicate ourselves
|
# replicate ourselves
|
||||||
stop slave;
|
stop slave;
|
||||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||||
eval change master to master_port=$SLAVE_MYPORT;
|
eval change master to master_port=$SLAVE_MYPORT;
|
||||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
|
||||||
--replace_column 16 # 18 # 35 # 36 #
|
|
||||||
query_vertical show slave status;
|
|
||||||
start slave;
|
start slave;
|
||||||
insert into t1 values (1);
|
|
||||||
# can't MASTER_POS_WAIT(), it does not work in this weird setup
|
--echo *** must be having the replicate-same-server-id IO thread error ***
|
||||||
# (when slave is its own master without --replicate-same-server-id)
|
|
||||||
sleep 2; # enough time for the event to be replicated (it should not)
|
source include/wait_for_slave_io_to_stop.inc;
|
||||||
show status like "slave_running";
|
|
||||||
drop table t1;
|
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||||
|
--replace_column 12 # 16 # 19 # 20 # 18 # 37 # 38 #
|
||||||
|
query_vertical show slave status;
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
@ -1,39 +1,61 @@
|
|||||||
##########################################
|
# ==== Purpose ====
|
||||||
# 2006-02-07 By JBM: Added order by
|
#
|
||||||
#########################################
|
# Verify that --slave-skip-errors works correctly. The error messages
|
||||||
# Note that errors are ignored by opt file.
|
# specified by --slave-skip-errors on slave should be ignored. If
|
||||||
|
# such errors occur, they should not be reported and not cause the
|
||||||
|
# slave to stop.
|
||||||
|
#
|
||||||
|
# ==== Method ====
|
||||||
|
#
|
||||||
|
# We run the slave with --slave-skip-errors=1062 (the code for
|
||||||
|
# duplicate key). On slave, we insert value 1 in a table, and then,
|
||||||
|
# on master, we insert value 1 in the table. The error should be
|
||||||
|
# ignored on slave.
|
||||||
|
#
|
||||||
|
# ==== Related bugs ====
|
||||||
|
#
|
||||||
|
# BUG#28839: Errors in strict mode silently stop SQL thread if --slave-skip-errors exists
|
||||||
|
# bug in this test: BUG#30594: rpl.rpl_skip_error is nondeterministic
|
||||||
|
|
||||||
source include/master-slave.inc;
|
source include/master-slave.inc;
|
||||||
source include/have_binlog_format_mixed_or_statement.inc;
|
source include/have_binlog_format_statement.inc;
|
||||||
|
|
||||||
#
|
|
||||||
# Bug #30594
|
|
||||||
# Skipping error due to applying Row-based repliation events
|
|
||||||
# should be checked with another test file
|
|
||||||
# consider names like rpl_row_skip_error
|
|
||||||
#
|
|
||||||
|
|
||||||
|
--echo ==== Test Without sql_mode=strict_trans_tables ====
|
||||||
|
|
||||||
|
--echo [on master]
|
||||||
create table t1 (n int not null primary key);
|
create table t1 (n int not null primary key);
|
||||||
save_master_pos;
|
|
||||||
connection slave;
|
--echo [on slave]
|
||||||
sync_with_master;
|
sync_slave_with_master;
|
||||||
insert into t1 values (1);
|
insert into t1 values (1);
|
||||||
|
|
||||||
|
--echo [on master]
|
||||||
connection master;
|
connection master;
|
||||||
# Here we expect (ignored) error, since 1 is already in slave table
|
# Here we expect (ignored) error, since 1 is already in slave table
|
||||||
insert into t1 values (1);
|
insert into t1 values (1);
|
||||||
|
|
||||||
# These should work fine
|
# These should work fine
|
||||||
insert into t1 values (2),(3);
|
insert into t1 values (2),(3);
|
||||||
|
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
--echo [on slave]
|
||||||
sync_with_master;
|
select * from t1 order by n;
|
||||||
select * from t1 ORDER BY n;
|
|
||||||
|
|
||||||
# Cleanup
|
--echo ==== Test With sql_mode=strict_trans_tables ====
|
||||||
|
insert into t1 values (7),(8);
|
||||||
|
--echo [on master]
|
||||||
|
connection master;
|
||||||
|
set sql_mode=strict_trans_tables;
|
||||||
|
insert into t1 values (7), (8), (9);
|
||||||
|
--echo [on slave]
|
||||||
|
sync_slave_with_master;
|
||||||
|
select * from t1 order by n;
|
||||||
|
source include/show_slave_status2.inc;
|
||||||
|
|
||||||
|
--echo ==== Clean Up ====
|
||||||
connection master;
|
connection master;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -44,14 +66,17 @@ create table t1(a int primary key);
|
|||||||
insert into t1 values (1),(2);
|
insert into t1 values (1),(2);
|
||||||
delete from t1 where @@server_id=1;
|
delete from t1 where @@server_id=1;
|
||||||
set sql_mode=strict_trans_tables;
|
set sql_mode=strict_trans_tables;
|
||||||
select @@server_id;
|
insert into t1 values (7), (8), (9);
|
||||||
insert into t1 values (1),(2),(3);
|
|
||||||
|
--echo [on slave]
|
||||||
sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
select @@server_id;
|
|
||||||
select * from t1;
|
select * from t1;
|
||||||
source include/show_slave_status2.inc;
|
source include/show_slave_status2.inc;
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Clean Up ====
|
||||||
|
|
||||||
connection master;
|
connection master;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
sync_with_master;
|
sync_slave_with_master;
|
||||||
# End of 5.0 tests
|
# End of 5.0 tests
|
||||||
|
@ -50,9 +50,10 @@ show slave status;
|
|||||||
connection slave;
|
connection slave;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
delete from mysql.user where user='rpl';
|
delete from mysql.user where user='rpl';
|
||||||
|
# cleanup: slave io thread has been stopped "irrecoverably"
|
||||||
|
# so we clean up mess manually
|
||||||
|
|
||||||
connection master;
|
connection master;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
# end of test case for BUG#10780
|
|
||||||
|
|
||||||
# end of 4.1 tests
|
# end of 4.1 tests
|
||||||
|
@ -132,7 +132,7 @@ drop table t1,t2;
|
|||||||
# don't get any memory leaks for this
|
# don't get any memory leaks for this
|
||||||
|
|
||||||
create temporary table t3 (f int);
|
create temporary table t3 (f int);
|
||||||
sync_with_master;
|
sync_slave_with_master;
|
||||||
|
|
||||||
# The server will now close done
|
# The server will now close done
|
||||||
|
|
||||||
@ -143,7 +143,8 @@ sync_with_master;
|
|||||||
connection master;
|
connection master;
|
||||||
create temporary table t4 (f int);
|
create temporary table t4 (f int);
|
||||||
create table t5 (f int);
|
create table t5 (f int);
|
||||||
sync_with_master;
|
sync_slave_with_master;
|
||||||
|
connection master;
|
||||||
# find dumper's $id
|
# find dumper's $id
|
||||||
select id from information_schema.processlist where command='Binlog Dump' into @id;
|
select id from information_schema.processlist where command='Binlog Dump' into @id;
|
||||||
kill @id; # to stimulate reconnection by slave w/o timeout
|
kill @id; # to stimulate reconnection by slave w/o timeout
|
||||||
|
@ -27,7 +27,12 @@ show status like 'Slave_open_temp_tables';
|
|||||||
|
|
||||||
# Disconnect the master, temp table on slave should dissapear
|
# Disconnect the master, temp table on slave should dissapear
|
||||||
disconnect master;
|
disconnect master;
|
||||||
--real_sleep 3 # time for DROP to be read by slave
|
|
||||||
|
connection master1;
|
||||||
|
# Wait until drop of temp tables appers in binlog
|
||||||
|
let $wait_binlog_event= DROP;
|
||||||
|
source include/wait_for_binlog_event.inc;
|
||||||
|
|
||||||
connection slave;
|
connection slave;
|
||||||
show status like 'Slave_open_temp_tables';
|
show status like 'Slave_open_temp_tables';
|
||||||
|
|
||||||
|
@ -1 +0,0 @@
|
|||||||
--slave-skip-errors=3,100,137,643,1752
|
|
@ -1,20 +1,739 @@
|
|||||||
|
# ==== Purpose ====
|
||||||
|
#
|
||||||
|
# Test that queries referencing variables are replicated correctly in
|
||||||
|
# mixed and row-based logging mode.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# ==== Method ====
|
||||||
|
#
|
||||||
|
# The test simply does a lot of "INSERT INTO t1 VALUES (@@variable)"
|
||||||
|
# and checks the result on the slave.
|
||||||
|
#
|
||||||
|
# Statements referencing a variable only replicate correctly in mixed
|
||||||
|
# and row mode: in row mode, the values inserted are replicated. In
|
||||||
|
# mixed mode, statements referencing a variable are marked as unsafe,
|
||||||
|
# meaning they will be replicated by row. In statement mode, the
|
||||||
|
# slave's value will be used and replication will break. (Except in a
|
||||||
|
# small number of special cases: random seeds, insert_id, and
|
||||||
|
# auto_increment are replicated).
|
||||||
|
#
|
||||||
|
# We test the following variable scopes:
|
||||||
|
# - server system variables
|
||||||
|
# - server session variables
|
||||||
|
# - server "both" variables
|
||||||
|
# - user variables
|
||||||
|
#
|
||||||
|
# For each scope, we use variables of the following types if they
|
||||||
|
# exist:
|
||||||
|
# - boolean
|
||||||
|
# - numeric
|
||||||
|
# - string
|
||||||
|
# - enumeration variables
|
||||||
|
#
|
||||||
|
# We use these types of variables in the following contexts:
|
||||||
|
# - directly
|
||||||
|
# - from a stored procedure
|
||||||
|
# - from a stored function
|
||||||
|
# - from a trigger
|
||||||
|
# - from a prepared statement
|
||||||
|
#
|
||||||
|
# For all variables where it is possible, we set the variable to one
|
||||||
|
# value on slave, and insert it on the master with two distinct
|
||||||
|
# values.
|
||||||
|
#
|
||||||
|
# The same insertions are made in four different tables using direct
|
||||||
|
# insert, stored procedure, stored function, or trigger. Then all
|
||||||
|
# eight resulting tables on master and slave are compared.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# ==== Related bugs ====
|
||||||
|
#
|
||||||
|
# BUG#31168: @@hostname does not replicate
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# ==== Related test cases ====
|
||||||
|
#
|
||||||
|
# binlog.binlog_unsafe tests that a warning is issued if system
|
||||||
|
# variables are replicated in statement mode.
|
||||||
|
#
|
||||||
|
# rpl.rpl_variables_stm tests the small subset of variables that
|
||||||
|
# actually can be replicated safely in statement mode.
|
||||||
|
|
||||||
|
|
||||||
source include/master-slave.inc;
|
source include/master-slave.inc;
|
||||||
|
source include/have_binlog_format_mixed_or_row.inc;
|
||||||
|
|
||||||
# Init for rstore of variable values
|
|
||||||
set @my_slave_net_timeout =@@global.slave_net_timeout;
|
|
||||||
|
|
||||||
set global slave_net_timeout=100;
|
--echo ==== Initialization ====
|
||||||
set global sql_slave_skip_counter=100;
|
|
||||||
|
|
||||||
# End of 4.1 tests
|
# Backup the values of global variables so that they can be restored
|
||||||
|
# later.
|
||||||
|
--echo [on master]
|
||||||
|
connection master;
|
||||||
|
SET @m_default_week_format= @@global.default_week_format;
|
||||||
|
SET @m_init_slave= @@global.init_slave;
|
||||||
|
SET @m_lc_time_names= @@global.lc_time_names;
|
||||||
|
SET @m_low_priority_updates= @@global.low_priority_updates;
|
||||||
|
SET @m_relay_log_purge= @@global.relay_log_purge;
|
||||||
|
SET @m_slave_exec_mode= @@global.slave_exec_mode;
|
||||||
|
SET @m_sql_mode= @@global.sql_mode;
|
||||||
|
SET @m_sync_binlog= @@global.sync_binlog;
|
||||||
|
|
||||||
# BUG #7800: Add various-slave related variables to SHOW VARIABLES
|
--echo [on slave]
|
||||||
show variables like 'slave_compressed_protocol';
|
connection slave;
|
||||||
--replace_column 2 SLAVE_LOAD_TMPDIR
|
SET @s_default_week_format= @@global.default_week_format;
|
||||||
show variables like 'slave_load_tmpdir';
|
SET @s_init_slave= @@global.init_slave;
|
||||||
# We just set some arbitrary values in variables-master.opt so we can test
|
SET @s_lc_time_names= @@global.lc_time_names;
|
||||||
# that a list of values works correctly
|
SET @s_low_priority_updates= @@global.low_priority_updates;
|
||||||
show variables like 'slave_skip_errors';
|
SET @s_relay_log_purge= @@global.relay_log_purge;
|
||||||
|
SET @s_slave_exec_mode= @@global.slave_exec_mode;
|
||||||
|
SET @s_sql_mode= @@global.sql_mode;
|
||||||
|
SET @s_sync_binlog= @@global.sync_binlog;
|
||||||
|
|
||||||
# Cleanup
|
# Set global variables on slave to something different than on master.
|
||||||
set global slave_net_timeout=default;
|
SET @@global.relay_log_purge = OFF;
|
||||||
|
SET @@global.sync_binlog = 1000000;
|
||||||
|
SET @@global.slave_exec_mode = 'STRICT';
|
||||||
|
SET @@sql_big_selects = OFF;
|
||||||
|
SET @@last_insert_id = 10;
|
||||||
|
SET @@global.low_priority_updates = OFF;
|
||||||
|
SET @@local.low_priority_updates = OFF;
|
||||||
|
SET @@global.default_week_format = 1;
|
||||||
|
SET @@local.default_week_format = 2;
|
||||||
|
SET @@global.lc_time_names = 'zh_HK';
|
||||||
|
SET @@local.lc_time_names = 'zh_TW';
|
||||||
|
SET @@global.sql_mode = 'ALLOW_INVALID_DATES';
|
||||||
|
SET @@local.sql_mode = 'ANSI_QUOTES,ERROR_FOR_DIVISION_BY_ZERO,HIGH_NOT_PRECEDENCE';
|
||||||
|
SET @user_num = 10;
|
||||||
|
SET @user_text = 'Alunda';
|
||||||
|
|
||||||
|
# Stop slave so that we get a fresh sql thread, reading the slave's
|
||||||
|
# global values of variables into its local copies.
|
||||||
|
--echo [on master]
|
||||||
|
connection master;
|
||||||
|
source include/reset_master_and_slave.inc;
|
||||||
|
|
||||||
|
# We would have wanted to set this together with the other variables
|
||||||
|
# above, but can't because it affects how the slave works.
|
||||||
|
--echo [on slave]
|
||||||
|
connection slave;
|
||||||
|
SET @@global.init_slave = 'ant';
|
||||||
|
|
||||||
|
|
||||||
|
--echo [on master]
|
||||||
|
connection master;
|
||||||
|
|
||||||
|
# Tables where everything happens.
|
||||||
|
CREATE TABLE tstmt (id INT AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
truth BOOLEAN,
|
||||||
|
num INT,
|
||||||
|
text VARCHAR(100));
|
||||||
|
CREATE TABLE tproc LIKE tstmt;
|
||||||
|
CREATE TABLE tfunc LIKE tstmt;
|
||||||
|
CREATE TABLE ttrig LIKE tstmt;
|
||||||
|
CREATE TABLE tprep LIKE tstmt;
|
||||||
|
|
||||||
|
# Table on which we put a trigger.
|
||||||
|
CREATE TABLE trigger_table (text CHAR(4));
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Insert variables directly ====
|
||||||
|
|
||||||
|
--echo ---- global variables ----
|
||||||
|
|
||||||
|
# boolean
|
||||||
|
SET @@global.relay_log_purge = ON;
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
SET @@global.relay_log_purge = OFF;
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @@global.sync_binlog = 2000000;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@global.sync_binlog);
|
||||||
|
SET @@global.sync_binlog = 3000000;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@global.sync_binlog);
|
||||||
|
|
||||||
|
# string
|
||||||
|
SET @@global.init_slave = 'bison';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.init_slave);
|
||||||
|
SET @@global.init_slave = 'cat';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.init_slave);
|
||||||
|
|
||||||
|
# enumeration
|
||||||
|
SET @@global.slave_exec_mode = 'IDEMPOTENT';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
SET @@global.slave_exec_mode = 'STRICT';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
|
||||||
|
|
||||||
|
--echo ---- session variables ----
|
||||||
|
|
||||||
|
# boolean
|
||||||
|
SET @@sql_big_selects = ON;
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@sql_big_selects);
|
||||||
|
SET @@sql_big_selects = OFF;
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@sql_big_selects);
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @@last_insert_id = 20;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@last_insert_id);
|
||||||
|
SET @@last_insert_id = 30;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@last_insert_id);
|
||||||
|
|
||||||
|
--echo ---- global and session variables ----
|
||||||
|
|
||||||
|
# boolean
|
||||||
|
SET @@global.low_priority_updates = ON;
|
||||||
|
SET @@local.low_priority_updates = OFF;
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
SET @@global.low_priority_updates = OFF;
|
||||||
|
SET @@local.low_priority_updates = ON;
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO tstmt(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @@global.default_week_format = 3;
|
||||||
|
SET @@local.default_week_format = 4;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@local.default_week_format);
|
||||||
|
SET @@global.default_week_format = 5;
|
||||||
|
SET @@local.default_week_format = 6;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@local.default_week_format);
|
||||||
|
|
||||||
|
# string
|
||||||
|
SET @@global.lc_time_names = 'sv_SE';
|
||||||
|
SET @@local.lc_time_names = 'sv_FI';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@local.lc_time_names);
|
||||||
|
SET @@global.lc_time_names = 'ar_TN';
|
||||||
|
SET @@local.lc_time_names = 'ar_IQ';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@local.lc_time_names);
|
||||||
|
|
||||||
|
# enum
|
||||||
|
SET @@global.sql_mode = '';
|
||||||
|
SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@local.sql_mode);
|
||||||
|
SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
|
||||||
|
SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@local.sql_mode);
|
||||||
|
|
||||||
|
--echo ---- user variables ----
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @user_num = 20;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@user_num);
|
||||||
|
SET @user_num = 30;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@user_num);
|
||||||
|
|
||||||
|
# string
|
||||||
|
SET @user_text = 'Bergsbrunna';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@user_text);
|
||||||
|
SET @user_text = 'Centrum';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@user_text);
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Insert variables from a stored procedure ====
|
||||||
|
|
||||||
|
DELIMITER |;
|
||||||
|
CREATE PROCEDURE proc()
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
# GLOBAL
|
||||||
|
|
||||||
|
# boolean
|
||||||
|
SET @@global.relay_log_purge = ON;
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
SET @@global.relay_log_purge = OFF;
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @@global.sync_binlog = 2000000;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@global.sync_binlog);
|
||||||
|
SET @@global.sync_binlog = 3000000;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@global.sync_binlog);
|
||||||
|
|
||||||
|
# string
|
||||||
|
SET @@global.init_slave = 'bison';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.init_slave);
|
||||||
|
SET @@global.init_slave = 'cat';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.init_slave);
|
||||||
|
|
||||||
|
# enumeration
|
||||||
|
SET @@global.slave_exec_mode = 'IDEMPOTENT';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
SET @@global.slave_exec_mode = 'STRICT';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
|
||||||
|
# SESSION
|
||||||
|
|
||||||
|
# boolean
|
||||||
|
SET @@sql_big_selects = ON;
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@sql_big_selects);
|
||||||
|
SET @@sql_big_selects = OFF;
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@sql_big_selects);
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @@last_insert_id = 20;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@last_insert_id);
|
||||||
|
SET @@last_insert_id = 30;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@last_insert_id);
|
||||||
|
|
||||||
|
# BOTH
|
||||||
|
|
||||||
|
# boolean
|
||||||
|
SET @@global.low_priority_updates = ON;
|
||||||
|
SET @@local.low_priority_updates = OFF;
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
SET @@global.low_priority_updates = OFF;
|
||||||
|
SET @@local.low_priority_updates = ON;
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO tproc(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @@global.default_week_format = 3;
|
||||||
|
SET @@local.default_week_format = 4;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO tproc(num) VALUES (@@local.default_week_format);
|
||||||
|
SET @@global.default_week_format = 5;
|
||||||
|
SET @@local.default_week_format = 6;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO tproc(num) VALUES (@@local.default_week_format);
|
||||||
|
|
||||||
|
# text
|
||||||
|
SET @@global.lc_time_names = 'sv_SE';
|
||||||
|
SET @@local.lc_time_names = 'sv_FI';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@local.lc_time_names);
|
||||||
|
SET @@global.lc_time_names = 'ar_TN';
|
||||||
|
SET @@local.lc_time_names = 'ar_IQ';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@local.lc_time_names);
|
||||||
|
|
||||||
|
# enum
|
||||||
|
SET @@global.sql_mode = '';
|
||||||
|
SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@local.sql_mode);
|
||||||
|
SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
|
||||||
|
SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@local.sql_mode);
|
||||||
|
|
||||||
|
# USER
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @user_num = 20;
|
||||||
|
INSERT INTO tproc(num) VALUES (@user_num);
|
||||||
|
SET @user_num = 30;
|
||||||
|
INSERT INTO tproc(num) VALUES (@user_num);
|
||||||
|
|
||||||
|
# string
|
||||||
|
SET @user_text = 'Bergsbrunna';
|
||||||
|
INSERT INTO tproc(text) VALUES (@user_text);
|
||||||
|
SET @user_text = 'Centrum';
|
||||||
|
INSERT INTO tproc(text) VALUES (@user_text);
|
||||||
|
|
||||||
|
END|
|
||||||
|
DELIMITER ;|
|
||||||
|
|
||||||
|
CALL proc();
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Insert variables from a stored function ====
|
||||||
|
|
||||||
|
DELIMITER |;
|
||||||
|
CREATE FUNCTION func()
|
||||||
|
RETURNS INT
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
# GLOBAL
|
||||||
|
|
||||||
|
# boolean
|
||||||
|
SET @@global.relay_log_purge = ON;
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
SET @@global.relay_log_purge = OFF;
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @@global.sync_binlog = 2000000;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@global.sync_binlog);
|
||||||
|
SET @@global.sync_binlog = 3000000;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@global.sync_binlog);
|
||||||
|
|
||||||
|
# string
|
||||||
|
SET @@global.init_slave = 'bison';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.init_slave);
|
||||||
|
SET @@global.init_slave = 'cat';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.init_slave);
|
||||||
|
|
||||||
|
# enumeration
|
||||||
|
SET @@global.slave_exec_mode = 'IDEMPOTENT';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
SET @@global.slave_exec_mode = 'STRICT';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
|
||||||
|
# SESSION
|
||||||
|
|
||||||
|
# boolean
|
||||||
|
SET @@sql_big_selects = ON;
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@sql_big_selects);
|
||||||
|
SET @@sql_big_selects = OFF;
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@sql_big_selects);
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @@last_insert_id = 20;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@last_insert_id);
|
||||||
|
SET @@last_insert_id = 30;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@last_insert_id);
|
||||||
|
|
||||||
|
# BOTH
|
||||||
|
|
||||||
|
# boolean
|
||||||
|
SET @@global.low_priority_updates = ON;
|
||||||
|
SET @@local.low_priority_updates = OFF;
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
SET @@global.low_priority_updates = OFF;
|
||||||
|
SET @@local.low_priority_updates = ON;
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO tfunc(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @@global.default_week_format = 3;
|
||||||
|
SET @@local.default_week_format = 4;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@local.default_week_format);
|
||||||
|
SET @@global.default_week_format = 5;
|
||||||
|
SET @@local.default_week_format = 6;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@local.default_week_format);
|
||||||
|
|
||||||
|
# text
|
||||||
|
SET @@global.lc_time_names = 'sv_SE';
|
||||||
|
SET @@local.lc_time_names = 'sv_FI';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@local.lc_time_names);
|
||||||
|
SET @@global.lc_time_names = 'ar_TN';
|
||||||
|
SET @@local.lc_time_names = 'ar_IQ';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@local.lc_time_names);
|
||||||
|
|
||||||
|
# enum
|
||||||
|
SET @@global.sql_mode = '';
|
||||||
|
SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@local.sql_mode);
|
||||||
|
SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
|
||||||
|
SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@local.sql_mode);
|
||||||
|
|
||||||
|
# USER
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @user_num = 20;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@user_num);
|
||||||
|
SET @user_num = 30;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@user_num);
|
||||||
|
|
||||||
|
# string
|
||||||
|
SET @user_text = 'Bergsbrunna';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@user_text);
|
||||||
|
SET @user_text = 'Centrum';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@user_text);
|
||||||
|
|
||||||
|
RETURN 0;
|
||||||
|
END|
|
||||||
|
DELIMITER ;|
|
||||||
|
|
||||||
|
SELECT func();
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Insert variables from a trigger ====
|
||||||
|
|
||||||
|
DELIMITER |;
|
||||||
|
CREATE TRIGGER trig
|
||||||
|
BEFORE INSERT ON trigger_table
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
# GLOBAL
|
||||||
|
|
||||||
|
# boolean
|
||||||
|
SET @@global.relay_log_purge = ON;
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
SET @@global.relay_log_purge = OFF;
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@global.relay_log_purge);
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @@global.sync_binlog = 2000000;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@global.sync_binlog);
|
||||||
|
SET @@global.sync_binlog = 3000000;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@global.sync_binlog);
|
||||||
|
|
||||||
|
# string
|
||||||
|
SET @@global.init_slave = 'bison';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.init_slave);
|
||||||
|
SET @@global.init_slave = 'cat';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.init_slave);
|
||||||
|
|
||||||
|
# enumeration
|
||||||
|
SET @@global.slave_exec_mode = 'IDEMPOTENT';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
SET @@global.slave_exec_mode = 'STRICT';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.slave_exec_mode);
|
||||||
|
|
||||||
|
# SESSION
|
||||||
|
|
||||||
|
# boolean
|
||||||
|
SET @@sql_big_selects = ON;
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@sql_big_selects);
|
||||||
|
SET @@sql_big_selects = OFF;
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@sql_big_selects);
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @@last_insert_id = 20;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@last_insert_id);
|
||||||
|
SET @@last_insert_id = 30;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@last_insert_id);
|
||||||
|
|
||||||
|
# BOTH
|
||||||
|
|
||||||
|
# boolean
|
||||||
|
SET @@global.low_priority_updates = ON;
|
||||||
|
SET @@local.low_priority_updates = OFF;
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
SET @@global.low_priority_updates = OFF;
|
||||||
|
SET @@local.low_priority_updates = ON;
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@global.low_priority_updates);
|
||||||
|
INSERT INTO ttrig(truth) VALUES (@@local.low_priority_updates);
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @@global.default_week_format = 3;
|
||||||
|
SET @@local.default_week_format = 4;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@local.default_week_format);
|
||||||
|
SET @@global.default_week_format = 5;
|
||||||
|
SET @@local.default_week_format = 6;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@global.default_week_format);
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@local.default_week_format);
|
||||||
|
|
||||||
|
# text
|
||||||
|
SET @@global.lc_time_names = 'sv_SE';
|
||||||
|
SET @@local.lc_time_names = 'sv_FI';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@local.lc_time_names);
|
||||||
|
SET @@global.lc_time_names = 'ar_TN';
|
||||||
|
SET @@local.lc_time_names = 'ar_IQ';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.lc_time_names);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@local.lc_time_names);
|
||||||
|
|
||||||
|
# enum
|
||||||
|
SET @@global.sql_mode = '';
|
||||||
|
SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@local.sql_mode);
|
||||||
|
SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
|
||||||
|
SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@global.sql_mode);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@local.sql_mode);
|
||||||
|
|
||||||
|
# USER
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
SET @user_num = 20;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@user_num);
|
||||||
|
SET @user_num = 30;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@user_num);
|
||||||
|
|
||||||
|
# string
|
||||||
|
SET @user_text = 'Bergsbrunna';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@user_text);
|
||||||
|
SET @user_text = 'Centrum';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@user_text);
|
||||||
|
END|
|
||||||
|
DELIMITER ;|
|
||||||
|
|
||||||
|
INSERT INTO trigger_table VALUES ('bye.');
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Insert variables from a prepared statement ====
|
||||||
|
|
||||||
|
# GLOBAL
|
||||||
|
|
||||||
|
# boolean
|
||||||
|
PREPARE p1 FROM 'SET @@global.relay_log_purge = ON';
|
||||||
|
PREPARE p2 FROM 'INSERT INTO tprep(truth) VALUES (@@global.relay_log_purge)';
|
||||||
|
PREPARE p3 FROM 'SET @@global.relay_log_purge = OFF';
|
||||||
|
PREPARE p4 FROM 'INSERT INTO tprep(truth) VALUES (@@global.relay_log_purge)';
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
PREPARE p5 FROM 'SET @@global.sync_binlog = 2000000';
|
||||||
|
PREPARE p6 FROM 'INSERT INTO tprep(num) VALUES (@@global.sync_binlog)';
|
||||||
|
PREPARE p7 FROM 'SET @@global.sync_binlog = 3000000';
|
||||||
|
PREPARE p8 FROM 'INSERT INTO tprep(num) VALUES (@@global.sync_binlog)';
|
||||||
|
|
||||||
|
# string
|
||||||
|
PREPARE p9 FROM 'SET @@global.init_slave = \'bison\'';
|
||||||
|
PREPARE p10 FROM 'INSERT INTO tprep(text) VALUES (@@global.init_slave)';
|
||||||
|
PREPARE p11 FROM 'SET @@global.init_slave = \'cat\'';
|
||||||
|
PREPARE p12 FROM 'INSERT INTO tprep(text) VALUES (@@global.init_slave)';
|
||||||
|
|
||||||
|
# enumeration
|
||||||
|
PREPARE p13 FROM 'SET @@global.slave_exec_mode = \'IDEMPOTENT\'';
|
||||||
|
PREPARE p14 FROM 'INSERT INTO tprep(text) VALUES (@@global.slave_exec_mode)';
|
||||||
|
PREPARE p15 FROM 'SET @@global.slave_exec_mode = \'STRICT\'';
|
||||||
|
PREPARE p16 FROM 'INSERT INTO tprep(text) VALUES (@@global.slave_exec_mode)';
|
||||||
|
|
||||||
|
# SESSION
|
||||||
|
|
||||||
|
# boolean
|
||||||
|
PREPARE p17 FROM 'SET @@sql_big_selects = ON';
|
||||||
|
PREPARE p18 FROM 'INSERT INTO tprep(truth) VALUES (@@sql_big_selects)';
|
||||||
|
PREPARE p19 FROM 'SET @@sql_big_selects = OFF';
|
||||||
|
PREPARE p20 FROM 'INSERT INTO tprep(truth) VALUES (@@sql_big_selects)';
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
PREPARE p21 FROM 'SET @@last_insert_id = 20';
|
||||||
|
PREPARE p22 FROM 'INSERT INTO tprep(num) VALUES (@@last_insert_id)';
|
||||||
|
PREPARE p23 FROM 'SET @@last_insert_id = 30';
|
||||||
|
PREPARE p24 FROM 'INSERT INTO tprep(num) VALUES (@@last_insert_id)';
|
||||||
|
|
||||||
|
# BOTH
|
||||||
|
|
||||||
|
# boolean
|
||||||
|
PREPARE p25 FROM 'SET @@global.low_priority_updates = ON';
|
||||||
|
PREPARE p26 FROM 'SET @@local.low_priority_updates = OFF';
|
||||||
|
PREPARE p27 FROM 'INSERT INTO tprep(truth) VALUES (@@global.low_priority_updates)';
|
||||||
|
PREPARE p28 FROM 'INSERT INTO tprep(truth) VALUES (@@local.low_priority_updates)';
|
||||||
|
PREPARE p29 FROM 'SET @@global.low_priority_updates = OFF';
|
||||||
|
PREPARE p30 FROM 'SET @@local.low_priority_updates = ON';
|
||||||
|
PREPARE p31 FROM 'INSERT INTO tprep(truth) VALUES (@@global.low_priority_updates)';
|
||||||
|
PREPARE p32 FROM 'INSERT INTO tprep(truth) VALUES (@@local.low_priority_updates)';
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
PREPARE p33 FROM 'SET @@global.default_week_format = 3';
|
||||||
|
PREPARE p34 FROM 'SET @@local.default_week_format = 4';
|
||||||
|
PREPARE p35 FROM 'INSERT INTO tprep(num) VALUES (@@global.default_week_format)';
|
||||||
|
PREPARE p36 FROM 'INSERT INTO tprep(num) VALUES (@@local.default_week_format)';
|
||||||
|
PREPARE p37 FROM 'SET @@global.default_week_format = 5';
|
||||||
|
PREPARE p38 FROM 'SET @@local.default_week_format = 6';
|
||||||
|
PREPARE p39 FROM 'INSERT INTO tprep(num) VALUES (@@global.default_week_format)';
|
||||||
|
PREPARE p40 FROM 'INSERT INTO tprep(num) VALUES (@@local.default_week_format)';
|
||||||
|
|
||||||
|
# text
|
||||||
|
PREPARE p41 FROM 'SET @@global.lc_time_names = \'sv_SE\'';
|
||||||
|
PREPARE p42 FROM 'SET @@local.lc_time_names = \'sv_FI\'';
|
||||||
|
PREPARE p43 FROM 'INSERT INTO tprep(text) VALUES (@@global.lc_time_names)';
|
||||||
|
PREPARE p44 FROM 'INSERT INTO tprep(text) VALUES (@@local.lc_time_names)';
|
||||||
|
PREPARE p45 FROM 'SET @@global.lc_time_names = \'ar_TN\'';
|
||||||
|
PREPARE p46 FROM 'SET @@local.lc_time_names = \'ar_IQ\'';
|
||||||
|
PREPARE p47 FROM 'INSERT INTO tprep(text) VALUES (@@global.lc_time_names)';
|
||||||
|
PREPARE p48 FROM 'INSERT INTO tprep(text) VALUES (@@local.lc_time_names)';
|
||||||
|
|
||||||
|
# enum
|
||||||
|
PREPARE p49 FROM 'SET @@global.sql_mode = \'\'';
|
||||||
|
PREPARE p50 FROM 'SET @@local.sql_mode = \'IGNORE_SPACE,NO_AUTO_CREATE_USER\'';
|
||||||
|
PREPARE p51 FROM 'INSERT INTO tprep(text) VALUES (@@global.sql_mode)';
|
||||||
|
PREPARE p52 FROM 'INSERT INTO tprep(text) VALUES (@@local.sql_mode)';
|
||||||
|
PREPARE p53 FROM 'SET @@global.sql_mode = \'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION\'';
|
||||||
|
PREPARE p54 FROM 'SET @@local.sql_mode = \'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS\'';
|
||||||
|
PREPARE p55 FROM 'INSERT INTO tprep(text) VALUES (@@global.sql_mode)';
|
||||||
|
PREPARE p56 FROM 'INSERT INTO tprep(text) VALUES (@@local.sql_mode)';
|
||||||
|
|
||||||
|
# USER
|
||||||
|
|
||||||
|
# numeric
|
||||||
|
PREPARE p57 FROM 'SET @user_num = 20';
|
||||||
|
PREPARE p58 FROM 'INSERT INTO tprep(num) VALUES (@user_num)';
|
||||||
|
PREPARE p59 FROM 'SET @user_num = 30';
|
||||||
|
PREPARE p60 FROM 'INSERT INTO tprep(num) VALUES (@user_num)';
|
||||||
|
|
||||||
|
# string
|
||||||
|
PREPARE p61 FROM 'SET @user_text = \'Bergsbrunna\'';
|
||||||
|
PREPARE p62 FROM 'INSERT INTO tprep(text) VALUES (@user_text)';
|
||||||
|
PREPARE p63 FROM 'SET @user_text = \'Centrum\'';
|
||||||
|
PREPARE p64 FROM 'INSERT INTO tprep(text) VALUES (@user_text)';
|
||||||
|
|
||||||
|
EXECUTE p1; EXECUTE p2; EXECUTE p3; EXECUTE p4; EXECUTE p5; EXECUTE p6;
|
||||||
|
EXECUTE p7; EXECUTE p8; EXECUTE p9; EXECUTE p10; EXECUTE p11; EXECUTE p12;
|
||||||
|
EXECUTE p13; EXECUTE p14; EXECUTE p15; EXECUTE p16; EXECUTE p17; EXECUTE p18;
|
||||||
|
EXECUTE p19; EXECUTE p20; EXECUTE p21; EXECUTE p22; EXECUTE p23; EXECUTE p24;
|
||||||
|
EXECUTE p25; EXECUTE p26; EXECUTE p27; EXECUTE p28; EXECUTE p29; EXECUTE p30;
|
||||||
|
EXECUTE p31; EXECUTE p32; EXECUTE p33; EXECUTE p34; EXECUTE p35; EXECUTE p36;
|
||||||
|
EXECUTE p37; EXECUTE p38; EXECUTE p39; EXECUTE p40; EXECUTE p41; EXECUTE p42;
|
||||||
|
EXECUTE p43; EXECUTE p44; EXECUTE p45; EXECUTE p46; EXECUTE p47; EXECUTE p48;
|
||||||
|
EXECUTE p49; EXECUTE p50; EXECUTE p51; EXECUTE p52; EXECUTE p53; EXECUTE p54;
|
||||||
|
EXECUTE p55; EXECUTE p56; EXECUTE p57; EXECUTE p58; EXECUTE p59; EXECUTE p60;
|
||||||
|
EXECUTE p61; EXECUTE p62; EXECUTE p63; EXECUTE p64;
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Results ====
|
||||||
|
|
||||||
|
# Show the result in table test.tstmt on master...
|
||||||
|
SELECT * FROM tstmt ORDER BY id;
|
||||||
|
let $diff_table_1=master:test.tstmt;
|
||||||
|
|
||||||
|
# ... then compare test.tstmt on master to the other tables on master...
|
||||||
|
let $diff_table_2=master:test.tproc;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
let $diff_table_2=master:test.tfunc;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
let $diff_table_2=master:test.ttrig;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
let $diff_table_2=master:test.tprep;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
|
||||||
|
# ... and to all tables on slave.
|
||||||
|
connection master;
|
||||||
|
sync_slave_with_master;
|
||||||
|
let $diff_table_2=slave:test.tstmt;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
let $diff_table_2=slave:test.tproc;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
let $diff_table_2=slave:test.tfunc;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
let $diff_table_2=slave:test.ttrig;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
let $diff_table_2=slave:test.tprep;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Clean up ====
|
||||||
|
|
||||||
|
--echo [on master]
|
||||||
|
connection master;
|
||||||
|
DROP PROCEDURE proc;
|
||||||
|
DROP FUNCTION func;
|
||||||
|
DROP TRIGGER trig;
|
||||||
|
DROP TABLE tstmt, tproc, tfunc, ttrig, tprep, trigger_table;
|
||||||
|
|
||||||
|
SET @@global.default_week_format= @m_default_week_format;
|
||||||
|
SET @@global.init_slave= @m_init_slave;
|
||||||
|
SET @@global.lc_time_names= @m_lc_time_names;
|
||||||
|
SET @@global.low_priority_updates= @m_low_priority_updates;
|
||||||
|
SET @@global.relay_log_purge= @m_relay_log_purge;
|
||||||
|
SET @@global.slave_exec_mode= @m_slave_exec_mode;
|
||||||
|
SET @@global.sql_mode= @m_sql_mode;
|
||||||
|
SET @@global.sync_binlog= @m_sync_binlog;
|
||||||
|
|
||||||
|
--echo [on slave]
|
||||||
|
connection slave;
|
||||||
|
SET @@global.default_week_format= @s_default_week_format;
|
||||||
|
SET @@global.init_slave= @s_init_slave;
|
||||||
|
SET @@global.lc_time_names= @s_lc_time_names;
|
||||||
|
SET @@global.low_priority_updates= @s_low_priority_updates;
|
||||||
|
SET @@global.relay_log_purge= @s_relay_log_purge;
|
||||||
|
SET @@global.slave_exec_mode= @s_slave_exec_mode;
|
||||||
|
SET @@global.sql_mode= @s_sql_mode;
|
||||||
|
SET @@global.sync_binlog= @s_sync_binlog;
|
||||||
|
|
||||||
|
connection master;
|
||||||
|
sync_slave_with_master;
|
||||||
|
636
mysql-test/suite/rpl/t/rpl_variables_stm.test
Normal file
636
mysql-test/suite/rpl/t/rpl_variables_stm.test
Normal file
@ -0,0 +1,636 @@
|
|||||||
|
# ==== Purpose ====
|
||||||
|
#
|
||||||
|
# In general, queries referencing @@system_variables are not
|
||||||
|
# considered safe to write to the binlog in statement-based logging
|
||||||
|
# mode. However, a few special cases are supported.
|
||||||
|
#
|
||||||
|
# This test verifies that queries referencing these specially
|
||||||
|
# supported variables are replicated correctly in statement mode.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# ==== Method ====
|
||||||
|
#
|
||||||
|
# The test simply does a lot of "INSERT INTO t1 VALUES (@@variable)"
|
||||||
|
# and checks the result on the slave.
|
||||||
|
#
|
||||||
|
# Statements referencing a variable only replicate correctly in mixed
|
||||||
|
# and row mode: in row mode, the values inserted are replicated. In
|
||||||
|
# mixed mode, statements referencing a variable are marked as unsafe,
|
||||||
|
# meaning they will be replicated by row. In statement mode, the
|
||||||
|
# slave's value will be used and replication will break. (Except in a
|
||||||
|
# small number of special cases: random seeds, insert_id, and
|
||||||
|
# auto_increment are replicated).
|
||||||
|
#
|
||||||
|
# We test all replicated variables, from each of the following
|
||||||
|
# contexts:
|
||||||
|
# - directly
|
||||||
|
# - from a stored procedure
|
||||||
|
# - from a stored function
|
||||||
|
# - from a trigger
|
||||||
|
# - from a prepared statement
|
||||||
|
#
|
||||||
|
# For all variables where it is possible, we set the variable to one
|
||||||
|
# value on slave, and insert it on the master with two distinct
|
||||||
|
# values.
|
||||||
|
#
|
||||||
|
# The same insertions are made in four different tables using direct
|
||||||
|
# insert, stored procedure, stored function, or trigger. Then all
|
||||||
|
# eight resulting tables on master and slave are compared.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# ==== Related bugs ====
|
||||||
|
#
|
||||||
|
# BUG#31168: @@hostname does not replicate
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# ==== Related test cases ====
|
||||||
|
#
|
||||||
|
# binlog.binlog_unsafe tests that a warning is issued if system
|
||||||
|
# variables are replicated in statement mode.
|
||||||
|
#
|
||||||
|
# rpl.rpl_variables verifies that variables which cannot be replicated
|
||||||
|
# safely in statement mode are replicated correctly in mixed or row
|
||||||
|
# mode.
|
||||||
|
|
||||||
|
source include/master-slave.inc;
|
||||||
|
source include/have_binlog_format_mixed_or_statement.inc;
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Initialization ====
|
||||||
|
|
||||||
|
# Backup the values of global variables so that they can be restored
|
||||||
|
# later.
|
||||||
|
|
||||||
|
--echo [on master]
|
||||||
|
connection master;
|
||||||
|
SET @m_pseudo_thread_id= @@global.pseudo_thread_id;
|
||||||
|
SET @m_auto_increment_increment= @@global.auto_increment_increment;
|
||||||
|
SET @m_auto_increment_offset= @@global.auto_increment_offset;
|
||||||
|
SET @m_character_set_client= @@global.character_set_client;
|
||||||
|
SET @m_collation_connection= @@global.collation_connection;
|
||||||
|
SET @m_collation_server= @@global.collation_server;
|
||||||
|
SET @m_time_zone= @@global.time_zone;
|
||||||
|
SET @m_lc_time_names= @@global.lc_time_names;
|
||||||
|
SET @m_collation_database= @@global.collation_database;
|
||||||
|
|
||||||
|
--echo [on slave]
|
||||||
|
connection slave;
|
||||||
|
SET @s_pseudo_thread_id= @@global.pseudo_thread_id;
|
||||||
|
SET @s_auto_increment_increment= @@global.auto_increment_increment;
|
||||||
|
SET @s_auto_increment_offset= @@global.auto_increment_offset;
|
||||||
|
SET @s_character_set_client= @@global.character_set_client;
|
||||||
|
SET @s_collation_connection= @@global.collation_connection;
|
||||||
|
SET @s_collation_server= @@global.collation_server;
|
||||||
|
SET @s_time_zone= @@global.time_zone;
|
||||||
|
SET @s_lc_time_names= @@global.lc_time_names;
|
||||||
|
SET @s_collation_database= @@global.collation_database;
|
||||||
|
|
||||||
|
SET @@global.pseudo_thread_id= 4711;
|
||||||
|
SET @@global.auto_increment_increment=19;
|
||||||
|
SET @@global.auto_increment_offset=4;
|
||||||
|
SET @@global.character_set_client='latin2';
|
||||||
|
SET @@global.collation_connection='latin2_bin';
|
||||||
|
SET @@global.collation_server='geostd8_general_ci';
|
||||||
|
SET @@global.time_zone='Japan';
|
||||||
|
SET @@global.lc_time_names='sv_SE';
|
||||||
|
SET @@global.collation_database='geostd8_bin';
|
||||||
|
|
||||||
|
--echo [on master]
|
||||||
|
connection master;
|
||||||
|
|
||||||
|
# Tables where everything happens.
|
||||||
|
CREATE TABLE tstmt (id INT AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
num INT,
|
||||||
|
text VARCHAR(100));
|
||||||
|
CREATE TABLE tproc LIKE tstmt;
|
||||||
|
CREATE TABLE tfunc LIKE tstmt;
|
||||||
|
CREATE TABLE ttrig LIKE tstmt;
|
||||||
|
CREATE TABLE tprep LIKE tstmt;
|
||||||
|
|
||||||
|
# Table on which we put a trigger.
|
||||||
|
CREATE TABLE trigger_table (text CHAR(4));
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Insert variables directly ====
|
||||||
|
|
||||||
|
SET @@pseudo_thread_id= 4712;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
SET @@pseudo_thread_id= 4713;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
|
||||||
|
SET @@foreign_key_checks= 0;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
SET @@foreign_key_checks= 1;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
|
||||||
|
SET @@sql_auto_is_null= 0;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
SET @@sql_auto_is_null= 1;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
|
||||||
|
SET @@unique_checks= 0;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.unique_checks);
|
||||||
|
SET @@unique_checks= 1;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.unique_checks);
|
||||||
|
|
||||||
|
SET @@auto_increment_increment= 11;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
SET @@auto_increment_increment= 19;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
|
||||||
|
SET @@auto_increment_offset= 13;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
SET @@auto_increment_offset= 17;
|
||||||
|
INSERT INTO tstmt(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
|
||||||
|
# reset these as they affect the index column
|
||||||
|
SET @@auto_increment_increment= 1;
|
||||||
|
SET @@auto_increment_offset= 1;
|
||||||
|
|
||||||
|
SET @@character_set_client= 'cp1257';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_client);
|
||||||
|
SET @@character_set_client= 'cp1256';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_client);
|
||||||
|
|
||||||
|
SET @@collation_connection= 'cp1251_ukrainian_ci';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_connection);
|
||||||
|
SET @@collation_connection= 'cp1251_bulgarian_ci';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_connection);
|
||||||
|
|
||||||
|
SET @@collation_server= 'latin7_bin';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_server);
|
||||||
|
SET @@collation_server= 'latin7_general_cs';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_server);
|
||||||
|
|
||||||
|
SET @@time_zone= 'Europe/Moscow';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.time_zone);
|
||||||
|
SET @@time_zone= 'Universal';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.time_zone);
|
||||||
|
|
||||||
|
SET @@lc_time_names= 'sv_FI';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.lc_time_names);
|
||||||
|
SET @@lc_time_names= 'no_NO';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.lc_time_names);
|
||||||
|
|
||||||
|
SET @@collation_database= 'latin7_general_ci';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_database);
|
||||||
|
SET @@collation_database= 'latin7_estonian_cs';
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.character_set_database);
|
||||||
|
|
||||||
|
SET @@timestamp= 47114711;
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.timestamp);
|
||||||
|
SET @@timestamp= 47124712;
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.timestamp);
|
||||||
|
|
||||||
|
SET @@last_insert_id= 1616;
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.last_insert_id);
|
||||||
|
SET @@last_insert_id= 1717;
|
||||||
|
INSERT INTO tstmt(text) VALUES (@@session.last_insert_id);
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Insert variables from a stored procedure ====
|
||||||
|
|
||||||
|
DELIMITER |;
|
||||||
|
CREATE PROCEDURE proc()
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
SET @@pseudo_thread_id= 4712;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
SET @@pseudo_thread_id= 4713;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
|
||||||
|
SET @@foreign_key_checks= 0;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
SET @@foreign_key_checks= 1;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
|
||||||
|
SET @@sql_auto_is_null= 0;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
SET @@sql_auto_is_null= 1;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
|
||||||
|
SET @@unique_checks= 0;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.unique_checks);
|
||||||
|
SET @@unique_checks= 1;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.unique_checks);
|
||||||
|
|
||||||
|
SET @@auto_increment_increment= 11;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
SET @@auto_increment_increment= 19;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
|
||||||
|
SET @@auto_increment_offset= 13;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
SET @@auto_increment_offset= 17;
|
||||||
|
INSERT INTO tproc(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
|
||||||
|
# reset these as they affect the index column
|
||||||
|
SET @@auto_increment_increment= 1;
|
||||||
|
SET @@auto_increment_offset= 1;
|
||||||
|
|
||||||
|
SET @@character_set_client= 'cp1257';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_client);
|
||||||
|
SET @@character_set_client= 'cp1256';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_client);
|
||||||
|
|
||||||
|
SET @@collation_connection= 'cp1251_ukrainian_ci';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_connection);
|
||||||
|
SET @@collation_connection= 'cp1251_bulgarian_ci';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_connection);
|
||||||
|
|
||||||
|
SET @@collation_server= 'latin7_bin';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_server);
|
||||||
|
SET @@collation_server= 'latin7_general_cs';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_server);
|
||||||
|
|
||||||
|
SET @@time_zone= 'Europe/Moscow';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.time_zone);
|
||||||
|
SET @@time_zone= 'Universal';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.time_zone);
|
||||||
|
|
||||||
|
SET @@lc_time_names= 'sv_FI';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.lc_time_names);
|
||||||
|
SET @@lc_time_names= 'no_NO';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.lc_time_names);
|
||||||
|
|
||||||
|
SET @@collation_database= 'latin7_general_ci';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_database);
|
||||||
|
SET @@collation_database= 'latin7_estonian_cs';
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.character_set_database);
|
||||||
|
|
||||||
|
SET @@timestamp= 47114711;
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.timestamp);
|
||||||
|
SET @@timestamp= 47124712;
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.timestamp);
|
||||||
|
|
||||||
|
SET @@last_insert_id= 1616;
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.last_insert_id);
|
||||||
|
SET @@last_insert_id= 1717;
|
||||||
|
INSERT INTO tproc(text) VALUES (@@session.last_insert_id);
|
||||||
|
|
||||||
|
END|
|
||||||
|
DELIMITER ;|
|
||||||
|
|
||||||
|
CALL proc();
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Insert variables from a stored function ====
|
||||||
|
|
||||||
|
DELIMITER |;
|
||||||
|
CREATE FUNCTION func()
|
||||||
|
RETURNS INT
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
SET @@pseudo_thread_id= 4712;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
SET @@pseudo_thread_id= 4713;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
|
||||||
|
SET @@foreign_key_checks= 0;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
SET @@foreign_key_checks= 1;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
|
||||||
|
SET @@sql_auto_is_null= 0;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
SET @@sql_auto_is_null= 1;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
|
||||||
|
SET @@unique_checks= 0;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.unique_checks);
|
||||||
|
SET @@unique_checks= 1;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.unique_checks);
|
||||||
|
|
||||||
|
SET @@auto_increment_increment= 11;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
SET @@auto_increment_increment= 19;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
|
||||||
|
SET @@auto_increment_offset= 13;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
SET @@auto_increment_offset= 17;
|
||||||
|
INSERT INTO tfunc(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
|
||||||
|
# reset these as they affect the index column
|
||||||
|
SET @@auto_increment_increment= 1;
|
||||||
|
SET @@auto_increment_offset= 1;
|
||||||
|
|
||||||
|
SET @@character_set_client= 'cp1257';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_client);
|
||||||
|
SET @@character_set_client= 'cp1256';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_client);
|
||||||
|
|
||||||
|
SET @@collation_connection= 'cp1251_ukrainian_ci';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_connection);
|
||||||
|
SET @@collation_connection= 'cp1251_bulgarian_ci';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_connection);
|
||||||
|
|
||||||
|
SET @@collation_server= 'latin7_bin';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_server);
|
||||||
|
SET @@collation_server= 'latin7_general_cs';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_server);
|
||||||
|
|
||||||
|
SET @@time_zone= 'Europe/Moscow';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.time_zone);
|
||||||
|
SET @@time_zone= 'Universal';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.time_zone);
|
||||||
|
|
||||||
|
SET @@lc_time_names= 'sv_FI';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.lc_time_names);
|
||||||
|
SET @@lc_time_names= 'no_NO';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.lc_time_names);
|
||||||
|
|
||||||
|
SET @@collation_database= 'latin7_general_ci';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_database);
|
||||||
|
SET @@collation_database= 'latin7_estonian_cs';
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.character_set_database);
|
||||||
|
|
||||||
|
SET @@timestamp= 47114711;
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.timestamp);
|
||||||
|
SET @@timestamp= 47124712;
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.timestamp);
|
||||||
|
|
||||||
|
SET @@last_insert_id= 1616;
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.last_insert_id);
|
||||||
|
SET @@last_insert_id= 1717;
|
||||||
|
INSERT INTO tfunc(text) VALUES (@@session.last_insert_id);
|
||||||
|
|
||||||
|
RETURN 0;
|
||||||
|
END|
|
||||||
|
DELIMITER ;|
|
||||||
|
|
||||||
|
SELECT func();
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Insert variables from a trigger ====
|
||||||
|
|
||||||
|
DELIMITER |;
|
||||||
|
CREATE TRIGGER trig
|
||||||
|
BEFORE INSERT ON trigger_table
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
SET @@pseudo_thread_id= 4712;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
SET @@pseudo_thread_id= 4713;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.pseudo_thread_id);
|
||||||
|
|
||||||
|
SET @@foreign_key_checks= 0;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
SET @@foreign_key_checks= 1;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.foreign_key_checks);
|
||||||
|
|
||||||
|
SET @@sql_auto_is_null= 0;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
SET @@sql_auto_is_null= 1;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.sql_auto_is_null);
|
||||||
|
|
||||||
|
SET @@unique_checks= 0;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.unique_checks);
|
||||||
|
SET @@unique_checks= 1;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.unique_checks);
|
||||||
|
|
||||||
|
SET @@auto_increment_increment= 11;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
SET @@auto_increment_increment= 19;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.auto_increment_increment);
|
||||||
|
|
||||||
|
SET @@auto_increment_offset= 13;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
SET @@auto_increment_offset= 17;
|
||||||
|
INSERT INTO ttrig(num) VALUES (@@session.auto_increment_offset);
|
||||||
|
|
||||||
|
# reset these as they affect the index column
|
||||||
|
SET @@auto_increment_increment= 1;
|
||||||
|
SET @@auto_increment_offset= 1;
|
||||||
|
|
||||||
|
SET @@character_set_client= 'cp1257';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_client);
|
||||||
|
SET @@character_set_client= 'cp1256';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_client);
|
||||||
|
|
||||||
|
SET @@collation_connection= 'cp1251_ukrainian_ci';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_connection);
|
||||||
|
SET @@collation_connection= 'cp1251_bulgarian_ci';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.collation_connection);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_connection);
|
||||||
|
|
||||||
|
SET @@collation_server= 'latin7_bin';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_server);
|
||||||
|
SET @@collation_server= 'latin7_general_cs';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.collation_server);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_server);
|
||||||
|
|
||||||
|
SET @@time_zone= 'Europe/Moscow';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.time_zone);
|
||||||
|
SET @@time_zone= 'Universal';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.time_zone);
|
||||||
|
|
||||||
|
SET @@lc_time_names= 'sv_FI';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.lc_time_names);
|
||||||
|
SET @@lc_time_names= 'no_NO';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.lc_time_names);
|
||||||
|
|
||||||
|
SET @@collation_database= 'latin7_general_ci';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_database);
|
||||||
|
SET @@collation_database= 'latin7_estonian_cs';
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.collation_database);
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.character_set_database);
|
||||||
|
|
||||||
|
SET @@timestamp= 47114711;
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.timestamp);
|
||||||
|
SET @@timestamp= 47124712;
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.timestamp);
|
||||||
|
|
||||||
|
SET @@last_insert_id= 1616;
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.last_insert_id);
|
||||||
|
SET @@last_insert_id= 1717;
|
||||||
|
INSERT INTO ttrig(text) VALUES (@@session.last_insert_id);
|
||||||
|
|
||||||
|
END|
|
||||||
|
DELIMITER ;|
|
||||||
|
|
||||||
|
INSERT INTO trigger_table VALUES ('bye.');
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Insert variables from a prepared statement ====
|
||||||
|
|
||||||
|
# GLOBAL
|
||||||
|
|
||||||
|
PREPARE p1 FROM 'SET @@pseudo_thread_id= 4712';
|
||||||
|
PREPARE p2 FROM 'INSERT INTO tprep(num) VALUES (@@session.pseudo_thread_id)';
|
||||||
|
PREPARE p3 FROM 'SET @@pseudo_thread_id= 4713';
|
||||||
|
PREPARE p4 FROM 'INSERT INTO tprep(num) VALUES (@@session.pseudo_thread_id)';
|
||||||
|
|
||||||
|
PREPARE p5 FROM 'SET @@foreign_key_checks= 0';
|
||||||
|
PREPARE p6 FROM 'INSERT INTO tprep(num) VALUES (@@session.foreign_key_checks)';
|
||||||
|
PREPARE p7 FROM 'SET @@foreign_key_checks= 1';
|
||||||
|
PREPARE p8 FROM 'INSERT INTO tprep(num) VALUES (@@session.foreign_key_checks)';
|
||||||
|
|
||||||
|
PREPARE p9 FROM 'SET @@sql_auto_is_null= 0';
|
||||||
|
PREPARE p10 FROM 'INSERT INTO tprep(num) VALUES (@@session.sql_auto_is_null)';
|
||||||
|
PREPARE p11 FROM 'SET @@sql_auto_is_null= 1';
|
||||||
|
PREPARE p12 FROM 'INSERT INTO tprep(num) VALUES (@@session.sql_auto_is_null)';
|
||||||
|
|
||||||
|
PREPARE p13 FROM 'SET @@unique_checks= 0';
|
||||||
|
PREPARE p14 FROM 'INSERT INTO tprep(num) VALUES (@@session.unique_checks)';
|
||||||
|
PREPARE p15 FROM 'SET @@unique_checks= 1';
|
||||||
|
PREPARE p16 FROM 'INSERT INTO tprep(num) VALUES (@@session.unique_checks)';
|
||||||
|
|
||||||
|
PREPARE p17 FROM 'SET @@auto_increment_increment= 11';
|
||||||
|
PREPARE p18 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_increment)';
|
||||||
|
PREPARE p19 FROM 'SET @@auto_increment_increment= 19';
|
||||||
|
PREPARE p20 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_increment)';
|
||||||
|
|
||||||
|
PREPARE p21 FROM 'SET @@auto_increment_offset= 13';
|
||||||
|
PREPARE p22 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_offset)';
|
||||||
|
PREPARE p23 FROM 'SET @@auto_increment_offset= 17';
|
||||||
|
PREPARE p24 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_offset)';
|
||||||
|
|
||||||
|
# reset these as they affect the index column
|
||||||
|
PREPARE p25 FROM 'SET @@auto_increment_increment= 1';
|
||||||
|
PREPARE p26 FROM 'SET @@auto_increment_offset= 1';
|
||||||
|
|
||||||
|
PREPARE p27 FROM 'SET @@character_set_client= \'cp1257\'';
|
||||||
|
PREPARE p28 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_client)';
|
||||||
|
PREPARE p29 FROM 'SET @@character_set_client= \'cp1256\'';
|
||||||
|
PREPARE p30 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_client)';
|
||||||
|
|
||||||
|
PREPARE p31 FROM 'SET @@collation_connection= \'cp1251_ukrainian_ci\'';
|
||||||
|
PREPARE p32 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_connection)';
|
||||||
|
PREPARE p33 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_connection)';
|
||||||
|
PREPARE p34 FROM 'SET @@collation_connection= \'cp1251_bulgarian_ci\'';
|
||||||
|
PREPARE p35 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_connection)';
|
||||||
|
PREPARE p36 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_connection)';
|
||||||
|
|
||||||
|
PREPARE p37 FROM 'SET @@collation_server= \'latin7_bin\'';
|
||||||
|
PREPARE p38 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_server)';
|
||||||
|
PREPARE p39 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_server)';
|
||||||
|
PREPARE p40 FROM 'SET @@collation_server= \'latin7_general_cs\'';
|
||||||
|
PREPARE p41 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_server)';
|
||||||
|
PREPARE p42 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_server)';
|
||||||
|
|
||||||
|
PREPARE p43 FROM 'SET @@time_zone= \'Europe/Moscow\'';
|
||||||
|
PREPARE p44 FROM 'INSERT INTO tprep(text) VALUES (@@session.time_zone)';
|
||||||
|
PREPARE p45 FROM 'SET @@time_zone= \'Universal\'';
|
||||||
|
PREPARE p46 FROM 'INSERT INTO tprep(text) VALUES (@@session.time_zone)';
|
||||||
|
|
||||||
|
PREPARE p47 FROM 'SET @@lc_time_names= \'sv_FI\'';
|
||||||
|
PREPARE p48 FROM 'INSERT INTO tprep(text) VALUES (@@session.lc_time_names)';
|
||||||
|
PREPARE p49 FROM 'SET @@lc_time_names= \'no_NO\'';
|
||||||
|
PREPARE p50 FROM 'INSERT INTO tprep(text) VALUES (@@session.lc_time_names)';
|
||||||
|
|
||||||
|
PREPARE p51 FROM 'SET @@collation_database= \'latin7_general_ci\'';
|
||||||
|
PREPARE p52 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_database)';
|
||||||
|
PREPARE p53 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_database)';
|
||||||
|
PREPARE p54 FROM 'SET @@collation_database= \'latin7_estonian_cs\'';
|
||||||
|
PREPARE p55 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_database)';
|
||||||
|
PREPARE p56 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_database)';
|
||||||
|
|
||||||
|
PREPARE p57 FROM 'SET @@timestamp= 47114711';
|
||||||
|
PREPARE p58 FROM 'INSERT INTO tprep(text) VALUES (@@session.timestamp)';
|
||||||
|
PREPARE p59 FROM 'SET @@timestamp= 47124712';
|
||||||
|
PREPARE p60 FROM 'INSERT INTO tprep(text) VALUES (@@session.timestamp)';
|
||||||
|
|
||||||
|
PREPARE p61 FROM 'SET @@last_insert_id= 1616';
|
||||||
|
PREPARE p62 FROM 'INSERT INTO tprep(text) VALUES (@@session.last_insert_id)';
|
||||||
|
PREPARE p63 FROM 'SET @@last_insert_id= 1717';
|
||||||
|
PREPARE p64 FROM 'INSERT INTO tprep(text) VALUES (@@session.last_insert_id)';
|
||||||
|
|
||||||
|
EXECUTE p1; EXECUTE p2; EXECUTE p3; EXECUTE p4; EXECUTE p5; EXECUTE p6;
|
||||||
|
EXECUTE p7; EXECUTE p8; EXECUTE p9; EXECUTE p10; EXECUTE p11; EXECUTE p12;
|
||||||
|
EXECUTE p13; EXECUTE p14; EXECUTE p15; EXECUTE p16; EXECUTE p17; EXECUTE p18;
|
||||||
|
EXECUTE p19; EXECUTE p20; EXECUTE p21; EXECUTE p22; EXECUTE p23; EXECUTE p24;
|
||||||
|
EXECUTE p25; EXECUTE p26; EXECUTE p27; EXECUTE p28; EXECUTE p29; EXECUTE p30;
|
||||||
|
EXECUTE p31; EXECUTE p32; EXECUTE p33; EXECUTE p34; EXECUTE p35; EXECUTE p36;
|
||||||
|
EXECUTE p37; EXECUTE p38; EXECUTE p39; EXECUTE p40; EXECUTE p41; EXECUTE p42;
|
||||||
|
EXECUTE p43; EXECUTE p44; EXECUTE p45; EXECUTE p46; EXECUTE p47; EXECUTE p48;
|
||||||
|
EXECUTE p49; EXECUTE p50; EXECUTE p51; EXECUTE p52; EXECUTE p53; EXECUTE p54;
|
||||||
|
EXECUTE p55; EXECUTE p56; EXECUTE p57; EXECUTE p58; EXECUTE p59; EXECUTE p60;
|
||||||
|
EXECUTE p61; EXECUTE p62; EXECUTE p63; EXECUTE p64;
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Results ====
|
||||||
|
|
||||||
|
# Show the result in table test.tstmt on master...
|
||||||
|
SELECT * FROM tstmt ORDER BY id;
|
||||||
|
let $diff_table_1=master:test.tstmt;
|
||||||
|
|
||||||
|
# ... then compare test.tstmt on master to the other tables on master...
|
||||||
|
let $diff_table_2=master:test.tproc;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
let $diff_table_2=master:test.tfunc;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
let $diff_table_2=master:test.ttrig;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
let $diff_table_2=master:test.tprep;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
|
||||||
|
# ... and to all tables on slave.
|
||||||
|
sync_slave_with_master;
|
||||||
|
let $diff_table_2=slave:test.tstmt;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
let $diff_table_2=slave:test.tproc;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
let $diff_table_2=slave:test.tfunc;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
let $diff_table_2=slave:test.ttrig;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
let $diff_table_2=slave:test.tprep;
|
||||||
|
source include/diff_tables.inc;
|
||||||
|
|
||||||
|
|
||||||
|
--echo ==== Clean up ====
|
||||||
|
|
||||||
|
--echo [on master]
|
||||||
|
connection master;
|
||||||
|
DROP PROCEDURE proc;
|
||||||
|
DROP FUNCTION func;
|
||||||
|
DROP TRIGGER trig;
|
||||||
|
DROP TABLE tstmt, tproc, tfunc, ttrig, tprep, trigger_table;
|
||||||
|
|
||||||
|
SET @@global.pseudo_thread_id= @m_pseudo_thread_id;
|
||||||
|
SET @@global.auto_increment_increment= @m_auto_increment_increment;
|
||||||
|
SET @@global.auto_increment_offset= @m_auto_increment_offset;
|
||||||
|
SET @@global.character_set_client= @m_character_set_client;
|
||||||
|
SET @@global.collation_connection= @m_collation_connection;
|
||||||
|
SET @@global.collation_server= @m_collation_server;
|
||||||
|
SET @@global.time_zone= @m_time_zone;
|
||||||
|
SET @@global.lc_time_names= @m_lc_time_names;
|
||||||
|
SET @@global.collation_database= @m_collation_database;
|
||||||
|
|
||||||
|
--echo [on slave]
|
||||||
|
connection slave;
|
||||||
|
SET @@global.pseudo_thread_id= @s_pseudo_thread_id;
|
||||||
|
SET @@global.auto_increment_increment= @s_auto_increment_increment;
|
||||||
|
SET @@global.auto_increment_offset= @s_auto_increment_offset;
|
||||||
|
SET @@global.character_set_client= @s_character_set_client;
|
||||||
|
SET @@global.collation_connection= @s_collation_connection;
|
||||||
|
SET @@global.collation_server= @s_collation_server;
|
||||||
|
SET @@global.time_zone= @s_time_zone;
|
||||||
|
SET @@global.lc_time_names= @s_lc_time_names;
|
||||||
|
SET @@global.collation_database= @s_collation_database;
|
||||||
|
|
||||||
|
connection master;
|
||||||
|
sync_slave_with_master;
|
@ -399,6 +399,62 @@ set @b1 = concat(@b1,@b1);
|
|||||||
INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
|
INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
|
||||||
*** Drop t8 ***
|
*** Drop t8 ***
|
||||||
DROP TABLE t8;
|
DROP TABLE t8;
|
||||||
|
STOP SLAVE;
|
||||||
|
RESET SLAVE;
|
||||||
|
CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
|
||||||
|
d TIMESTAMP,
|
||||||
|
e INT NOT NULL) ENGINE='NDB';
|
||||||
|
*** Create t9 on Master ***
|
||||||
|
CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
|
||||||
|
) ENGINE='NDB';
|
||||||
|
RESET MASTER;
|
||||||
|
*** Start Slave ***
|
||||||
|
START SLAVE;
|
||||||
|
*** Master Data Insert ***
|
||||||
|
set @b1 = 'b1b1b1b1';
|
||||||
|
set @b1 = concat(@b1,@b1);
|
||||||
|
INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
|
||||||
|
SHOW SLAVE STATUS;
|
||||||
|
Slave_IO_State #
|
||||||
|
Master_Host 127.0.0.1
|
||||||
|
Master_User root
|
||||||
|
Master_Port #
|
||||||
|
Connect_Retry 1
|
||||||
|
Master_Log_File master-bin.000001
|
||||||
|
Read_Master_Log_Pos #
|
||||||
|
Relay_Log_File #
|
||||||
|
Relay_Log_Pos #
|
||||||
|
Relay_Master_Log_File master-bin.000001
|
||||||
|
Slave_IO_Running Yes
|
||||||
|
Slave_SQL_Running No
|
||||||
|
Replicate_Do_DB
|
||||||
|
Replicate_Ignore_DB
|
||||||
|
Replicate_Do_Table
|
||||||
|
Replicate_Ignore_Table #
|
||||||
|
Replicate_Wild_Do_Table
|
||||||
|
Replicate_Wild_Ignore_Table
|
||||||
|
Last_Errno 1364
|
||||||
|
Last_Error Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 447
|
||||||
|
Skip_Counter 0
|
||||||
|
Exec_Master_Log_Pos #
|
||||||
|
Relay_Log_Space #
|
||||||
|
Until_Condition None
|
||||||
|
Until_Log_File
|
||||||
|
Until_Log_Pos 0
|
||||||
|
Master_SSL_Allowed No
|
||||||
|
Master_SSL_CA_File
|
||||||
|
Master_SSL_CA_Path
|
||||||
|
Master_SSL_Cert
|
||||||
|
Master_SSL_Cipher
|
||||||
|
Master_SSL_Key
|
||||||
|
Seconds_Behind_Master #
|
||||||
|
Master_SSL_Verify_Server_Cert No
|
||||||
|
Last_IO_Errno #
|
||||||
|
Last_IO_Error #
|
||||||
|
Last_SQL_Errno 1364
|
||||||
|
Last_SQL_Error Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 447
|
||||||
|
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
||||||
|
START SLAVE;
|
||||||
*** Create t10 on slave ***
|
*** Create t10 on slave ***
|
||||||
STOP SLAVE;
|
STOP SLAVE;
|
||||||
RESET SLAVE;
|
RESET SLAVE;
|
||||||
|
@ -184,14 +184,11 @@ set GLOBAL slave_transaction_retries=1;
|
|||||||
--echo **** On Master ****
|
--echo **** On Master ****
|
||||||
UPDATE t1 SET `nom`="DEAD" WHERE `nid`=1;
|
UPDATE t1 SET `nom`="DEAD" WHERE `nid`=1;
|
||||||
|
|
||||||
# wait for deadlock to be detected
|
# Wait for deadlock to be detected.
|
||||||
# sleep longer than dead lock detection timeout in config
|
# When detected, the slave will stop, so we just wait for it to stop.
|
||||||
# we do this 2 times, once with few retries to verify that we
|
source include/wait_for_slave_sql_to_stop.inc;
|
||||||
# get a failure with the set sleep, and once with the _same_
|
|
||||||
# sleep, but with more retries to get it to succeed
|
|
||||||
--sleep 5
|
|
||||||
|
|
||||||
# replication should have stopped, since max retries where not enough
|
# Replication should have stopped, since max retries were not enough.
|
||||||
# verify with show slave status
|
# verify with show slave status
|
||||||
--connection slave
|
--connection slave
|
||||||
--echo **** On Slave ****
|
--echo **** On Slave ****
|
||||||
@ -202,9 +199,14 @@ UPDATE t1 SET `nom`="DEAD" WHERE `nid`=1;
|
|||||||
# now set max retries high enough to succeed, and start slave again
|
# now set max retries high enough to succeed, and start slave again
|
||||||
set GLOBAL slave_transaction_retries=10;
|
set GLOBAL slave_transaction_retries=10;
|
||||||
START SLAVE;
|
START SLAVE;
|
||||||
# wait for deadlock to be detected and retried
|
source include/wait_for_slave_to_start.inc;
|
||||||
# should be the same sleep as above for test to be valid
|
# Wait for deadlock to be detected and retried.
|
||||||
--sleep 5
|
# We want to wait until at least one retry has been made, but before
|
||||||
|
# the slave stops. currently, there is no safe way to do that: we
|
||||||
|
# would need to access the retry counter, but that is not exposed.
|
||||||
|
# Failing that, we just wait sufficiently long that one but not all
|
||||||
|
# retries have been made. See BUG#35183.
|
||||||
|
sleep 5;
|
||||||
|
|
||||||
# commit transaction to release lock on row and let replication succeed
|
# commit transaction to release lock on row and let replication succeed
|
||||||
select * from t1 order by nid;
|
select * from t1 order by nid;
|
||||||
|
@ -16,10 +16,12 @@ SET collation_connection='big5_chinese_ci';
|
|||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_innodb_like.inc
|
-- source include/ctype_innodb_like.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
SET collation_connection='big5_bin';
|
SET collation_connection='big5_bin';
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_innodb_like.inc
|
-- source include/ctype_innodb_like.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bugs#9357: TEXT columns break string with special word in BIG5 charset.
|
# Bugs#9357: TEXT columns break string with special word in BIG5 charset.
|
||||||
|
@ -361,9 +361,10 @@ DROP TABLE t1;
|
|||||||
|
|
||||||
SET collation_connection='eucjpms_japanese_ci';
|
SET collation_connection='eucjpms_japanese_ci';
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
SET collation_connection='eucjpms_bin';
|
SET collation_connection='eucjpms_bin';
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bugs#15375: Unassigned multibyte codes are broken
|
# Bugs#15375: Unassigned multibyte codes are broken
|
||||||
|
@ -16,10 +16,12 @@ SET collation_connection='euckr_korean_ci';
|
|||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_innodb_like.inc
|
-- source include/ctype_innodb_like.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
SET collation_connection='euckr_bin';
|
SET collation_connection='euckr_bin';
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_innodb_like.inc
|
-- source include/ctype_innodb_like.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug#15377 Valid multibyte sequences are truncated on INSERT
|
# Bug#15377 Valid multibyte sequences are truncated on INSERT
|
||||||
|
@ -16,10 +16,12 @@ SET collation_connection='gb2312_chinese_ci';
|
|||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_innodb_like.inc
|
-- source include/ctype_innodb_like.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
SET collation_connection='gb2312_bin';
|
SET collation_connection='gb2312_bin';
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_innodb_like.inc
|
-- source include/ctype_innodb_like.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug#15377 Valid multibyte sequences are truncated on INSERT
|
# Bug#15377 Valid multibyte sequences are truncated on INSERT
|
||||||
|
@ -16,10 +16,12 @@ SET collation_connection='gbk_chinese_ci';
|
|||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_innodb_like.inc
|
-- source include/ctype_innodb_like.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
SET collation_connection='gbk_bin';
|
SET collation_connection='gbk_bin';
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_innodb_like.inc
|
-- source include/ctype_innodb_like.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug#11987 mysql will truncate the text when
|
# Bug#11987 mysql will truncate the text when
|
||||||
|
@ -116,6 +116,7 @@ SELECT FIELD('ue',s1), FIELD('
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
|
-- source include/ctype_german.inc
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug#7878 with utf8_general_ci, equals (=) has problem with
|
# Bug#7878 with utf8_general_ci, equals (=) has problem with
|
||||||
|
@ -68,10 +68,12 @@ SET collation_connection='sjis_japanese_ci';
|
|||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_innodb_like.inc
|
-- source include/ctype_innodb_like.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
SET collation_connection='sjis_bin';
|
SET collation_connection='sjis_bin';
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_innodb_like.inc
|
-- source include/ctype_innodb_like.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
|
|
||||||
# Check parsing of string literals in SJIS with multibyte characters that
|
# Check parsing of string literals in SJIS with multibyte characters that
|
||||||
# have an embedded \ in them. (Bug #8303)
|
# have an embedded \ in them. (Bug #8303)
|
||||||
|
@ -458,6 +458,7 @@ drop table t1;
|
|||||||
SET collation_connection='utf8_unicode_ci';
|
SET collation_connection='utf8_unicode_ci';
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_german.inc
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
|
||||||
@ -539,7 +540,8 @@ select * from t1 where a like 'c%';
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
set collation_connection=ucs2_unicode_ci;
|
set collation_connection=ucs2_unicode_ci;
|
||||||
--source include/ctype_regex.inc
|
-- source include/ctype_regex.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
set names utf8;
|
set names utf8;
|
||||||
|
|
||||||
-- echo End for 5.0 tests
|
-- echo End for 5.0 tests
|
||||||
|
@ -373,10 +373,13 @@ drop table t1;
|
|||||||
SET collation_connection='ucs2_general_ci';
|
SET collation_connection='ucs2_general_ci';
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_german.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
SET NAMES latin1;
|
SET NAMES latin1;
|
||||||
SET collation_connection='ucs2_bin';
|
SET collation_connection='ucs2_bin';
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug#10344 Some string functions fail for UCS2
|
# Bug#10344 Some string functions fail for UCS2
|
||||||
|
@ -1147,10 +1147,12 @@ SET collation_connection='ujis_japanese_ci';
|
|||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_innodb_like.inc
|
-- source include/ctype_innodb_like.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
SET collation_connection='ujis_bin';
|
SET collation_connection='ujis_bin';
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_innodb_like.inc
|
-- source include/ctype_innodb_like.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_like_range_f1f2.inc
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bugs#15375: Unassigned multibyte codes are broken
|
# Bugs#15375: Unassigned multibyte codes are broken
|
||||||
|
@ -721,6 +721,7 @@ select hex(soundex(_utf8 0xD091D092D093));
|
|||||||
SET collation_connection='utf8_general_ci';
|
SET collation_connection='utf8_general_ci';
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
-- source include/ctype_german.inc
|
||||||
SET collation_connection='utf8_bin';
|
SET collation_connection='utf8_bin';
|
||||||
-- source include/ctype_filesort.inc
|
-- source include/ctype_filesort.inc
|
||||||
-- source include/ctype_like_escape.inc
|
-- source include/ctype_like_escape.inc
|
||||||
|
@ -12,8 +12,6 @@
|
|||||||
user_limits : Bug#23921 random failure of user_limits.test
|
user_limits : Bug#23921 random failure of user_limits.test
|
||||||
|
|
||||||
concurrent_innodb : BUG#21579 2006-08-11 mleich innodb_concurrent random failures with varying differences
|
concurrent_innodb : BUG#21579 2006-08-11 mleich innodb_concurrent random failures with varying differences
|
||||||
ctype_big5 : BUG#26711 2007-06-21 Lars Test has never worked on Double Whopper
|
|
||||||
|
|
||||||
federated_transactions : Bug#29523 Transactions do not work
|
federated_transactions : Bug#29523 Transactions do not work
|
||||||
lowercase_table3 : Bug#32667 lowercase_table3.test reports to error log
|
lowercase_table3 : Bug#32667 lowercase_table3.test reports to error log
|
||||||
innodb_mysql : Bug#32724: innodb_mysql.test fails randomly
|
innodb_mysql : Bug#32724: innodb_mysql.test fails randomly
|
||||||
|
@ -41,8 +41,7 @@ select "--- Local --" as "";
|
|||||||
# be time dependent (the Start events). Better than nothing.
|
# be time dependent (the Start events). Better than nothing.
|
||||||
#
|
#
|
||||||
|
|
||||||
--replace_regex /[[:<:]][0-9]{6} [0-9 ][0-9]:[0-9]{2}:[0-9]{2}[[:>:]]/{yymmdd} {HH:MM:SS}/ /=[0-9]+ /={integer} / /# at [0-9]+/# at {pos}/ /(pos:?) [0-9]+/\1 {pos}/ /binlog v [0-9]+, server v [^ ]* created/binlog v #, server v ## created/
|
--exec $MYSQL_BINLOG --short-form --base64-output=never $MYSQLTEST_VARDIR/log/master-bin.000001
|
||||||
--exec $MYSQL_BINLOG --base64-output=never $MYSQLTEST_VARDIR/log/master-bin.000001
|
|
||||||
|
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
select "--- offset --" as "";
|
select "--- offset --" as "";
|
||||||
|
@ -1613,6 +1613,10 @@ DROP TABLE t1;
|
|||||||
#
|
#
|
||||||
# Added for use-thread option
|
# Added for use-thread option
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# THIS PART OF THE TEST IS DISABLED UNTIL BUG#32991 IS FIXED
|
||||||
|
if ($bug32991_fixed) {
|
||||||
|
|
||||||
create table t1 (a text , b text);
|
create table t1 (a text , b text);
|
||||||
create table t2 (a text , b text);
|
create table t2 (a text , b text);
|
||||||
insert t1 values ("Duck, Duck", "goose");
|
insert t1 values ("Duck, Duck", "goose");
|
||||||
@ -1650,6 +1654,8 @@ drop table t2;
|
|||||||
|
|
||||||
drop table words2;
|
drop table words2;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # BUG# 16853: mysqldump doesn't show events
|
--echo # BUG# 16853: mysqldump doesn't show events
|
||||||
--echo #
|
--echo #
|
||||||
|
1
mysql-test/t/variables-notembedded-master.opt
Normal file
1
mysql-test/t/variables-notembedded-master.opt
Normal file
@ -0,0 +1 @@
|
|||||||
|
--loose-slave-skip-errors=3,100,137,643,1752
|
30
mysql-test/t/variables-notembedded.test
Normal file
30
mysql-test/t/variables-notembedded.test
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# Tests that variables work correctly (setting and showing). This
|
||||||
|
# test is like the main.variables test, but for variables not
|
||||||
|
# available in embedded mode.
|
||||||
|
|
||||||
|
source include/not_embedded.inc;
|
||||||
|
|
||||||
|
--echo ---- Init ----
|
||||||
|
# Backup global variables so they can be restored at end of test.
|
||||||
|
set @my_slave_net_timeout =@@global.slave_net_timeout;
|
||||||
|
|
||||||
|
--echo ---- Test ----
|
||||||
|
set global slave_net_timeout=100;
|
||||||
|
set global sql_slave_skip_counter=100;
|
||||||
|
|
||||||
|
# End of 4.1 tests
|
||||||
|
|
||||||
|
# BUG #7800: Add various-slave related variables to SHOW VARIABLES
|
||||||
|
show variables like 'slave_compressed_protocol';
|
||||||
|
--replace_column 2 SLAVE_LOAD_TMPDIR
|
||||||
|
show variables like 'slave_load_tmpdir';
|
||||||
|
# We just set some arbitrary values in variables-master.opt so we can test
|
||||||
|
# that a list of values works correctly
|
||||||
|
show variables like 'slave_skip_errors';
|
||||||
|
|
||||||
|
--echo ---- Clean Up ----
|
||||||
|
|
||||||
|
set global slave_net_timeout=default;
|
||||||
|
# sql_slave_skip_counter is write-only, so we can't save previous
|
||||||
|
# value and restore it here. That's ok, because it's normally 0.
|
||||||
|
set global sql_slave_skip_counter= 0;
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user