mirror of
https://github.com/MariaDB/server.git
synced 2025-10-12 12:25:37 +03:00
Merge 10.3 into 10.4
This commit is contained in:
@@ -5963,6 +5963,7 @@ void do_connect(struct st_command *command)
|
|||||||
int read_timeout= 0;
|
int read_timeout= 0;
|
||||||
int write_timeout= 0;
|
int write_timeout= 0;
|
||||||
int connect_timeout= 0;
|
int connect_timeout= 0;
|
||||||
|
char *csname=0;
|
||||||
struct st_connection* con_slot;
|
struct st_connection* con_slot;
|
||||||
|
|
||||||
static DYNAMIC_STRING ds_connection_name;
|
static DYNAMIC_STRING ds_connection_name;
|
||||||
@@ -6065,6 +6066,11 @@ void do_connect(struct st_command *command)
|
|||||||
{
|
{
|
||||||
connect_timeout= atoi(con_options + sizeof("connect_timeout=")-1);
|
connect_timeout= atoi(con_options + sizeof("connect_timeout=")-1);
|
||||||
}
|
}
|
||||||
|
else if (strncasecmp(con_options, "CHARSET=",
|
||||||
|
sizeof("CHARSET=") - 1) == 0)
|
||||||
|
{
|
||||||
|
csname= strdup(con_options + sizeof("CHARSET=") - 1);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
die("Illegal option to connect: %.*s",
|
die("Illegal option to connect: %.*s",
|
||||||
(int) (end - con_options), con_options);
|
(int) (end - con_options), con_options);
|
||||||
@@ -6102,7 +6108,7 @@ void do_connect(struct st_command *command)
|
|||||||
mysql_options(con_slot->mysql, MYSQL_OPT_COMPRESS, NullS);
|
mysql_options(con_slot->mysql, MYSQL_OPT_COMPRESS, NullS);
|
||||||
mysql_options(con_slot->mysql, MYSQL_OPT_LOCAL_INFILE, 0);
|
mysql_options(con_slot->mysql, MYSQL_OPT_LOCAL_INFILE, 0);
|
||||||
mysql_options(con_slot->mysql, MYSQL_SET_CHARSET_NAME,
|
mysql_options(con_slot->mysql, MYSQL_SET_CHARSET_NAME,
|
||||||
charset_info->csname);
|
csname?csname: charset_info->csname);
|
||||||
if (opt_charsets_dir)
|
if (opt_charsets_dir)
|
||||||
mysql_options(con_slot->mysql, MYSQL_SET_CHARSET_DIR,
|
mysql_options(con_slot->mysql, MYSQL_SET_CHARSET_DIR,
|
||||||
opt_charsets_dir);
|
opt_charsets_dir);
|
||||||
@@ -6194,6 +6200,7 @@ void do_connect(struct st_command *command)
|
|||||||
dynstr_free(&ds_sock);
|
dynstr_free(&ds_sock);
|
||||||
dynstr_free(&ds_options);
|
dynstr_free(&ds_options);
|
||||||
dynstr_free(&ds_default_auth);
|
dynstr_free(&ds_default_auth);
|
||||||
|
free(csname);
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -153,7 +153,7 @@ xb_mysql_connect()
|
|||||||
return(NULL);
|
return(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
xb_mysql_query(connection, "SET SESSION wait_timeout=2147483",
|
xb_mysql_query(connection, "SET SESSION wait_timeout=2147483, max_statement_time=0",
|
||||||
false, true);
|
false, true);
|
||||||
|
|
||||||
return(connection);
|
return(connection);
|
||||||
|
@@ -3090,7 +3090,16 @@ xb_load_single_table_tablespace(
|
|||||||
die("Can't open datafile %s", name);
|
die("Can't open datafile %s", name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < 10; i++) {
|
||||||
err = file->validate_first_page(&flush_lsn);
|
err = file->validate_first_page(&flush_lsn);
|
||||||
|
if (err != DB_CORRUPTION) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
my_sleep(1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool is_empty_file = file->exists() && file->is_empty_file();
|
||||||
|
|
||||||
if (err == DB_SUCCESS && file->space_id() != SRV_TMP_SPACE_ID) {
|
if (err == DB_SUCCESS && file->space_id() != SRV_TMP_SPACE_ID) {
|
||||||
os_offset_t node_size = os_file_get_size(file->handle());
|
os_offset_t node_size = os_file_get_size(file->handle());
|
||||||
@@ -3122,9 +3131,7 @@ xb_load_single_table_tablespace(
|
|||||||
|
|
||||||
delete file;
|
delete file;
|
||||||
|
|
||||||
if (err != DB_SUCCESS && err != DB_CORRUPTION && xtrabackup_backup) {
|
if (err != DB_SUCCESS && xtrabackup_backup && !is_empty_file) {
|
||||||
/* allow corrupted first page for xtrabackup, it could be just
|
|
||||||
zero-filled page, which we restore from redo log later */
|
|
||||||
die("Failed to not validate first page of the file %s, error %d",name, (int)err);
|
die("Failed to not validate first page of the file %s, error %d",name, (int)err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -35,6 +35,7 @@ BEGIN
|
|||||||
AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP'
|
AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP'
|
||||||
AND variable_name not like 'GTID%POS'
|
AND variable_name not like 'GTID%POS'
|
||||||
AND variable_name != 'GTID_BINLOG_STATE'
|
AND variable_name != 'GTID_BINLOG_STATE'
|
||||||
|
AND variable_name != 'AUTO_INCREMENT_INCREMENT'
|
||||||
ORDER BY variable_name;
|
ORDER BY variable_name;
|
||||||
|
|
||||||
-- Dump all databases, there should be none
|
-- Dump all databases, there should be none
|
||||||
|
@@ -127,3 +127,7 @@ Database (mysql_TE%)
|
|||||||
mysql_test
|
mysql_test
|
||||||
drop database mysql_TEST;
|
drop database mysql_TEST;
|
||||||
End of 10.0 tests
|
End of 10.0 tests
|
||||||
|
create database db1;
|
||||||
|
create table t1 (a int);
|
||||||
|
drop database db1;
|
||||||
|
drop table t1;
|
||||||
|
@@ -118,3 +118,15 @@ show databases like "mysql_TE%";
|
|||||||
drop database mysql_TEST;
|
drop database mysql_TEST;
|
||||||
|
|
||||||
--echo End of 10.0 tests
|
--echo End of 10.0 tests
|
||||||
|
|
||||||
|
#
|
||||||
|
# MDEV-17148 DROP DATABASE throw "Directory not empty" after changed lower_case_table_names.
|
||||||
|
#
|
||||||
|
|
||||||
|
let $datadir=`select @@datadir`;
|
||||||
|
create database db1;
|
||||||
|
create table t1 (a int);
|
||||||
|
copy_file $datadir/test/t1.frm $datadir/db1/T1.frm;
|
||||||
|
drop database db1;
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
@@ -5,3 +5,23 @@ Com_select 10
|
|||||||
SHOW local STATUS LIKE 'com_select';
|
SHOW local STATUS LIKE 'com_select';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Com_select 0
|
Com_select 0
|
||||||
|
# Test if charset changes after reset (utf8)
|
||||||
|
connect utf8_conn,localhost,root,,,,,CHARSET=utf8;
|
||||||
|
connection utf8_conn;
|
||||||
|
SELECT IF(@@character_set_client='utf8','OK', 'FAIL') AS RESULT;
|
||||||
|
RESULT
|
||||||
|
OK
|
||||||
|
SELECT IF(@@character_set_client='utf8','OK', 'FAIL') AS RESULT;
|
||||||
|
RESULT
|
||||||
|
OK
|
||||||
|
disconnect utf8_conn;
|
||||||
|
# Test if charset changes after reset (latin1)
|
||||||
|
connect latin1_conn,localhost,root,,,,,CHARSET=latin1;
|
||||||
|
connection latin1_conn;
|
||||||
|
SELECT IF(@@character_set_client='latin1','OK', 'FAIL') AS RESULT;
|
||||||
|
RESULT
|
||||||
|
OK
|
||||||
|
SELECT IF(@@character_set_client='latin1','OK', 'FAIL') AS RESULT;
|
||||||
|
RESULT
|
||||||
|
OK
|
||||||
|
disconnect latin1_conn;
|
||||||
|
@@ -23,3 +23,18 @@ SHOW local STATUS LIKE 'com_select';
|
|||||||
|
|
||||||
SHOW local STATUS LIKE 'com_select';
|
SHOW local STATUS LIKE 'com_select';
|
||||||
|
|
||||||
|
--echo # Test if charset changes after reset (utf8)
|
||||||
|
connect(utf8_conn,localhost,root,,,,,CHARSET=utf8);
|
||||||
|
connection utf8_conn;
|
||||||
|
SELECT IF(@@character_set_client='utf8','OK', 'FAIL') AS RESULT;
|
||||||
|
--reset_connection
|
||||||
|
SELECT IF(@@character_set_client='utf8','OK', 'FAIL') AS RESULT;
|
||||||
|
disconnect utf8_conn;
|
||||||
|
|
||||||
|
--echo # Test if charset changes after reset (latin1)
|
||||||
|
connect(latin1_conn,localhost,root,,,,,CHARSET=latin1);
|
||||||
|
connection latin1_conn;
|
||||||
|
SELECT IF(@@character_set_client='latin1','OK', 'FAIL') AS RESULT;
|
||||||
|
--reset_connection
|
||||||
|
SELECT IF(@@character_set_client='latin1','OK', 'FAIL') AS RESULT;
|
||||||
|
disconnect latin1_conn;
|
@@ -197,7 +197,7 @@ sp_6_408002_2 def db_datadict_2 sp_6_408002_2 PROCEDURE NULL NULL NULL NULL NUL
|
|||||||
SELECT * FROM db_datadict_2.res_6_408002_2;
|
SELECT * FROM db_datadict_2.res_6_408002_2;
|
||||||
END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
|
END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
|
||||||
add_suppression def mtr add_suppression PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); FLUSH NO_WRITE_TO_BINLOG TABLE test_suppressions; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
add_suppression def mtr add_suppression PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); FLUSH NO_WRITE_TO_BINLOG TABLE test_suppressions; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
||||||
check_testcase def mtr check_testcase PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name NOT IN ('timestamp') AND variable_name not like "Last_IO_Err*" AND variable_name != 'INNODB_IBUF_MAX_SIZE' AND variable_name != 'INNODB_USE_NATIVE_AIO' AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP' AND variable_name not like 'GTID%POS' AND variable_name != 'GTID_BINLOG_STATE' ORDER BY variable_name; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY BINARY SCHEMA_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mtr_wsrep_notify', 'wsrep_schema') ORDER BY BINARY SCHEMA_NAME; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' ORDER BY columns_in_mysql; SELECT * FROM INFORMATION_SCHEMA.EVENTS; SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME NOT IN ('gs_insert', 'ts_insert'); SELECT * FROM INFORMATION_SCHEMA.ROUTINES; SHOW STATUS LIKE 'slave_open_temp_tables'; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.plugin, mysql.proc, mysql.procs_priv, mysql.roles_mapping, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.global_priv; SELECT * FROM INFORMATION_SCHEMA.PLUGINS; select * from information_schema.session_variables where variable_name = 'debug_sync'; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
check_testcase def mtr check_testcase PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name NOT IN ('timestamp') AND variable_name not like "Last_IO_Err*" AND variable_name != 'INNODB_IBUF_MAX_SIZE' AND variable_name != 'INNODB_USE_NATIVE_AIO' AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP' AND variable_name not like 'GTID%POS' AND variable_name != 'GTID_BINLOG_STATE' AND variable_name != 'AUTO_INCREMENT_INCREMENT' ORDER BY variable_name; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY BINARY SCHEMA_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mtr_wsrep_notify', 'wsrep_schema') ORDER BY BINARY SCHEMA_NAME; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' ORDER BY columns_in_mysql; SELECT * FROM INFORMATION_SCHEMA.EVENTS; SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME NOT IN ('gs_insert', 'ts_insert'); SELECT * FROM INFORMATION_SCHEMA.ROUTINES; SHOW STATUS LIKE 'slave_open_temp_tables'; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.plugin, mysql.proc, mysql.procs_priv, mysql.roles_mapping, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.global_priv; SELECT * FROM INFORMATION_SCHEMA.PLUGINS; select * from information_schema.session_variables where variable_name = 'debug_sync'; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
||||||
check_warnings def mtr check_warnings PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0, SQL_SAFE_UPDATES=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
check_warnings def mtr check_warnings PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0, SQL_SAFE_UPDATES=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
||||||
connect testuser2, localhost, testuser2, , db_datadict;
|
connect testuser2, localhost, testuser2, , db_datadict;
|
||||||
SELECT * FROM information_schema.routines;
|
SELECT * FROM information_schema.routines;
|
||||||
@@ -209,7 +209,7 @@ sp_6_408002_2 def db_datadict_2 sp_6_408002_2 PROCEDURE NULL NULL NULL NULL NUL
|
|||||||
SELECT * FROM db_datadict_2.res_6_408002_2;
|
SELECT * FROM db_datadict_2.res_6_408002_2;
|
||||||
END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
|
END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
|
||||||
add_suppression def mtr add_suppression PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); FLUSH NO_WRITE_TO_BINLOG TABLE test_suppressions; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
add_suppression def mtr add_suppression PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); FLUSH NO_WRITE_TO_BINLOG TABLE test_suppressions; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
||||||
check_testcase def mtr check_testcase PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name NOT IN ('timestamp') AND variable_name not like "Last_IO_Err*" AND variable_name != 'INNODB_IBUF_MAX_SIZE' AND variable_name != 'INNODB_USE_NATIVE_AIO' AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP' AND variable_name not like 'GTID%POS' AND variable_name != 'GTID_BINLOG_STATE' ORDER BY variable_name; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY BINARY SCHEMA_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mtr_wsrep_notify', 'wsrep_schema') ORDER BY BINARY SCHEMA_NAME; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' ORDER BY columns_in_mysql; SELECT * FROM INFORMATION_SCHEMA.EVENTS; SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME NOT IN ('gs_insert', 'ts_insert'); SELECT * FROM INFORMATION_SCHEMA.ROUTINES; SHOW STATUS LIKE 'slave_open_temp_tables'; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.plugin, mysql.proc, mysql.procs_priv, mysql.roles_mapping, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.global_priv; SELECT * FROM INFORMATION_SCHEMA.PLUGINS; select * from information_schema.session_variables where variable_name = 'debug_sync'; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
check_testcase def mtr check_testcase PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name NOT IN ('timestamp') AND variable_name not like "Last_IO_Err*" AND variable_name != 'INNODB_IBUF_MAX_SIZE' AND variable_name != 'INNODB_USE_NATIVE_AIO' AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP' AND variable_name not like 'GTID%POS' AND variable_name != 'GTID_BINLOG_STATE' AND variable_name != 'AUTO_INCREMENT_INCREMENT' ORDER BY variable_name; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY BINARY SCHEMA_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mtr_wsrep_notify', 'wsrep_schema') ORDER BY BINARY SCHEMA_NAME; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' ORDER BY columns_in_mysql; SELECT * FROM INFORMATION_SCHEMA.EVENTS; SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME NOT IN ('gs_insert', 'ts_insert'); SELECT * FROM INFORMATION_SCHEMA.ROUTINES; SHOW STATUS LIKE 'slave_open_temp_tables'; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.plugin, mysql.proc, mysql.procs_priv, mysql.roles_mapping, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.global_priv; SELECT * FROM INFORMATION_SCHEMA.PLUGINS; select * from information_schema.session_variables where variable_name = 'debug_sync'; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
||||||
check_warnings def mtr check_warnings PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0, SQL_SAFE_UPDATES=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
check_warnings def mtr check_warnings PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0, SQL_SAFE_UPDATES=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
||||||
connect testuser3, localhost, testuser3, , test;
|
connect testuser3, localhost, testuser3, , test;
|
||||||
SELECT * FROM information_schema.routines;
|
SELECT * FROM information_schema.routines;
|
||||||
@@ -221,7 +221,7 @@ sp_6_408002_2 def db_datadict_2 sp_6_408002_2 PROCEDURE NULL NULL NULL NULL NUL
|
|||||||
SELECT * FROM db_datadict_2.res_6_408002_2;
|
SELECT * FROM db_datadict_2.res_6_408002_2;
|
||||||
END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
|
END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
|
||||||
add_suppression def mtr add_suppression PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); FLUSH NO_WRITE_TO_BINLOG TABLE test_suppressions; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
add_suppression def mtr add_suppression PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); FLUSH NO_WRITE_TO_BINLOG TABLE test_suppressions; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
||||||
check_testcase def mtr check_testcase PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name NOT IN ('timestamp') AND variable_name not like "Last_IO_Err*" AND variable_name != 'INNODB_IBUF_MAX_SIZE' AND variable_name != 'INNODB_USE_NATIVE_AIO' AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP' AND variable_name not like 'GTID%POS' AND variable_name != 'GTID_BINLOG_STATE' ORDER BY variable_name; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY BINARY SCHEMA_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mtr_wsrep_notify', 'wsrep_schema') ORDER BY BINARY SCHEMA_NAME; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' ORDER BY columns_in_mysql; SELECT * FROM INFORMATION_SCHEMA.EVENTS; SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME NOT IN ('gs_insert', 'ts_insert'); SELECT * FROM INFORMATION_SCHEMA.ROUTINES; SHOW STATUS LIKE 'slave_open_temp_tables'; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.plugin, mysql.proc, mysql.procs_priv, mysql.roles_mapping, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.global_priv; SELECT * FROM INFORMATION_SCHEMA.PLUGINS; select * from information_schema.session_variables where variable_name = 'debug_sync'; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
check_testcase def mtr check_testcase PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name NOT IN ('timestamp') AND variable_name not like "Last_IO_Err*" AND variable_name != 'INNODB_IBUF_MAX_SIZE' AND variable_name != 'INNODB_USE_NATIVE_AIO' AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP' AND variable_name not like 'GTID%POS' AND variable_name != 'GTID_BINLOG_STATE' AND variable_name != 'AUTO_INCREMENT_INCREMENT' ORDER BY variable_name; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY BINARY SCHEMA_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mtr_wsrep_notify', 'wsrep_schema') ORDER BY BINARY SCHEMA_NAME; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' ORDER BY columns_in_mysql; SELECT * FROM INFORMATION_SCHEMA.EVENTS; SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME NOT IN ('gs_insert', 'ts_insert'); SELECT * FROM INFORMATION_SCHEMA.ROUTINES; SHOW STATUS LIKE 'slave_open_temp_tables'; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.plugin, mysql.proc, mysql.procs_priv, mysql.roles_mapping, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.global_priv; SELECT * FROM INFORMATION_SCHEMA.PLUGINS; select * from information_schema.session_variables where variable_name = 'debug_sync'; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
||||||
check_warnings def mtr check_warnings PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0, SQL_SAFE_UPDATES=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
check_warnings def mtr check_warnings PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0, SQL_SAFE_UPDATES=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
|
||||||
connection default;
|
connection default;
|
||||||
disconnect testuser1;
|
disconnect testuser1;
|
||||||
|
@@ -50,7 +50,6 @@ galera.galera_encrypt_tmp_files : Get error failed to enable encryption of tempo
|
|||||||
galera.galera_var_reject_queries : assertion in inline_mysql_socket_send
|
galera.galera_var_reject_queries : assertion in inline_mysql_socket_send
|
||||||
query_cache : MDEV-18137: Galera test failure on query_cache
|
query_cache : MDEV-18137: Galera test failure on query_cache
|
||||||
galera.galera_autoinc_sst_mariabackup : MDEV-18177 Galera test failure on galera_autoinc_sst_mariabackup
|
galera.galera_autoinc_sst_mariabackup : MDEV-18177 Galera test failure on galera_autoinc_sst_mariabackup
|
||||||
galera_gcache_recover_manytrx : MDEV-15740
|
|
||||||
galera.galera_ist_mariabackup : Leaves port open
|
galera.galera_ist_mariabackup : Leaves port open
|
||||||
galera.galera_sst_rsync2 : MDEV-18178 Galera test failure on galera_sst_rsync2
|
galera.galera_sst_rsync2 : MDEV-18178 Galera test failure on galera_sst_rsync2
|
||||||
galera.galera_kill_largechanges : MDEV-18179 Galera test failure on galera.galera_kill_largechanges
|
galera.galera_kill_largechanges : MDEV-18179 Galera test failure on galera.galera_kill_largechanges
|
||||||
|
@@ -70,28 +70,55 @@ WHILE 1 DO
|
|||||||
INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
|
INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
|
||||||
END WHILE;
|
END WHILE;
|
||||||
END|
|
END|
|
||||||
|
connect node_1_insert_simple, 127.0.0.1, root, , test, $NODE_MYPORT_1;
|
||||||
|
connect node_1_insert_multi, 127.0.0.1, root, , test, $NODE_MYPORT_1;
|
||||||
|
connect node_1_insert_transaction, 127.0.0.1, root, , test, $NODE_MYPORT_1;
|
||||||
|
connect node_1_update_simple, 127.0.0.1, root, , test, $NODE_MYPORT_1;
|
||||||
|
connect node_1_insert_1k, 127.0.0.1, root, , test, $NODE_MYPORT_1;
|
||||||
|
connect node_1_insert_1m, 127.0.0.1, root, , test, $NODE_MYPORT_1;
|
||||||
|
connect node_1_insert_10m, 127.0.0.1, root, , test, $NODE_MYPORT_1;
|
||||||
|
connection node_1_insert_simple;
|
||||||
CALL insert_simple();;
|
CALL insert_simple();;
|
||||||
|
connection node_1_insert_multi;
|
||||||
CALL insert_multi();;
|
CALL insert_multi();;
|
||||||
|
connection node_1_insert_transaction;
|
||||||
CALL insert_transaction ();;
|
CALL insert_transaction ();;
|
||||||
|
connection node_1_update_simple;
|
||||||
CALL update_simple ();;
|
CALL update_simple ();;
|
||||||
|
connection node_1_insert_1k;
|
||||||
CALL insert_1k ();;
|
CALL insert_1k ();;
|
||||||
|
connection node_1_insert_1m;
|
||||||
CALL insert_1m ();;
|
CALL insert_1m ();;
|
||||||
|
connection node_1_insert_10m;
|
||||||
CALL insert_10m ();;
|
CALL insert_10m ();;
|
||||||
|
connection node_2;
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
Killing server ...
|
Killing server ...
|
||||||
|
connection node_1;
|
||||||
Killing server ...
|
Killing server ...
|
||||||
|
connection node_1_insert_simple;
|
||||||
ERROR HY000: Lost connection to MySQL server during query
|
ERROR HY000: Lost connection to MySQL server during query
|
||||||
|
connection node_1_insert_multi;
|
||||||
ERROR HY000: Lost connection to MySQL server during query
|
ERROR HY000: Lost connection to MySQL server during query
|
||||||
|
connection node_1_insert_transaction;
|
||||||
ERROR HY000: Lost connection to MySQL server during query
|
ERROR HY000: Lost connection to MySQL server during query
|
||||||
|
connection node_1_update_simple;
|
||||||
ERROR HY000: Lost connection to MySQL server during query
|
ERROR HY000: Lost connection to MySQL server during query
|
||||||
|
connection node_1_insert_1k;
|
||||||
ERROR HY000: Lost connection to MySQL server during query
|
ERROR HY000: Lost connection to MySQL server during query
|
||||||
|
connection node_1_insert_1m;
|
||||||
ERROR HY000: Lost connection to MySQL server during query
|
ERROR HY000: Lost connection to MySQL server during query
|
||||||
|
connection node_1_insert_10m;
|
||||||
ERROR HY000: Lost connection to MySQL server during query
|
ERROR HY000: Lost connection to MySQL server during query
|
||||||
|
connection node_1;
|
||||||
Performing --wsrep-recover ...
|
Performing --wsrep-recover ...
|
||||||
Using --wsrep-start-position when starting mysqld ...
|
Using --wsrep-start-position when starting mysqld ...
|
||||||
|
connection node_2;
|
||||||
Performing --wsrep-recover ...
|
Performing --wsrep-recover ...
|
||||||
Using --wsrep-start-position when starting mysqld ...
|
Using --wsrep-start-position when starting mysqld ...
|
||||||
|
connection node_1;
|
||||||
include/diff_servers.inc [servers=1 2]
|
include/diff_servers.inc [servers=1 2]
|
||||||
|
connection node_1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
DROP TABLE ten;
|
DROP TABLE ten;
|
||||||
DROP PROCEDURE insert_simple;
|
DROP PROCEDURE insert_simple;
|
||||||
@@ -100,8 +127,10 @@ DROP PROCEDURE insert_transaction;
|
|||||||
DROP PROCEDURE update_simple;
|
DROP PROCEDURE update_simple;
|
||||||
DROP PROCEDURE insert_1k;
|
DROP PROCEDURE insert_1k;
|
||||||
DROP PROCEDURE insert_1m;
|
DROP PROCEDURE insert_1m;
|
||||||
|
connection node_1;
|
||||||
CALL mtr.add_suppression("conflict state 7 after post commit");
|
CALL mtr.add_suppression("conflict state 7 after post commit");
|
||||||
CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
|
CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
|
||||||
include/assert_grep.inc [async IST sender starting to serve]
|
include/assert_grep.inc [async IST sender starting to serve]
|
||||||
|
connection node_2;
|
||||||
CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
|
CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
|
||||||
include/assert_grep.inc [Recovering GCache ring buffer: found gapless sequence]
|
include/assert_grep.inc [Recovering GCache ring buffer: found gapless sequence]
|
||||||
|
@@ -25,4 +25,5 @@ COUNT(*) = 1
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
connection node_3;
|
connection node_3;
|
||||||
Resuming node ...
|
Resuming node ...
|
||||||
|
connection node_3;
|
||||||
CALL mtr.add_suppression("WSREP: gcs_caused() returned -1 \\(Operation not permitted\\)");
|
CALL mtr.add_suppression("WSREP: gcs_caused() returned -1 \\(Operation not permitted\\)");
|
||||||
|
@@ -3,6 +3,7 @@ connection node_1;
|
|||||||
connection node_1;
|
connection node_1;
|
||||||
connection node_2;
|
connection node_2;
|
||||||
connection node_3;
|
connection node_3;
|
||||||
|
connection node_1;
|
||||||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
|
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
|
||||||
INSERT INTO t1 VALUES (01), (02), (03), (04), (05);
|
INSERT INTO t1 VALUES (01), (02), (03), (04), (05);
|
||||||
connection node_2;
|
connection node_2;
|
||||||
|
@@ -34,10 +34,20 @@ connection node_1;
|
|||||||
connection node_2;
|
connection node_2;
|
||||||
connection node_3;
|
connection node_3;
|
||||||
connection node_2;
|
connection node_2;
|
||||||
|
CALL mtr.add_suppression("WSREP: no nodes coming from prim view, prim not possible");
|
||||||
|
CALL mtr.add_suppression("WSREP: It may not be safe to bootstrap the cluster from this node");
|
||||||
|
CALL mtr.add_suppression("WSREP: wsrep::connect(.*) failed: 7");
|
||||||
|
CALL mtr.add_suppression("Aborting");
|
||||||
|
CALL mtr.add_suppression("WSREP: moving position backwards: [0-9]+ -> 0");
|
||||||
CALL mtr.add_suppression("Failed to prepare for incremental state transfer");
|
CALL mtr.add_suppression("Failed to prepare for incremental state transfer");
|
||||||
CALL mtr.add_suppression("It may not be safe to bootstrap the cluster from this node");
|
CALL mtr.add_suppression("It may not be safe to bootstrap the cluster from this node");
|
||||||
CALL mtr.add_suppression("Aborting");
|
CALL mtr.add_suppression("Aborting");
|
||||||
connection node_3;
|
connection node_3;
|
||||||
|
CALL mtr.add_suppression("WSREP: no nodes coming from prim view, prim not possible");
|
||||||
|
CALL mtr.add_suppression("WSREP: It may not be safe to bootstrap the cluster from this node");
|
||||||
|
CALL mtr.add_suppression("WSREP: wsrep::connect(.*) failed: 7");
|
||||||
|
CALL mtr.add_suppression("Aborting");
|
||||||
|
CALL mtr.add_suppression("WSREP: moving position backwards: [0-9]+ -> 0");
|
||||||
CALL mtr.add_suppression("Failed to prepare for incremental state transfer");
|
CALL mtr.add_suppression("Failed to prepare for incremental state transfer");
|
||||||
CALL mtr.add_suppression("It may not be safe to bootstrap the cluster from this node");
|
CALL mtr.add_suppression("It may not be safe to bootstrap the cluster from this node");
|
||||||
CALL mtr.add_suppression("Aborting");
|
CALL mtr.add_suppression("Aborting");
|
||||||
|
@@ -56,8 +56,8 @@ DROP TABLE t1;
|
|||||||
|
|
||||||
# Reconnect node #3 so that MTR's end-of-test checks can run
|
# Reconnect node #3 so that MTR's end-of-test checks can run
|
||||||
|
|
||||||
--connection node_3
|
|
||||||
--source include/galera_resume.inc
|
--source include/galera_resume.inc
|
||||||
|
--connection node_3
|
||||||
--source include/wait_until_connected_again.inc
|
--source include/wait_until_connected_again.inc
|
||||||
|
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
|
@@ -29,7 +29,9 @@
|
|||||||
--source include/wait_condition.inc
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
--echo Starting garbd ...
|
--echo Starting garbd ...
|
||||||
--exec `dirname $WSREP_PROVIDER`/garb/garbd --address "gcomm://127.0.0.1:$NODE_GALERAPORT_1" --group my_wsrep_cluster --options 'base_port=$NODE_GALERAPORT_3' > $MYSQL_TMP_DIR/garbd.log 2>&1 &
|
--let $gp1 = `SELECT SUBSTR(@@wsrep_provider_options, LOCATE('base_port =', @@wsrep_provider_options) + LENGTH('base_port = '))`
|
||||||
|
--let $galera_port_1 = `SELECT SUBSTR('$gp1', 1, LOCATE(';', '$gp1') - 1)`
|
||||||
|
--exec `dirname $WSREP_PROVIDER`/../../bin/garb/garbd --address "gcomm://127.0.0.1:$galera_port_1" --group my_wsrep_cluster --options 'base_port=$galera_port_3' > $MYSQL_TMP_DIR/garbd.log 2>&1 &
|
||||||
|
|
||||||
--sleep 5
|
--sleep 5
|
||||||
|
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
!include ../galera_3nodes.cnf
|
!include ../galera_3nodes.cnf
|
||||||
|
|
||||||
[mysqld.1]
|
[mysqld.1]
|
||||||
wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.ignore_sb=true;gcache.size=1M'
|
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.ignore_sb=true;gcache.size=1M'
|
||||||
|
|
||||||
[mysqld.2]
|
[mysqld.2]
|
||||||
wsrep_provider_options='base_port=@mysqld.2.#galera_port;pc.ignore_sb=true;gcache.size=1M'
|
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.ignore_sb=true;gcache.size=1M'
|
||||||
|
|
||||||
[mysqld.3]
|
[mysqld.3]
|
||||||
wsrep_provider_options='base_port=@mysqld.3.#galera_port;pc.ignore_sb=true;gcache.size=1M'
|
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.3.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.ignore_sb=true;gcache.size=1M'
|
||||||
|
|
||||||
|
@@ -23,6 +23,7 @@
|
|||||||
--let $node_3=node_3
|
--let $node_3=node_3
|
||||||
--source ../galera/include/auto_increment_offset_save.inc
|
--source ../galera/include/auto_increment_offset_save.inc
|
||||||
|
|
||||||
|
--connection node_1
|
||||||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
|
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
|
||||||
INSERT INTO t1 VALUES (01), (02), (03), (04), (05);
|
INSERT INTO t1 VALUES (01), (02), (03), (04), (05);
|
||||||
|
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Test the safe_to_bootstrap in grastate.dat
|
# Test the safe_to_bootstrap in grastate.dat
|
||||||
#
|
#
|
||||||
|
|
||||||
--source include/galera_cluster.inc
|
--source include/galera_cluster.inc
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -144,9 +143,9 @@ SET SESSION wsrep_on = OFF;
|
|||||||
#
|
#
|
||||||
|
|
||||||
--error 1
|
--error 1
|
||||||
--exec $MYSQLD --defaults-group-suffix=.2 --defaults-file=$MYSQLTEST_VARDIR/my.cnf --wsrep-new-cluster | grep 'This node is not safe to bootstrap the cluster'
|
--exec $MYSQLD --defaults-group-suffix=.2 --defaults-file=$MYSQLTEST_VARDIR/my.cnf --wsrep-new-cluster --wsrep-cluster-address='gcomm://' | grep 'This node is not safe to bootstrap the cluster'
|
||||||
--error 1
|
--error 1
|
||||||
--exec $MYSQLD --defaults-group-suffix=.3 --defaults-file=$MYSQLTEST_VARDIR/my.cnf --wsrep-new-cluster | grep 'This node is not safe to bootstrap the cluster'
|
--exec $MYSQLD --defaults-group-suffix=.3 --defaults-file=$MYSQLTEST_VARDIR/my.cnf --wsrep-new-cluster --wsrep-cluster-address='gcomm://' | grep 'This node is not safe to bootstrap the cluster'
|
||||||
|
|
||||||
#
|
#
|
||||||
# Attempt to bootstrap starting from node #1, should succeed
|
# Attempt to bootstrap starting from node #1, should succeed
|
||||||
@@ -169,11 +168,21 @@ SET SESSION wsrep_on = OFF;
|
|||||||
--source include/wait_condition.inc
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
--connection node_2
|
--connection node_2
|
||||||
|
CALL mtr.add_suppression("WSREP: no nodes coming from prim view, prim not possible");
|
||||||
|
CALL mtr.add_suppression("WSREP: It may not be safe to bootstrap the cluster from this node");
|
||||||
|
CALL mtr.add_suppression("WSREP: wsrep::connect(.*) failed: 7");
|
||||||
|
CALL mtr.add_suppression("Aborting");
|
||||||
|
CALL mtr.add_suppression("WSREP: moving position backwards: [0-9]+ -> 0");
|
||||||
CALL mtr.add_suppression("Failed to prepare for incremental state transfer");
|
CALL mtr.add_suppression("Failed to prepare for incremental state transfer");
|
||||||
CALL mtr.add_suppression("It may not be safe to bootstrap the cluster from this node");
|
CALL mtr.add_suppression("It may not be safe to bootstrap the cluster from this node");
|
||||||
CALL mtr.add_suppression("Aborting");
|
CALL mtr.add_suppression("Aborting");
|
||||||
|
|
||||||
--connection node_3
|
--connection node_3
|
||||||
|
CALL mtr.add_suppression("WSREP: no nodes coming from prim view, prim not possible");
|
||||||
|
CALL mtr.add_suppression("WSREP: It may not be safe to bootstrap the cluster from this node");
|
||||||
|
CALL mtr.add_suppression("WSREP: wsrep::connect(.*) failed: 7");
|
||||||
|
CALL mtr.add_suppression("Aborting");
|
||||||
|
CALL mtr.add_suppression("WSREP: moving position backwards: [0-9]+ -> 0");
|
||||||
CALL mtr.add_suppression("Failed to prepare for incremental state transfer");
|
CALL mtr.add_suppression("Failed to prepare for incremental state transfer");
|
||||||
CALL mtr.add_suppression("It may not be safe to bootstrap the cluster from this node");
|
CALL mtr.add_suppression("It may not be safe to bootstrap the cluster from this node");
|
||||||
CALL mtr.add_suppression("Aborting");
|
CALL mtr.add_suppression("Aborting");
|
||||||
|
459
mysql-test/suite/innodb/r/alter_varchar_change.result
Normal file
459
mysql-test/suite/innodb/r/alter_varchar_change.result
Normal file
@@ -0,0 +1,459 @@
|
|||||||
|
CREATE PROCEDURE get_index_id(IN tbl_id INT, IN idx_name char(100), OUT idx_id INT)
|
||||||
|
BEGIN
|
||||||
|
SELECT index_id into idx_id FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES WHERE
|
||||||
|
NAME=idx_name and TABLE_ID=tbl_id;
|
||||||
|
END|
|
||||||
|
CREATE PROCEDURE get_table_id(IN tbl_name char(100), OUT tbl_id INT)
|
||||||
|
BEGIN
|
||||||
|
SELECT table_id into tbl_id FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE
|
||||||
|
NAME = tbl_name;
|
||||||
|
END|
|
||||||
|
SET @tbl_id = 0;
|
||||||
|
SET @tbl1_id = 0;
|
||||||
|
SET @idx_id = 0;
|
||||||
|
SET @idx1_id = 0;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100) PRIMARY KEY)ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
1
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(200) NOT NULL,
|
||||||
|
PRIMARY KEY (`f2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
1
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(200) DEFAULT NULL,
|
||||||
|
KEY `idx` (`f2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL, f2 VARCHAR(100), f3 VARCHAR(100),
|
||||||
|
INDEX idx(f2, f3), index idx1(f3, f2))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), MODIFY f3 VARCHAR(150);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
1
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
@idx1_id = @idx_id
|
||||||
|
1
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(200) DEFAULT NULL,
|
||||||
|
`f3` varchar(150) DEFAULT NULL,
|
||||||
|
KEY `idx` (`f2`,`f3`),
|
||||||
|
KEY `idx1` (`f3`,`f2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL, f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(40)))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
1
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
@idx1_id = @idx_id
|
||||||
|
1
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(200) DEFAULT NULL,
|
||||||
|
KEY `idx` (`f2`(40))
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100), FULLTEXT idx(f2))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
1
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
@idx1_id = @idx_id
|
||||||
|
1
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(200) DEFAULT NULL,
|
||||||
|
FULLTEXT KEY `idx` (`f2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
f3 VARCHAR(50) as (f2) VIRTUAL,
|
||||||
|
INDEX idx(f3))ENGINE=InnoDB;
|
||||||
|
INSERT INTO t1(f1, f2) VALUES(1, repeat('a', 40));
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(100);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
1
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
@idx1_id = @idx_id
|
||||||
|
1
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(100) DEFAULT NULL,
|
||||||
|
`f3` varchar(50) GENERATED ALWAYS AS (`f2`) VIRTUAL,
|
||||||
|
KEY `idx` (`f3`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(10)),
|
||||||
|
INDEX idx1(f1))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), DROP INDEX idx1;
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
1
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
@idx1_id = @idx_id
|
||||||
|
1
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(200) DEFAULT NULL,
|
||||||
|
KEY `idx` (`f2`(10))
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(10)))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), DROP INDEX idx, ADD INDEX idx(f2(10));
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
1
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
@idx1_id = @idx_id
|
||||||
|
1
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(200) DEFAULT NULL,
|
||||||
|
KEY `idx` (`f2`(10))
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(10)))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), DROP INDEX idx, ADD INDEX idx(f2(50));
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
1
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
@idx1_id = @idx_id
|
||||||
|
0
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(200) DEFAULT NULL,
|
||||||
|
KEY `idx` (`f2`(50))
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(100)))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), ADD INDEX idx1(f1);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
1
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
@idx1_id = @idx_id
|
||||||
|
1
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(200) DEFAULT NULL,
|
||||||
|
KEY `idx` (`f2`),
|
||||||
|
KEY `idx1` (`f1`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(10)))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), DROP INDEX idx, ADD INDEX idx(f2(6));
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
1
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
@idx1_id = @idx_id
|
||||||
|
0
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(200) DEFAULT NULL,
|
||||||
|
KEY `idx` (`f2`(6))
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), ADD COLUMN f3 INT;
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
1
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(200) DEFAULT NULL,
|
||||||
|
`f3` int(11) DEFAULT NULL,
|
||||||
|
KEY `idx` (`f2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL, f2 VARCHAR(100) PRIMARY KEY)ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), ADD COLUMN f3 INT;
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
1
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(200) NOT NULL,
|
||||||
|
`f3` int(11) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`f2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL, f2 VARCHAR(100))ENGINE=INNODB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), ADD FULLTEXT idx(f2);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
0
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(200) DEFAULT NULL,
|
||||||
|
FULLTEXT KEY `idx` (`f2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 CHAR(100) PRIMARY KEY)ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 CHAR(200);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
0
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` char(200) NOT NULL,
|
||||||
|
PRIMARY KEY (`f2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(10)),
|
||||||
|
INDEX idx1(f1))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(50);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
0
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(50) DEFAULT NULL,
|
||||||
|
KEY `idx` (`f2`(10)),
|
||||||
|
KEY `idx1` (`f1`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(10)),
|
||||||
|
INDEX idx1(f1))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(5), DROP INDEX idx1;
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
0
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(5) DEFAULT NULL,
|
||||||
|
KEY `idx` (`f2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100), FULLTEXT idx(f2))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(50);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
0
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
@idx1_id = @idx_id
|
||||||
|
0
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(50) DEFAULT NULL,
|
||||||
|
FULLTEXT KEY `idx` (`f2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 CHAR(200);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
0
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` char(200) DEFAULT NULL,
|
||||||
|
KEY `idx` (`f2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(40)))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 TEXT;
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
0
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` text DEFAULT NULL,
|
||||||
|
KEY `idx` (`f2`(40))
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(40)))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(300);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
0
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(300) DEFAULT NULL,
|
||||||
|
KEY `idx` (`f2`(40))
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(40)))ENGINE=InnoDB;
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200) CHARACTER SET UTF16;
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
@tbl1_id = @tbl_id
|
||||||
|
0
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(200) CHARACTER SET utf16 DEFAULT NULL,
|
||||||
|
KEY `idx` (`f2`(40))
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
f3 VARCHAR(50) as (f2) VIRTUAL,
|
||||||
|
INDEX idx(f3))ENGINE=InnoDB;
|
||||||
|
# If varchar virtual column extension is allowed in the future then
|
||||||
|
# InnoDB must rebuild the index
|
||||||
|
ALTER TABLE t1 MODIFY f3 VARCHAR(100);
|
||||||
|
ERROR HY000: This is not yet supported for generated columns
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`f1` int(11) NOT NULL,
|
||||||
|
`f2` varchar(100) DEFAULT NULL,
|
||||||
|
`f3` varchar(50) GENERATED ALWAYS AS (`f2`) VIRTUAL,
|
||||||
|
KEY `idx` (`f3`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
DROP TABLE t1;
|
||||||
|
DROP PROCEDURE get_index_id;
|
||||||
|
DROP PROCEDURE get_table_id;
|
336
mysql-test/suite/innodb/t/alter_varchar_change.test
Normal file
336
mysql-test/suite/innodb/t/alter_varchar_change.test
Normal file
@@ -0,0 +1,336 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
|
|
||||||
|
DELIMITER |;
|
||||||
|
CREATE PROCEDURE get_index_id(IN tbl_id INT, IN idx_name char(100), OUT idx_id INT)
|
||||||
|
BEGIN
|
||||||
|
SELECT index_id into idx_id FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES WHERE
|
||||||
|
NAME=idx_name and TABLE_ID=tbl_id;
|
||||||
|
END|
|
||||||
|
|
||||||
|
CREATE PROCEDURE get_table_id(IN tbl_name char(100), OUT tbl_id INT)
|
||||||
|
BEGIN
|
||||||
|
SELECT table_id into tbl_id FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE
|
||||||
|
NAME = tbl_name;
|
||||||
|
END|
|
||||||
|
|
||||||
|
DELIMITER ;|
|
||||||
|
|
||||||
|
SET @tbl_id = 0;
|
||||||
|
SET @tbl1_id = 0;
|
||||||
|
SET @idx_id = 0;
|
||||||
|
SET @idx1_id = 0;
|
||||||
|
|
||||||
|
# Table should avoid rebuild for the following varchar change.
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100) PRIMARY KEY)ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
# Index should avoid rebuild
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL, f2 VARCHAR(100), f3 VARCHAR(100),
|
||||||
|
INDEX idx(f2, f3), index idx1(f3, f2))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), MODIFY f3 VARCHAR(150);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL, f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(40)))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100), FULLTEXT idx(f2))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
f3 VARCHAR(50) as (f2) VIRTUAL,
|
||||||
|
INDEX idx(f3))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
INSERT INTO t1(f1, f2) VALUES(1, repeat('a', 40));
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(100);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(10)),
|
||||||
|
INDEX idx1(f1))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), DROP INDEX idx1;
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(10)))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), DROP INDEX idx, ADD INDEX idx(f2(10));
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(10)))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), DROP INDEX idx, ADD INDEX idx(f2(50));
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
# Newly added index should built
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(100)))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), ADD INDEX idx1(f1);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(10)))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), DROP INDEX idx, ADD INDEX idx(f2(6));
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
# Table should rebuild
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), ADD COLUMN f3 INT;
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL, f2 VARCHAR(100) PRIMARY KEY)ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), ADD COLUMN f3 INT;
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL, f2 VARCHAR(100))ENGINE=INNODB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200), ADD FULLTEXT idx(f2);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 CHAR(100) PRIMARY KEY)ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 CHAR(200);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(10)),
|
||||||
|
INDEX idx1(f1))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(50);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(10)),
|
||||||
|
INDEX idx1(f1))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(5), DROP INDEX idx1;
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100), FULLTEXT idx(f2))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
CALL get_index_id(@tbl_id, "idx", @idx_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(50);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
CALL get_index_id(@tbl1_id, "idx", @idx1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SELECT @idx1_id = @idx_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 CHAR(200);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(40)))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 TEXT;
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(40)))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(300);
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
INDEX idx(f2(40)))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
CALL get_table_id("test/t1", @tbl_id);
|
||||||
|
ALTER TABLE t1 MODIFY f2 VARCHAR(200) CHARACTER SET UTF16;
|
||||||
|
CALL get_table_id("test/t1", @tbl1_id);
|
||||||
|
|
||||||
|
SELECT @tbl1_id = @tbl_id;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
# Show error when virtual varchar column got changed
|
||||||
|
|
||||||
|
CREATE TABLE t1(f1 INT NOT NULL,
|
||||||
|
f2 VARCHAR(100),
|
||||||
|
f3 VARCHAR(50) as (f2) VIRTUAL,
|
||||||
|
INDEX idx(f3))ENGINE=InnoDB;
|
||||||
|
|
||||||
|
--echo # If varchar virtual column extension is allowed in the future then
|
||||||
|
--echo # InnoDB must rebuild the index
|
||||||
|
|
||||||
|
--error ER_UNSUPPORTED_ACTION_ON_GENERATED_COLUMN
|
||||||
|
ALTER TABLE t1 MODIFY f3 VARCHAR(100);
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
DROP PROCEDURE get_index_id;
|
||||||
|
DROP PROCEDURE get_table_id;
|
@@ -1388,7 +1388,7 @@ ALTER TABLE worklog5743 ADD PRIMARY KEY `pk_idx` (col_1_varchar(3000));
|
|||||||
ERROR 23000: Duplicate entry 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' for key 'PRIMARY'
|
ERROR 23000: Duplicate entry 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' for key 'PRIMARY'
|
||||||
DROP TABLE worklog5743;
|
DROP TABLE worklog5743;
|
||||||
set global innodb_large_prefix=0;
|
set global innodb_large_prefix=0;
|
||||||
ERROR HY000: Unknown system variable 'innodb_large_prefix'
|
ERROR HY000: Variable 'innodb_large_prefix' is a read only variable
|
||||||
CREATE TABLE worklog5743 (
|
CREATE TABLE worklog5743 (
|
||||||
col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
|
col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
|
||||||
PRIMARY KEY (col_1_varchar(3072))
|
PRIMARY KEY (col_1_varchar(3072))
|
||||||
|
@@ -1300,7 +1300,7 @@ ALTER TABLE worklog5743 ADD PRIMARY KEY `pk_idx` (col_1_varchar(3000));
|
|||||||
DROP TABLE worklog5743;
|
DROP TABLE worklog5743;
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
--error ER_UNKNOWN_SYSTEM_VARIABLE
|
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
|
||||||
set global innodb_large_prefix=0;
|
set global innodb_large_prefix=0;
|
||||||
CREATE TABLE worklog5743 (
|
CREATE TABLE worklog5743 (
|
||||||
col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
|
col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
|
||||||
|
@@ -0,0 +1,32 @@
|
|||||||
|
call mtr.add_suppression("InnoDB: New log files created");
|
||||||
|
CREATE TABLE t1(i INT) ENGINE INNODB;
|
||||||
|
CREATE TABLE t2(i INT PRIMARY KEY) ENGINE INNODB;
|
||||||
|
CREATE TABLE t3(i INT) ENGINE INNODB;
|
||||||
|
# Create full backup , modify table, then create incremental/differential backup
|
||||||
|
create table t4(f1 int not null, f2 int not null)engine=innodb;
|
||||||
|
insert into t4 values(1, 2), (2, 2), (3, 3), (5, 5), (6, 6), (4, 4), (9, 9);
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
rename table t4 to t7;
|
||||||
|
select count(*) from t7;
|
||||||
|
count(*)
|
||||||
|
7168
|
||||||
|
# XTRABACKUP INCREMENTAL
|
||||||
|
# XTRABACKUP PREPARE
|
||||||
|
# XTRABACKUP INCREMENTAL PREPARE
|
||||||
|
# shutdown server
|
||||||
|
# remove datadir
|
||||||
|
# xtrabackup move back
|
||||||
|
# restart server
|
||||||
|
select count(*) from t7;
|
||||||
|
count(*)
|
||||||
|
7168
|
||||||
|
drop table t1, t2, t7, t3;
|
@@ -0,0 +1,50 @@
|
|||||||
|
--source include/have_debug.inc
|
||||||
|
|
||||||
|
call mtr.add_suppression("InnoDB: New log files created");
|
||||||
|
|
||||||
|
let $basedir=$MYSQLTEST_VARDIR/tmp/backup;
|
||||||
|
let $incremental_dir=$MYSQLTEST_VARDIR/tmp/backup_inc1;
|
||||||
|
|
||||||
|
CREATE TABLE t1(i INT) ENGINE INNODB;
|
||||||
|
CREATE TABLE t2(i INT PRIMARY KEY) ENGINE INNODB;
|
||||||
|
CREATE TABLE t3(i INT) ENGINE INNODB;
|
||||||
|
|
||||||
|
echo # Create full backup , modify table, then create incremental/differential backup;
|
||||||
|
--disable_result_log
|
||||||
|
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
|
||||||
|
--enable_result_log
|
||||||
|
|
||||||
|
create table t4(f1 int not null, f2 int not null)engine=innodb;
|
||||||
|
insert into t4 values(1, 2), (2, 2), (3, 3), (5, 5), (6, 6), (4, 4), (9, 9);
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
insert into t4 select * from t4;
|
||||||
|
rename table t4 to t7;
|
||||||
|
select count(*) from t7;
|
||||||
|
|
||||||
|
--echo # XTRABACKUP INCREMENTAL
|
||||||
|
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$incremental_dir --incremental-basedir=$basedir;
|
||||||
|
|
||||||
|
--echo # XTRABACKUP PREPARE
|
||||||
|
exec $XTRABACKUP --apply-log-only --prepare --target-dir=$basedir;
|
||||||
|
|
||||||
|
--echo # XTRABACKUP INCREMENTAL PREPARE
|
||||||
|
exec $XTRABACKUP --prepare --target-dir=$basedir --incremental-dir=$incremental_dir;
|
||||||
|
|
||||||
|
let $targetdir=$basedir;
|
||||||
|
-- source include/restart_and_restore.inc
|
||||||
|
--enable_result_log
|
||||||
|
|
||||||
|
select count(*) from t7;
|
||||||
|
drop table t1, t2, t7, t3;
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
rmdir $basedir;
|
||||||
|
rmdir $incremental_dir;
|
@@ -7,6 +7,7 @@ COMMIT;
|
|||||||
SELECT count(*) FROM t;
|
SELECT count(*) FROM t;
|
||||||
count(*)
|
count(*)
|
||||||
100000
|
100000
|
||||||
|
FOUND 1 /Checksum mismatch in datafile/ in backup.log
|
||||||
# Prepare full backup, apply incremental one
|
# Prepare full backup, apply incremental one
|
||||||
# Restore and check results
|
# Restore and check results
|
||||||
# shutdown server
|
# shutdown server
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_debug.inc
|
||||||
call mtr.add_suppression("InnoDB: New log files created");
|
call mtr.add_suppression("InnoDB: New log files created");
|
||||||
|
|
||||||
let $basedir=$MYSQLTEST_VARDIR/tmp/backup;
|
let $basedir=$MYSQLTEST_VARDIR/tmp/backup;
|
||||||
@@ -9,16 +10,26 @@ echo # Create full backup , modify table, then create incremental/differential b
|
|||||||
--disable_result_log
|
--disable_result_log
|
||||||
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
|
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
|
||||||
--enable_result_log
|
--enable_result_log
|
||||||
|
|
||||||
BEGIN;
|
BEGIN;
|
||||||
INSERT INTO t select uuid(), uuid(), uuid(), uuid() from seq_1_to_100000;
|
INSERT INTO t select uuid(), uuid(), uuid(), uuid() from seq_1_to_100000;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
SELECT count(*) FROM t;
|
SELECT count(*) FROM t;
|
||||||
|
|
||||||
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$incremental_dir --incremental-basedir=$basedir;
|
let $backuplog=$MYSQLTEST_VARDIR/tmp/backup.log;
|
||||||
|
|
||||||
|
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$incremental_dir --incremental-basedir=$basedir --dbug=+d,page_intermittent_checksum_mismatch 2> $backuplog;
|
||||||
|
|
||||||
|
--let SEARCH_RANGE = 10000000
|
||||||
|
--let SEARCH_PATTERN=Checksum mismatch in datafile
|
||||||
|
--let SEARCH_FILE=$backuplog
|
||||||
|
--source include/search_pattern_in_file.inc
|
||||||
|
remove_file $backuplog;
|
||||||
|
|
||||||
--disable_result_log
|
--disable_result_log
|
||||||
echo # Prepare full backup, apply incremental one;
|
echo # Prepare full backup, apply incremental one;
|
||||||
exec $XTRABACKUP --prepare --verbose --apply-log-only --target-dir=$basedir;
|
exec $XTRABACKUP --prepare --verbose --apply-log-only --target-dir=$basedir;
|
||||||
|
|
||||||
exec $XTRABACKUP --prepare --verbose --apply-log-only --target-dir=$basedir --incremental-dir=$incremental_dir ;
|
exec $XTRABACKUP --prepare --verbose --apply-log-only --target-dir=$basedir --incremental-dir=$incremental_dir ;
|
||||||
|
|
||||||
echo # Restore and check results;
|
echo # Restore and check results;
|
||||||
@@ -36,7 +47,6 @@ exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --copy-back --datadir=
|
|||||||
echo # restart server;
|
echo # restart server;
|
||||||
--source include/start_mysqld.inc
|
--source include/start_mysqld.inc
|
||||||
|
|
||||||
|
|
||||||
--enable_result_log
|
--enable_result_log
|
||||||
SELECT count(*) FROM t;
|
SELECT count(*) FROM t;
|
||||||
DROP TABLE t;
|
DROP TABLE t;
|
||||||
|
@@ -904,6 +904,20 @@ NUMERIC_BLOCK_SIZE 0
|
|||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY YES
|
READ_ONLY YES
|
||||||
COMMAND_LINE_ARGUMENT REQUIRED
|
COMMAND_LINE_ARGUMENT REQUIRED
|
||||||
|
VARIABLE_NAME INNODB_FILE_FORMAT
|
||||||
|
SESSION_VALUE NULL
|
||||||
|
GLOBAL_VALUE
|
||||||
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
|
DEFAULT_VALUE
|
||||||
|
VARIABLE_SCOPE GLOBAL
|
||||||
|
VARIABLE_TYPE VARCHAR
|
||||||
|
VARIABLE_COMMENT Deprecated parameter with no effect.
|
||||||
|
NUMERIC_MIN_VALUE NULL
|
||||||
|
NUMERIC_MAX_VALUE NULL
|
||||||
|
NUMERIC_BLOCK_SIZE NULL
|
||||||
|
ENUM_VALUE_LIST NULL
|
||||||
|
READ_ONLY YES
|
||||||
|
COMMAND_LINE_ARGUMENT REQUIRED
|
||||||
VARIABLE_NAME INNODB_FILE_PER_TABLE
|
VARIABLE_NAME INNODB_FILE_PER_TABLE
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE ON
|
GLOBAL_VALUE ON
|
||||||
@@ -1296,6 +1310,20 @@ NUMERIC_BLOCK_SIZE 0
|
|||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT REQUIRED
|
COMMAND_LINE_ARGUMENT REQUIRED
|
||||||
|
VARIABLE_NAME INNODB_LARGE_PREFIX
|
||||||
|
SESSION_VALUE NULL
|
||||||
|
GLOBAL_VALUE
|
||||||
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
|
DEFAULT_VALUE
|
||||||
|
VARIABLE_SCOPE GLOBAL
|
||||||
|
VARIABLE_TYPE VARCHAR
|
||||||
|
VARIABLE_COMMENT Deprecated parameter with no effect.
|
||||||
|
NUMERIC_MIN_VALUE NULL
|
||||||
|
NUMERIC_MAX_VALUE NULL
|
||||||
|
NUMERIC_BLOCK_SIZE NULL
|
||||||
|
ENUM_VALUE_LIST NULL
|
||||||
|
READ_ONLY YES
|
||||||
|
COMMAND_LINE_ARGUMENT REQUIRED
|
||||||
VARIABLE_NAME INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG
|
VARIABLE_NAME INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE 0
|
GLOBAL_VALUE 0
|
||||||
|
17
mysql-test/suite/wsrep/r/wsrep-recover-v25,binlogon.rdiff
Normal file
17
mysql-test/suite/wsrep/r/wsrep-recover-v25,binlogon.rdiff
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
--- r/wsrep-recover-v25.result 2019-02-05 12:33:42.681586950 +0200
|
||||||
|
+++ r/wsrep-recover-v25.reject 2019-02-05 12:34:41.661752903 +0200
|
||||||
|
@@ -18,11 +18,10 @@
|
||||||
|
connection default;
|
||||||
|
SET DEBUG_SYNC = "now WAIT_FOR after_prepare_reached";
|
||||||
|
# Kill the server
|
||||||
|
-Expect seqno 7
|
||||||
|
-7
|
||||||
|
-Expect 5 7
|
||||||
|
+Expect seqno 6
|
||||||
|
+6
|
||||||
|
+Expect 5
|
||||||
|
SELECT * FROM t1;
|
||||||
|
f1
|
||||||
|
5
|
||||||
|
-7
|
||||||
|
DROP TABLE t1;
|
28
mysql-test/suite/wsrep/r/wsrep-recover-v25.result
Normal file
28
mysql-test/suite/wsrep/r/wsrep-recover-v25.result
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# Kill the server
|
||||||
|
Expect seqno 1
|
||||||
|
1
|
||||||
|
CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB;
|
||||||
|
# Kill the server
|
||||||
|
Expect seqno 3
|
||||||
|
3
|
||||||
|
INSERT INTO t1 VALUES (5);
|
||||||
|
# Kill the server
|
||||||
|
Expect seqno 5
|
||||||
|
5
|
||||||
|
SELECT VARIABLE_VALUE `expect 6` FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed';
|
||||||
|
expect 6
|
||||||
|
6
|
||||||
|
connect con1, localhost, root;
|
||||||
|
SET DEBUG_SYNC = "ha_commit_trans_after_prepare SIGNAL after_prepare_reached WAIT_FOR continue";
|
||||||
|
INSERT INTO t1 VALUES (7);
|
||||||
|
connection default;
|
||||||
|
SET DEBUG_SYNC = "now WAIT_FOR after_prepare_reached";
|
||||||
|
# Kill the server
|
||||||
|
Expect seqno 7
|
||||||
|
7
|
||||||
|
Expect 5 7
|
||||||
|
SELECT * FROM t1;
|
||||||
|
f1
|
||||||
|
5
|
||||||
|
7
|
||||||
|
DROP TABLE t1;
|
7
mysql-test/suite/wsrep/t/wsrep-recover-v25.cnf
Normal file
7
mysql-test/suite/wsrep/t/wsrep-recover-v25.cnf
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
!include ../my.cnf
|
||||||
|
|
||||||
|
[mysqld.1]
|
||||||
|
wsrep-on=ON
|
||||||
|
wsrep-cluster-address=gcomm://
|
||||||
|
wsrep-provider=@ENV.WSREP_PROVIDER
|
||||||
|
binlog-format=ROW
|
4
mysql-test/suite/wsrep/t/wsrep-recover-v25.combinations
Normal file
4
mysql-test/suite/wsrep/t/wsrep-recover-v25.combinations
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
[binlogon]
|
||||||
|
log-bin
|
||||||
|
|
||||||
|
[binlogoff]
|
121
mysql-test/suite/wsrep/t/wsrep-recover-v25.test
Normal file
121
mysql-test/suite/wsrep/t/wsrep-recover-v25.test
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
#
|
||||||
|
# Verify that the wsrep XID gets updated in InnoDB rollback segment
|
||||||
|
# properly and can be recovered with --wsrep-recover
|
||||||
|
#
|
||||||
|
# The test runs the following scenarios:
|
||||||
|
#
|
||||||
|
# 1) The server is started but no SQL is run
|
||||||
|
# 2) DDL is executed
|
||||||
|
# 3) INSERT is executed
|
||||||
|
# 4) Two INSERTs are executed so that the first one in order will be
|
||||||
|
# blocked after certification and the second one before entering
|
||||||
|
# commit order critical section.
|
||||||
|
# 5) Two DMLs are executed so that the prepare step is run out of order.
|
||||||
|
# Both transactions are blocked before commit order critical section.
|
||||||
|
#
|
||||||
|
# After each scenario server is killed and the recovered position
|
||||||
|
# is validated.
|
||||||
|
#
|
||||||
|
|
||||||
|
--source include/have_wsrep.inc
|
||||||
|
--source include/have_innodb.inc
|
||||||
|
--source include/have_wsrep_provider.inc
|
||||||
|
--source include/have_debug_sync.inc
|
||||||
|
|
||||||
|
#
|
||||||
|
# Binlog option for recovery run. This must be set in the test because
|
||||||
|
# combinations file causes log-bin option to be set from command line,
|
||||||
|
# not via my.cnf.
|
||||||
|
#
|
||||||
|
--let $log_bin = `SELECT @@log_bin`
|
||||||
|
if ($log_bin) {
|
||||||
|
--let $wsrep_recover_binlog_opt = --log-bin
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Scenario 1
|
||||||
|
# The expected recovered seqno is 1 corresponding to initial cluster
|
||||||
|
# configuration change.
|
||||||
|
#
|
||||||
|
--source include/kill_mysqld.inc
|
||||||
|
--source wsrep-recover-step.inc
|
||||||
|
--echo Expect seqno 1
|
||||||
|
--echo $wsrep_recover_start_position_seqno
|
||||||
|
|
||||||
|
--let $restart_parameters = --wsrep-start-position=$wsrep_recover_start_position_uuid:$wsrep_recover_start_position_seqno
|
||||||
|
--source include/start_mysqld.inc
|
||||||
|
--source include/wait_wsrep_ready.inc
|
||||||
|
|
||||||
|
#
|
||||||
|
# Senario 2
|
||||||
|
# The expected recovered seqno is 3 corresponding to two configuration
|
||||||
|
# changes and CREATE TABLE
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB;
|
||||||
|
--source include/kill_mysqld.inc
|
||||||
|
--source wsrep-recover-step.inc
|
||||||
|
--echo Expect seqno 3
|
||||||
|
--echo $wsrep_recover_start_position_seqno
|
||||||
|
|
||||||
|
--let $restart_parameters = --wsrep-start-position=$wsrep_recover_start_position_uuid:$wsrep_recover_start_position_seqno
|
||||||
|
--source include/start_mysqld.inc
|
||||||
|
--source include/wait_wsrep_ready.inc
|
||||||
|
|
||||||
|
#
|
||||||
|
# Scenario 3
|
||||||
|
# The expected recovered seqno is 5 corresponding to three configuration
|
||||||
|
# changes, CREATE TABLE and INSERT.
|
||||||
|
#
|
||||||
|
# The expected wsrep_last_committed after the server is restarted is 6.
|
||||||
|
#
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES (5);
|
||||||
|
--source include/kill_mysqld.inc
|
||||||
|
--source wsrep-recover-step.inc
|
||||||
|
--echo Expect seqno 5
|
||||||
|
--echo $wsrep_recover_start_position_seqno
|
||||||
|
--let $restart_parameters = --wsrep-start-position=$wsrep_recover_start_position_uuid:$wsrep_recover_start_position_seqno
|
||||||
|
--source include/start_mysqld.inc
|
||||||
|
--source include/wait_wsrep_ready.inc
|
||||||
|
|
||||||
|
SELECT VARIABLE_VALUE `expect 6` FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed';
|
||||||
|
|
||||||
|
#
|
||||||
|
# Scenario 4
|
||||||
|
#
|
||||||
|
# The INSERT gets prepared but not committed.
|
||||||
|
#
|
||||||
|
# If binlog is off, the expected outcome is that the INSERT gets committed
|
||||||
|
# since it is already committed in the cluster. If binlog is on, the INSERT
|
||||||
|
# should be rolled back during recovery phase since it has not yet
|
||||||
|
# been logged into binlog.
|
||||||
|
#
|
||||||
|
--connect con1, localhost, root
|
||||||
|
SET DEBUG_SYNC = "ha_commit_trans_after_prepare SIGNAL after_prepare_reached WAIT_FOR continue";
|
||||||
|
--send INSERT INTO t1 VALUES (7)
|
||||||
|
|
||||||
|
--connection default
|
||||||
|
SET DEBUG_SYNC = "now WAIT_FOR after_prepare_reached";
|
||||||
|
--source include/kill_mysqld.inc
|
||||||
|
--source wsrep-recover-step.inc
|
||||||
|
if ($log_bin) {
|
||||||
|
--echo Expect seqno 6
|
||||||
|
}
|
||||||
|
if (!$log_bin) {
|
||||||
|
--echo Expect seqno 7
|
||||||
|
}
|
||||||
|
--echo $wsrep_recover_start_position_seqno
|
||||||
|
--let $restart_parameters = --wsrep-start-position=$wsrep_recover_start_position_uuid:$wsrep_recover_start_position_seqno
|
||||||
|
--source include/start_mysqld.inc
|
||||||
|
--source include/wait_wsrep_ready.inc
|
||||||
|
|
||||||
|
if ($log_bin) {
|
||||||
|
--echo Expect 5
|
||||||
|
}
|
||||||
|
if (!$log_bin) {
|
||||||
|
--echo Expect 5 7
|
||||||
|
}
|
||||||
|
SELECT * FROM t1;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
@@ -2112,7 +2112,10 @@ static my_bool xarecover_handlerton(THD *unused, plugin_ref plugin,
|
|||||||
info->found_foreign_xids++;
|
info->found_foreign_xids++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (info->dry_run)
|
if (IF_WSREP(!(wsrep_emulate_bin_log &&
|
||||||
|
wsrep_is_wsrep_xid(info->list + i) &&
|
||||||
|
x <= wsrep_limit) && info->dry_run,
|
||||||
|
info->dry_run))
|
||||||
{
|
{
|
||||||
info->found_my_xids++;
|
info->found_my_xids++;
|
||||||
continue;
|
continue;
|
||||||
|
@@ -736,6 +736,11 @@ typedef ulonglong alter_table_operations;
|
|||||||
*/
|
*/
|
||||||
#define ALTER_PARTITIONED (1ULL << 59)
|
#define ALTER_PARTITIONED (1ULL << 59)
|
||||||
|
|
||||||
|
/**
|
||||||
|
Change in index length such that it doesn't require index rebuild.
|
||||||
|
*/
|
||||||
|
#define ALTER_COLUMN_INDEX_LENGTH (1ULL << 60)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Flags set in partition_flags when altering partitions
|
Flags set in partition_flags when altering partitions
|
||||||
*/
|
*/
|
||||||
|
@@ -1589,7 +1589,7 @@ static my_bool kill_all_threads_once_again(THD *thd, void *)
|
|||||||
*/
|
*/
|
||||||
THD *save_thd= current_thd;
|
THD *save_thd= current_thd;
|
||||||
set_current_thd(thd);
|
set_current_thd(thd);
|
||||||
close_connection(thd, ER_SERVER_SHUTDOWN);
|
close_connection(thd);
|
||||||
set_current_thd(save_thd);
|
set_current_thd(save_thd);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -857,6 +857,7 @@ THD::THD(my_thread_id id, bool is_wsrep_applier, bool skip_global_sys_var_lock)
|
|||||||
prepare_derived_at_open= FALSE;
|
prepare_derived_at_open= FALSE;
|
||||||
create_tmp_table_for_derived= FALSE;
|
create_tmp_table_for_derived= FALSE;
|
||||||
save_prep_leaf_list= FALSE;
|
save_prep_leaf_list= FALSE;
|
||||||
|
org_charset= 0;
|
||||||
/* Restore THR_THD */
|
/* Restore THR_THD */
|
||||||
set_current_thd(old_THR_THD);
|
set_current_thd(old_THR_THD);
|
||||||
}
|
}
|
||||||
|
@@ -2380,6 +2380,9 @@ public:
|
|||||||
uint dbug_sentry; // watch out for memory corruption
|
uint dbug_sentry; // watch out for memory corruption
|
||||||
#endif
|
#endif
|
||||||
struct st_my_thread_var *mysys_var;
|
struct st_my_thread_var *mysys_var;
|
||||||
|
|
||||||
|
/* Original charset number from the first client packet, or COM_CHANGE_USER*/
|
||||||
|
CHARSET_INFO *org_charset;
|
||||||
private:
|
private:
|
||||||
/*
|
/*
|
||||||
Type of current query: COM_STMT_PREPARE, COM_QUERY, etc. Set from
|
Type of current query: COM_STMT_PREPARE, COM_QUERY, etc. Set from
|
||||||
|
@@ -800,6 +800,7 @@ bool thd_init_client_charset(THD *thd, uint cs_number)
|
|||||||
cs->csname);
|
cs->csname);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
thd->org_charset= cs;
|
||||||
thd->update_charset(cs,cs,cs);
|
thd->update_charset(cs,cs,cs);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@@ -1089,8 +1089,12 @@ static bool find_db_tables_and_rm_known_files(THD *thd, MY_DIR *dirp,
|
|||||||
table_list->table_name= *table;
|
table_list->table_name= *table;
|
||||||
table_list->open_type= OT_BASE_ONLY;
|
table_list->open_type= OT_BASE_ONLY;
|
||||||
|
|
||||||
/* To be able to correctly look up the table in the table cache. */
|
/*
|
||||||
if (lower_case_table_names)
|
On the case-insensitive file systems table is opened
|
||||||
|
with the lowercased file name. So we should lowercase
|
||||||
|
as well to look up the cache properly.
|
||||||
|
*/
|
||||||
|
if (lower_case_file_system)
|
||||||
table_list->table_name.length= my_casedn_str(files_charset_info,
|
table_list->table_name.length= my_casedn_str(files_charset_info,
|
||||||
(char*) table_list->table_name.str);
|
(char*) table_list->table_name.str);
|
||||||
|
|
||||||
|
@@ -1653,6 +1653,9 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||||||
thd->status_var.com_other++;
|
thd->status_var.com_other++;
|
||||||
thd->change_user();
|
thd->change_user();
|
||||||
thd->clear_error(); // if errors from rollback
|
thd->clear_error(); // if errors from rollback
|
||||||
|
/* Restore original charset from client authentication packet.*/
|
||||||
|
if(thd->org_charset)
|
||||||
|
thd->update_charset(thd->org_charset,thd->org_charset,thd->org_charset);
|
||||||
my_ok(thd, 0, 0, 0);
|
my_ok(thd, 0, 0, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -6474,7 +6474,7 @@ static bool fill_alter_inplace_info(THD *thd,
|
|||||||
bool varchar,
|
bool varchar,
|
||||||
Alter_inplace_info *ha_alter_info)
|
Alter_inplace_info *ha_alter_info)
|
||||||
{
|
{
|
||||||
Field **f_ptr, *field;
|
Field **f_ptr, *field, *old_field;
|
||||||
List_iterator_fast<Create_field> new_field_it;
|
List_iterator_fast<Create_field> new_field_it;
|
||||||
Create_field *new_field;
|
Create_field *new_field;
|
||||||
KEY_PART_INFO *key_part, *new_part;
|
KEY_PART_INFO *key_part, *new_part;
|
||||||
@@ -6773,6 +6773,7 @@ static bool fill_alter_inplace_info(THD *thd,
|
|||||||
Go through keys and check if the original ones are compatible
|
Go through keys and check if the original ones are compatible
|
||||||
with new table.
|
with new table.
|
||||||
*/
|
*/
|
||||||
|
uint old_field_len= 0;
|
||||||
KEY *table_key;
|
KEY *table_key;
|
||||||
KEY *table_key_end= table->key_info + table->s->keys;
|
KEY *table_key_end= table->key_info + table->s->keys;
|
||||||
KEY *new_key;
|
KEY *new_key;
|
||||||
@@ -6838,17 +6839,34 @@ static bool fill_alter_inplace_info(THD *thd,
|
|||||||
key_part < end;
|
key_part < end;
|
||||||
key_part++, new_part++)
|
key_part++, new_part++)
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
Key definition has changed if we are using a different field or
|
|
||||||
if the used key part length is different. It makes sense to
|
|
||||||
check lengths first as in case when fields differ it is likely
|
|
||||||
that lengths differ too and checking fields is more expensive
|
|
||||||
in general case.
|
|
||||||
*/
|
|
||||||
if (key_part->length != new_part->length)
|
|
||||||
goto index_changed;
|
|
||||||
|
|
||||||
new_field= get_field_by_index(alter_info, new_part->fieldnr);
|
new_field= get_field_by_index(alter_info, new_part->fieldnr);
|
||||||
|
old_field= table->field[key_part->fieldnr - 1];
|
||||||
|
/*
|
||||||
|
If there is a change in index length due to column expansion
|
||||||
|
like varchar(X) changed to varchar(X + N) and has a compatible
|
||||||
|
packed data representation, we mark it for fast/INPLACE change
|
||||||
|
in index definition. InnoDB supports INPLACE for this cases
|
||||||
|
|
||||||
|
Key definition has changed if we are using a different field or
|
||||||
|
if the user key part length is different.
|
||||||
|
*/
|
||||||
|
old_field_len= old_field->pack_length();
|
||||||
|
|
||||||
|
if (old_field->type() == MYSQL_TYPE_VARCHAR)
|
||||||
|
{
|
||||||
|
old_field_len= (old_field->pack_length()
|
||||||
|
- ((Field_varstring*) old_field)->length_bytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (key_part->length == old_field_len &&
|
||||||
|
key_part->length < new_part->length &&
|
||||||
|
(key_part->field->is_equal((Create_field*) new_field)
|
||||||
|
== IS_EQUAL_PACK_LENGTH))
|
||||||
|
{
|
||||||
|
ha_alter_info->handler_flags |= ALTER_COLUMN_INDEX_LENGTH;
|
||||||
|
}
|
||||||
|
else if (key_part->length != new_part->length)
|
||||||
|
goto index_changed;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
For prefix keys KEY_PART_INFO::field points to cloned Field
|
For prefix keys KEY_PART_INFO::field points to cloned Field
|
||||||
|
@@ -1064,6 +1064,13 @@ buf_page_is_corrupted(
|
|||||||
|
|
||||||
if (srv_checksum_algorithm
|
if (srv_checksum_algorithm
|
||||||
== SRV_CHECKSUM_ALGORITHM_CRC32) {
|
== SRV_CHECKSUM_ALGORITHM_CRC32) {
|
||||||
|
DBUG_EXECUTE_IF(
|
||||||
|
"page_intermittent_checksum_mismatch", {
|
||||||
|
static int page_counter;
|
||||||
|
if (page_counter++ == 2) {
|
||||||
|
checksum_field2++;
|
||||||
|
}
|
||||||
|
});
|
||||||
crc32 = buf_calc_page_crc32(read_buf);
|
crc32 = buf_calc_page_crc32(read_buf);
|
||||||
crc32_inited = true;
|
crc32_inited = true;
|
||||||
|
|
||||||
|
@@ -910,7 +910,7 @@ fil_space_extend_must_retry(
|
|||||||
we have set the node->being_extended flag. */
|
we have set the node->being_extended flag. */
|
||||||
mutex_exit(&fil_system.mutex);
|
mutex_exit(&fil_system.mutex);
|
||||||
|
|
||||||
ut_ad(size > space->size);
|
ut_ad(size >= space->size);
|
||||||
|
|
||||||
ulint last_page_no = space->size;
|
ulint last_page_no = space->size;
|
||||||
const ulint file_start_page_no = last_page_no - node->size;
|
const ulint file_start_page_no = last_page_no - node->size;
|
||||||
|
@@ -190,6 +190,11 @@ static char* innobase_reset_all_monitor_counter;
|
|||||||
|
|
||||||
static ulong innodb_flush_method;
|
static ulong innodb_flush_method;
|
||||||
|
|
||||||
|
/** Deprecated; no effect other than issuing a deprecation warning. */
|
||||||
|
static char* innodb_file_format;
|
||||||
|
/** Deprecated; no effect other than issuing a deprecation warning. */
|
||||||
|
static char* innodb_large_prefix;
|
||||||
|
|
||||||
/* This variable can be set in the server configure file, specifying
|
/* This variable can be set in the server configure file, specifying
|
||||||
stopword table to be used */
|
stopword table to be used */
|
||||||
static char* innobase_server_stopword_table;
|
static char* innobase_server_stopword_table;
|
||||||
@@ -3689,6 +3694,17 @@ static int innodb_init_params()
|
|||||||
char *default_path;
|
char *default_path;
|
||||||
ulong num_pll_degree;
|
ulong num_pll_degree;
|
||||||
|
|
||||||
|
if (innodb_large_prefix || innodb_file_format) {
|
||||||
|
const char* p = innodb_file_format
|
||||||
|
? "file_format"
|
||||||
|
: "large_prefix";
|
||||||
|
sql_print_warning("The parameter innodb_%s is deprecated"
|
||||||
|
" and has no effect."
|
||||||
|
" It may be removed in future releases."
|
||||||
|
" See https://mariadb.com/kb/en/library/"
|
||||||
|
"xtradbinnodb-file-format/", p);
|
||||||
|
}
|
||||||
|
|
||||||
/* Check that values don't overflow on 32-bit systems. */
|
/* Check that values don't overflow on 32-bit systems. */
|
||||||
if (sizeof(ulint) == 4) {
|
if (sizeof(ulint) == 4) {
|
||||||
if (innobase_buffer_pool_size > UINT_MAX32) {
|
if (innobase_buffer_pool_size > UINT_MAX32) {
|
||||||
@@ -18859,6 +18875,13 @@ static MYSQL_SYSVAR_ENUM(flush_method, innodb_flush_method,
|
|||||||
NULL, NULL, IF_WIN(SRV_ALL_O_DIRECT_FSYNC, SRV_FSYNC),
|
NULL, NULL, IF_WIN(SRV_ALL_O_DIRECT_FSYNC, SRV_FSYNC),
|
||||||
&innodb_flush_method_typelib);
|
&innodb_flush_method_typelib);
|
||||||
|
|
||||||
|
static MYSQL_SYSVAR_STR(file_format, innodb_file_format,
|
||||||
|
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
|
||||||
|
"Deprecated parameter with no effect.", NULL, NULL, NULL);
|
||||||
|
static MYSQL_SYSVAR_STR(large_prefix, innodb_large_prefix,
|
||||||
|
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
|
||||||
|
"Deprecated parameter with no effect.", NULL, NULL, NULL);
|
||||||
|
|
||||||
static MYSQL_SYSVAR_BOOL(force_load_corrupted, srv_load_corrupted,
|
static MYSQL_SYSVAR_BOOL(force_load_corrupted, srv_load_corrupted,
|
||||||
PLUGIN_VAR_NOCMDARG | PLUGIN_VAR_READONLY,
|
PLUGIN_VAR_NOCMDARG | PLUGIN_VAR_READONLY,
|
||||||
"Force InnoDB to load metadata of corrupted table.",
|
"Force InnoDB to load metadata of corrupted table.",
|
||||||
@@ -19903,6 +19926,7 @@ static struct st_mysql_sys_var* innobase_system_variables[]= {
|
|||||||
MYSQL_SYSVAR(read_io_threads),
|
MYSQL_SYSVAR(read_io_threads),
|
||||||
MYSQL_SYSVAR(write_io_threads),
|
MYSQL_SYSVAR(write_io_threads),
|
||||||
MYSQL_SYSVAR(file_per_table),
|
MYSQL_SYSVAR(file_per_table),
|
||||||
|
MYSQL_SYSVAR(file_format), /* deprecated in MariaDB 10.2; no effect */
|
||||||
MYSQL_SYSVAR(flush_log_at_timeout),
|
MYSQL_SYSVAR(flush_log_at_timeout),
|
||||||
MYSQL_SYSVAR(flush_log_at_trx_commit),
|
MYSQL_SYSVAR(flush_log_at_trx_commit),
|
||||||
MYSQL_SYSVAR(flush_method),
|
MYSQL_SYSVAR(flush_method),
|
||||||
@@ -19916,6 +19940,7 @@ static struct st_mysql_sys_var* innobase_system_variables[]= {
|
|||||||
MYSQL_SYSVAR(ft_min_token_size),
|
MYSQL_SYSVAR(ft_min_token_size),
|
||||||
MYSQL_SYSVAR(ft_num_word_optimize),
|
MYSQL_SYSVAR(ft_num_word_optimize),
|
||||||
MYSQL_SYSVAR(ft_sort_pll_degree),
|
MYSQL_SYSVAR(ft_sort_pll_degree),
|
||||||
|
MYSQL_SYSVAR(large_prefix), /* deprecated in MariaDB 10.2; no effect */
|
||||||
MYSQL_SYSVAR(force_load_corrupted),
|
MYSQL_SYSVAR(force_load_corrupted),
|
||||||
MYSQL_SYSVAR(lock_schedule_algorithm),
|
MYSQL_SYSVAR(lock_schedule_algorithm),
|
||||||
MYSQL_SYSVAR(locks_unsafe_for_binlog),
|
MYSQL_SYSVAR(locks_unsafe_for_binlog),
|
||||||
|
@@ -106,7 +106,8 @@ static const alter_table_operations INNOBASE_INPLACE_IGNORE
|
|||||||
| ALTER_COLUMN_STORAGE_TYPE
|
| ALTER_COLUMN_STORAGE_TYPE
|
||||||
| ALTER_VIRTUAL_GCOL_EXPR
|
| ALTER_VIRTUAL_GCOL_EXPR
|
||||||
| ALTER_DROP_CHECK_CONSTRAINT
|
| ALTER_DROP_CHECK_CONSTRAINT
|
||||||
| ALTER_RENAME;
|
| ALTER_RENAME
|
||||||
|
| ALTER_COLUMN_INDEX_LENGTH;
|
||||||
|
|
||||||
/** Operations on foreign key definitions (changing the schema only) */
|
/** Operations on foreign key definitions (changing the schema only) */
|
||||||
static const alter_table_operations INNOBASE_FOREIGN_OPERATIONS
|
static const alter_table_operations INNOBASE_FOREIGN_OPERATIONS
|
||||||
|
@@ -314,6 +314,25 @@ public:
|
|||||||
return(m_last_os_error);
|
return(m_last_os_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Check whether the file is empty.
|
||||||
|
@return true if file is empty */
|
||||||
|
bool is_empty_file() const
|
||||||
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
|
os_offset_t offset =
|
||||||
|
(os_offset_t) m_file_info.nFileSizeLow
|
||||||
|
| ((os_offset_t) m_file_info.nFileSizeHigh << 32);
|
||||||
|
|
||||||
|
return (offset == 0);
|
||||||
|
#else
|
||||||
|
return (m_file_info.st_size == 0);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Check if the file exist.
|
||||||
|
@return true if file exists. */
|
||||||
|
bool exists() const { return m_exists; }
|
||||||
|
|
||||||
/** Test if the filepath provided looks the same as this filepath
|
/** Test if the filepath provided looks the same as this filepath
|
||||||
by string comparison. If they are two different paths to the same
|
by string comparison. If they are two different paths to the same
|
||||||
file, same_as() will be used to show that after the files are opened.
|
file, same_as() will be used to show that after the files are opened.
|
||||||
|
@@ -151,9 +151,13 @@ struct file_name_t {
|
|||||||
/** Status of the tablespace */
|
/** Status of the tablespace */
|
||||||
fil_status status;
|
fil_status status;
|
||||||
|
|
||||||
|
/** FSP_SIZE of tablespace */
|
||||||
|
ulint size;
|
||||||
|
|
||||||
/** Constructor */
|
/** Constructor */
|
||||||
file_name_t(std::string name_, bool deleted) :
|
file_name_t(std::string name_, bool deleted) :
|
||||||
name(name_), space(NULL), status(deleted ? DELETED: NORMAL) {}
|
name(name_), space(NULL), status(deleted ? DELETED: NORMAL),
|
||||||
|
size(0) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Map of dirty tablespaces during recovery */
|
/** Map of dirty tablespaces during recovery */
|
||||||
@@ -321,6 +325,11 @@ fil_name_process(
|
|||||||
ut_ad(space != NULL);
|
ut_ad(space != NULL);
|
||||||
|
|
||||||
if (f.space == NULL || f.space == space) {
|
if (f.space == NULL || f.space == space) {
|
||||||
|
|
||||||
|
if (f.size && f.space == NULL) {
|
||||||
|
fil_space_set_recv_size(space->id, f.size);
|
||||||
|
}
|
||||||
|
|
||||||
f.name = fname.name;
|
f.name = fname.name;
|
||||||
f.space = space;
|
f.space = space;
|
||||||
f.status = file_name_t::NORMAL;
|
f.status = file_name_t::NORMAL;
|
||||||
@@ -2249,11 +2258,24 @@ recv_parse_log_rec(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (*page_no == 0 && *type == MLOG_4BYTES
|
if (*page_no == 0 && *type == MLOG_4BYTES
|
||||||
|
&& apply
|
||||||
&& mach_read_from_2(old_ptr) == FSP_HEADER_OFFSET + FSP_SIZE) {
|
&& mach_read_from_2(old_ptr) == FSP_HEADER_OFFSET + FSP_SIZE) {
|
||||||
old_ptr += 2;
|
old_ptr += 2;
|
||||||
fil_space_set_recv_size(*space,
|
|
||||||
mach_parse_compressed(&old_ptr,
|
ulint size = mach_parse_compressed(&old_ptr, end_ptr);
|
||||||
end_ptr));
|
|
||||||
|
recv_spaces_t::iterator it = recv_spaces.find(*space);
|
||||||
|
|
||||||
|
ut_ad(!recv_sys->mlog_checkpoint_lsn
|
||||||
|
|| *space == TRX_SYS_SPACE
|
||||||
|
|| srv_is_undo_tablespace(*space)
|
||||||
|
|| it != recv_spaces.end());
|
||||||
|
|
||||||
|
if (it != recv_spaces.end() && !it->second.space) {
|
||||||
|
it->second.size = size;
|
||||||
|
}
|
||||||
|
|
||||||
|
fil_space_set_recv_size(*space, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ulint(new_ptr - ptr);
|
return ulint(new_ptr - ptr);
|
||||||
|
@@ -18,7 +18,7 @@ SET(SPIDER_SOURCES
|
|||||||
spd_table.cc spd_direct_sql.cc spd_udf.cc spd_ping_table.cc
|
spd_table.cc spd_direct_sql.cc spd_udf.cc spd_ping_table.cc
|
||||||
spd_copy_tables.cc spd_i_s.cc spd_malloc.cc ha_spider.cc spd_udf.def
|
spd_copy_tables.cc spd_i_s.cc spd_malloc.cc ha_spider.cc spd_udf.def
|
||||||
spd_db_mysql.cc spd_db_handlersocket.cc spd_db_oracle.cc
|
spd_db_mysql.cc spd_db_handlersocket.cc spd_db_oracle.cc
|
||||||
spd_group_by_handler.cc
|
spd_group_by_handler.cc spd_db_include.cc
|
||||||
hs_client/config.cpp hs_client/escape.cpp hs_client/fatal.cpp
|
hs_client/config.cpp hs_client/escape.cpp hs_client/fatal.cpp
|
||||||
hs_client/hstcpcli.cpp hs_client/socket.cpp hs_client/string_util.cpp
|
hs_client/hstcpcli.cpp hs_client/socket.cpp hs_client/string_util.cpp
|
||||||
)
|
)
|
||||||
|
@@ -0,0 +1,14 @@
|
|||||||
|
--let $MASTER_1_COMMENT_2_1= $MASTER_1_COMMENT_2_1_BACKUP
|
||||||
|
--let $CHILD2_1_DROP_TABLES= $CHILD2_1_DROP_TABLES_BACKUP
|
||||||
|
--let $CHILD2_1_CREATE_TABLES= $CHILD2_1_CREATE_TABLES_BACKUP
|
||||||
|
--let $CHILD2_1_SELECT_TABLES= $CHILD2_1_SELECT_TABLES_BACKUP
|
||||||
|
--connection master_1
|
||||||
|
set session spider_quick_mode= @old_spider_quick_mode;
|
||||||
|
set session spider_quick_page_size= @old_spider_quick_page_size;
|
||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../t/test_deinit.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
@@ -0,0 +1,29 @@
|
|||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../t/test_init.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
||||||
|
--let $MASTER_1_COMMENT_2_1_BACKUP= $MASTER_1_COMMENT_2_1
|
||||||
|
let $MASTER_1_COMMENT_2_1=
|
||||||
|
COMMENT='table "tbl_a", srv "s_2_1"';
|
||||||
|
--let $CHILD2_1_DROP_TABLES_BACKUP= $CHILD2_1_DROP_TABLES
|
||||||
|
let $CHILD2_1_DROP_TABLES=
|
||||||
|
DROP TABLE IF EXISTS tbl_a;
|
||||||
|
--let $CHILD2_1_CREATE_TABLES_BACKUP= $CHILD2_1_CREATE_TABLES
|
||||||
|
let $CHILD2_1_CREATE_TABLES=
|
||||||
|
CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $CHILD2_1_ENGINE $CHILD2_1_CHARSET;
|
||||||
|
--let $CHILD2_1_SELECT_TABLES_BACKUP= $CHILD2_1_SELECT_TABLES
|
||||||
|
let $CHILD2_1_SELECT_TABLES=
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
let $CHILD2_1_SELECT_ARGUMENT1=
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
--connection master_1
|
||||||
|
set @old_spider_quick_mode= @@spider_quick_mode;
|
||||||
|
set session spider_quick_mode= 3;
|
||||||
|
set @old_spider_quick_page_size= @@spider_quick_page_size;
|
||||||
|
set session spider_quick_page_size= 3;
|
@@ -0,0 +1,7 @@
|
|||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../t/test_deinit.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
@@ -0,0 +1,9 @@
|
|||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../t/test_init.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
||||||
|
let $DIRECT_SQL_COMMAND=
|
||||||
|
SELECT spider_direct_sql('SELECT 22', 'tmp_a', 'srv "s_2_1", database "test"');
|
@@ -0,0 +1,19 @@
|
|||||||
|
--let $MASTER_1_COMMENT_2_1= $MASTER_1_COMMENT_2_1_BACKUP
|
||||||
|
--let $MASTER_1_COMMENT_2_2= $MASTER_1_COMMENT_2_2_BACKUP
|
||||||
|
--let $CHILD2_1_DROP_TABLES= $CHILD2_1_DROP_TABLES_BACKUP
|
||||||
|
--let $CHILD2_1_CREATE_TABLES= $CHILD2_1_CREATE_TABLES_BACKUP
|
||||||
|
--let $CHILD2_1_SELECT_TABLES= $CHILD2_1_SELECT_TABLES_BACKUP
|
||||||
|
--let $CHILD2_2_DROP_TABLES= $CHILD2_2_DROP_TABLES_BACKUP
|
||||||
|
--let $CHILD2_2_CREATE_TABLES= $CHILD2_2_CREATE_TABLES_BACKUP
|
||||||
|
--let $CHILD2_2_SELECT_TABLES= $CHILD2_2_SELECT_TABLES_BACKUP
|
||||||
|
--connection master_1
|
||||||
|
set session spider_quick_mode= @old_spider_quick_mode;
|
||||||
|
set session spider_quick_page_size= @old_spider_quick_page_size;
|
||||||
|
set session spider_quick_page_byte= @old_spider_quick_page_byte;
|
||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../t/test_deinit.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
@@ -0,0 +1,51 @@
|
|||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../t/test_init.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
||||||
|
--let $MASTER_1_COMMENT_2_1_BACKUP= $MASTER_1_COMMENT_2_1
|
||||||
|
let $MASTER_1_COMMENT_2_1=
|
||||||
|
COMMENT='table "tbl_a", srv "s_2_1"';
|
||||||
|
--let $MASTER_1_COMMENT_2_2_BACKUP= $MASTER_1_COMMENT_2_2
|
||||||
|
let $MASTER_1_COMMENT_2_2=
|
||||||
|
COMMENT='table "tbl_b", srv "s_2_2"';
|
||||||
|
--let $CHILD2_1_DROP_TABLES_BACKUP= $CHILD2_1_DROP_TABLES
|
||||||
|
let $CHILD2_1_DROP_TABLES=
|
||||||
|
DROP TABLE IF EXISTS tbl_a;
|
||||||
|
--let $CHILD2_1_CREATE_TABLES_BACKUP= $CHILD2_1_CREATE_TABLES
|
||||||
|
let $CHILD2_1_CREATE_TABLES=
|
||||||
|
CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $CHILD2_1_ENGINE $CHILD2_1_CHARSET;
|
||||||
|
--let $CHILD2_1_SELECT_TABLES_BACKUP= $CHILD2_1_SELECT_TABLES
|
||||||
|
let $CHILD2_1_SELECT_TABLES=
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
let $CHILD2_1_SELECT_ARGUMENT1=
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
--let $CHILD2_2_DROP_TABLES_BACKUP= $CHILD2_2_DROP_TABLES
|
||||||
|
let $CHILD2_2_DROP_TABLES=
|
||||||
|
DROP TABLE IF EXISTS tbl_b;
|
||||||
|
--let $CHILD2_2_CREATE_TABLES_BACKUP= $CHILD2_2_CREATE_TABLES
|
||||||
|
let $CHILD2_2_CREATE_TABLES=
|
||||||
|
CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $CHILD2_2_ENGINE $CHILD2_2_CHARSET;
|
||||||
|
--let $CHILD2_2_SELECT_TABLES_BACKUP= $CHILD2_2_SELECT_TABLES
|
||||||
|
let $CHILD2_2_SELECT_TABLES=
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
let $CHILD2_2_SELECT_ARGUMENT1=
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
--connection master_1
|
||||||
|
set @old_spider_quick_mode= @@spider_quick_mode;
|
||||||
|
set session spider_quick_mode= 0;
|
||||||
|
set @old_spider_quick_page_size= @@spider_quick_page_size;
|
||||||
|
set session spider_quick_page_size= 3;
|
||||||
|
set @old_spider_quick_page_byte= @@spider_quick_page_byte;
|
||||||
|
let $MASTER_1_SET_QUICK_PAGE_BYTE_6=
|
||||||
|
set session spider_quick_page_byte= 6;
|
||||||
|
let $MASTER_1_SET_QUICK_PAGE_BYTE_0=
|
||||||
|
set session spider_quick_page_byte= 0;
|
@@ -0,0 +1,19 @@
|
|||||||
|
--let $MASTER_1_COMMENT_2_1= $MASTER_1_COMMENT_2_1_BACKUP
|
||||||
|
--let $MASTER_1_COMMENT_2_2= $MASTER_1_COMMENT_2_2_BACKUP
|
||||||
|
--let $CHILD2_1_DROP_TABLES= $CHILD2_1_DROP_TABLES_BACKUP
|
||||||
|
--let $CHILD2_1_CREATE_TABLES= $CHILD2_1_CREATE_TABLES_BACKUP
|
||||||
|
--let $CHILD2_1_SELECT_TABLES= $CHILD2_1_SELECT_TABLES_BACKUP
|
||||||
|
--let $CHILD2_2_DROP_TABLES= $CHILD2_2_DROP_TABLES_BACKUP
|
||||||
|
--let $CHILD2_2_CREATE_TABLES= $CHILD2_2_CREATE_TABLES_BACKUP
|
||||||
|
--let $CHILD2_2_SELECT_TABLES= $CHILD2_2_SELECT_TABLES_BACKUP
|
||||||
|
--connection master_1
|
||||||
|
set session spider_quick_mode= @old_spider_quick_mode;
|
||||||
|
set session spider_quick_page_size= @old_spider_quick_page_size;
|
||||||
|
set session spider_quick_page_byte= @old_spider_quick_page_byte;
|
||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../t/test_deinit.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
@@ -0,0 +1,51 @@
|
|||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../t/test_init.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
||||||
|
--let $MASTER_1_COMMENT_2_1_BACKUP= $MASTER_1_COMMENT_2_1
|
||||||
|
let $MASTER_1_COMMENT_2_1=
|
||||||
|
COMMENT='table "tbl_a", srv "s_2_1"';
|
||||||
|
--let $MASTER_1_COMMENT_2_2_BACKUP= $MASTER_1_COMMENT_2_2
|
||||||
|
let $MASTER_1_COMMENT_2_2=
|
||||||
|
COMMENT='table "tbl_b", srv "s_2_2"';
|
||||||
|
--let $CHILD2_1_DROP_TABLES_BACKUP= $CHILD2_1_DROP_TABLES
|
||||||
|
let $CHILD2_1_DROP_TABLES=
|
||||||
|
DROP TABLE IF EXISTS tbl_a;
|
||||||
|
--let $CHILD2_1_CREATE_TABLES_BACKUP= $CHILD2_1_CREATE_TABLES
|
||||||
|
let $CHILD2_1_CREATE_TABLES=
|
||||||
|
CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $CHILD2_1_ENGINE $CHILD2_1_CHARSET;
|
||||||
|
--let $CHILD2_1_SELECT_TABLES_BACKUP= $CHILD2_1_SELECT_TABLES
|
||||||
|
let $CHILD2_1_SELECT_TABLES=
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
let $CHILD2_1_SELECT_ARGUMENT1=
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
--let $CHILD2_2_DROP_TABLES_BACKUP= $CHILD2_2_DROP_TABLES
|
||||||
|
let $CHILD2_2_DROP_TABLES=
|
||||||
|
DROP TABLE IF EXISTS tbl_b;
|
||||||
|
--let $CHILD2_2_CREATE_TABLES_BACKUP= $CHILD2_2_CREATE_TABLES
|
||||||
|
let $CHILD2_2_CREATE_TABLES=
|
||||||
|
CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $CHILD2_2_ENGINE $CHILD2_2_CHARSET;
|
||||||
|
--let $CHILD2_2_SELECT_TABLES_BACKUP= $CHILD2_2_SELECT_TABLES
|
||||||
|
let $CHILD2_2_SELECT_TABLES=
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
let $CHILD2_2_SELECT_ARGUMENT1=
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
--connection master_1
|
||||||
|
set @old_spider_quick_mode= @@spider_quick_mode;
|
||||||
|
set session spider_quick_mode= 1;
|
||||||
|
set @old_spider_quick_page_size= @@spider_quick_page_size;
|
||||||
|
set session spider_quick_page_size= 3;
|
||||||
|
set @old_spider_quick_page_byte= @@spider_quick_page_byte;
|
||||||
|
let $MASTER_1_SET_QUICK_PAGE_BYTE_6=
|
||||||
|
set session spider_quick_page_byte= 6;
|
||||||
|
let $MASTER_1_SET_QUICK_PAGE_BYTE_0=
|
||||||
|
set session spider_quick_page_byte= 0;
|
@@ -0,0 +1,19 @@
|
|||||||
|
--let $MASTER_1_COMMENT_2_1= $MASTER_1_COMMENT_2_1_BACKUP
|
||||||
|
--let $MASTER_1_COMMENT_2_2= $MASTER_1_COMMENT_2_2_BACKUP
|
||||||
|
--let $CHILD2_1_DROP_TABLES= $CHILD2_1_DROP_TABLES_BACKUP
|
||||||
|
--let $CHILD2_1_CREATE_TABLES= $CHILD2_1_CREATE_TABLES_BACKUP
|
||||||
|
--let $CHILD2_1_SELECT_TABLES= $CHILD2_1_SELECT_TABLES_BACKUP
|
||||||
|
--let $CHILD2_2_DROP_TABLES= $CHILD2_2_DROP_TABLES_BACKUP
|
||||||
|
--let $CHILD2_2_CREATE_TABLES= $CHILD2_2_CREATE_TABLES_BACKUP
|
||||||
|
--let $CHILD2_2_SELECT_TABLES= $CHILD2_2_SELECT_TABLES_BACKUP
|
||||||
|
--connection master_1
|
||||||
|
set session spider_quick_mode= @old_spider_quick_mode;
|
||||||
|
set session spider_quick_page_size= @old_spider_quick_page_size;
|
||||||
|
set session spider_quick_page_byte= @old_spider_quick_page_byte;
|
||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../t/test_deinit.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
@@ -0,0 +1,51 @@
|
|||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../t/test_init.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
||||||
|
--let $MASTER_1_COMMENT_2_1_BACKUP= $MASTER_1_COMMENT_2_1
|
||||||
|
let $MASTER_1_COMMENT_2_1=
|
||||||
|
COMMENT='table "tbl_a", srv "s_2_1"';
|
||||||
|
--let $MASTER_1_COMMENT_2_2_BACKUP= $MASTER_1_COMMENT_2_2
|
||||||
|
let $MASTER_1_COMMENT_2_2=
|
||||||
|
COMMENT='table "tbl_b", srv "s_2_2"';
|
||||||
|
--let $CHILD2_1_DROP_TABLES_BACKUP= $CHILD2_1_DROP_TABLES
|
||||||
|
let $CHILD2_1_DROP_TABLES=
|
||||||
|
DROP TABLE IF EXISTS tbl_a;
|
||||||
|
--let $CHILD2_1_CREATE_TABLES_BACKUP= $CHILD2_1_CREATE_TABLES
|
||||||
|
let $CHILD2_1_CREATE_TABLES=
|
||||||
|
CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $CHILD2_1_ENGINE $CHILD2_1_CHARSET;
|
||||||
|
--let $CHILD2_1_SELECT_TABLES_BACKUP= $CHILD2_1_SELECT_TABLES
|
||||||
|
let $CHILD2_1_SELECT_TABLES=
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
let $CHILD2_1_SELECT_ARGUMENT1=
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
--let $CHILD2_2_DROP_TABLES_BACKUP= $CHILD2_2_DROP_TABLES
|
||||||
|
let $CHILD2_2_DROP_TABLES=
|
||||||
|
DROP TABLE IF EXISTS tbl_b;
|
||||||
|
--let $CHILD2_2_CREATE_TABLES_BACKUP= $CHILD2_2_CREATE_TABLES
|
||||||
|
let $CHILD2_2_CREATE_TABLES=
|
||||||
|
CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $CHILD2_2_ENGINE $CHILD2_2_CHARSET;
|
||||||
|
--let $CHILD2_2_SELECT_TABLES_BACKUP= $CHILD2_2_SELECT_TABLES
|
||||||
|
let $CHILD2_2_SELECT_TABLES=
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
let $CHILD2_2_SELECT_ARGUMENT1=
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
--connection master_1
|
||||||
|
set @old_spider_quick_mode= @@spider_quick_mode;
|
||||||
|
set session spider_quick_mode= 2;
|
||||||
|
set @old_spider_quick_page_size= @@spider_quick_page_size;
|
||||||
|
set session spider_quick_page_size= 3;
|
||||||
|
set @old_spider_quick_page_byte= @@spider_quick_page_byte;
|
||||||
|
let $MASTER_1_SET_QUICK_PAGE_BYTE_6=
|
||||||
|
set session spider_quick_page_byte= 6;
|
||||||
|
let $MASTER_1_SET_QUICK_PAGE_BYTE_0=
|
||||||
|
set session spider_quick_page_byte= 0;
|
@@ -0,0 +1,19 @@
|
|||||||
|
--let $MASTER_1_COMMENT_2_1= $MASTER_1_COMMENT_2_1_BACKUP
|
||||||
|
--let $MASTER_1_COMMENT_2_2= $MASTER_1_COMMENT_2_2_BACKUP
|
||||||
|
--let $CHILD2_1_DROP_TABLES= $CHILD2_1_DROP_TABLES_BACKUP
|
||||||
|
--let $CHILD2_1_CREATE_TABLES= $CHILD2_1_CREATE_TABLES_BACKUP
|
||||||
|
--let $CHILD2_1_SELECT_TABLES= $CHILD2_1_SELECT_TABLES_BACKUP
|
||||||
|
--let $CHILD2_2_DROP_TABLES= $CHILD2_2_DROP_TABLES_BACKUP
|
||||||
|
--let $CHILD2_2_CREATE_TABLES= $CHILD2_2_CREATE_TABLES_BACKUP
|
||||||
|
--let $CHILD2_2_SELECT_TABLES= $CHILD2_2_SELECT_TABLES_BACKUP
|
||||||
|
--connection master_1
|
||||||
|
set session spider_quick_mode= @old_spider_quick_mode;
|
||||||
|
set session spider_quick_page_size= @old_spider_quick_page_size;
|
||||||
|
set session spider_quick_page_byte= @old_spider_quick_page_byte;
|
||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../t/test_deinit.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
@@ -0,0 +1,51 @@
|
|||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../t/test_init.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
||||||
|
--let $MASTER_1_COMMENT_2_1_BACKUP= $MASTER_1_COMMENT_2_1
|
||||||
|
let $MASTER_1_COMMENT_2_1=
|
||||||
|
COMMENT='table "tbl_a", srv "s_2_1"';
|
||||||
|
--let $MASTER_1_COMMENT_2_2_BACKUP= $MASTER_1_COMMENT_2_2
|
||||||
|
let $MASTER_1_COMMENT_2_2=
|
||||||
|
COMMENT='table "tbl_b", srv "s_2_2"';
|
||||||
|
--let $CHILD2_1_DROP_TABLES_BACKUP= $CHILD2_1_DROP_TABLES
|
||||||
|
let $CHILD2_1_DROP_TABLES=
|
||||||
|
DROP TABLE IF EXISTS tbl_a;
|
||||||
|
--let $CHILD2_1_CREATE_TABLES_BACKUP= $CHILD2_1_CREATE_TABLES
|
||||||
|
let $CHILD2_1_CREATE_TABLES=
|
||||||
|
CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $CHILD2_1_ENGINE $CHILD2_1_CHARSET;
|
||||||
|
--let $CHILD2_1_SELECT_TABLES_BACKUP= $CHILD2_1_SELECT_TABLES
|
||||||
|
let $CHILD2_1_SELECT_TABLES=
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
let $CHILD2_1_SELECT_ARGUMENT1=
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
--let $CHILD2_2_DROP_TABLES_BACKUP= $CHILD2_2_DROP_TABLES
|
||||||
|
let $CHILD2_2_DROP_TABLES=
|
||||||
|
DROP TABLE IF EXISTS tbl_b;
|
||||||
|
--let $CHILD2_2_CREATE_TABLES_BACKUP= $CHILD2_2_CREATE_TABLES
|
||||||
|
let $CHILD2_2_CREATE_TABLES=
|
||||||
|
CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $CHILD2_2_ENGINE $CHILD2_2_CHARSET;
|
||||||
|
--let $CHILD2_2_SELECT_TABLES_BACKUP= $CHILD2_2_SELECT_TABLES
|
||||||
|
let $CHILD2_2_SELECT_TABLES=
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
let $CHILD2_2_SELECT_ARGUMENT1=
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
--connection master_1
|
||||||
|
set @old_spider_quick_mode= @@spider_quick_mode;
|
||||||
|
set session spider_quick_mode= 3;
|
||||||
|
set @old_spider_quick_page_size= @@spider_quick_page_size;
|
||||||
|
set session spider_quick_page_size= 3;
|
||||||
|
set @old_spider_quick_page_byte= @@spider_quick_page_byte;
|
||||||
|
let $MASTER_1_SET_QUICK_PAGE_BYTE_6=
|
||||||
|
set session spider_quick_page_byte= 6;
|
||||||
|
let $MASTER_1_SET_QUICK_PAGE_BYTE_0=
|
||||||
|
set session spider_quick_page_byte= 0;
|
@@ -0,0 +1,15 @@
|
|||||||
|
--let $MASTER_1_COMMENT_2_1= $MASTER_1_COMMENT_2_1_BACKUP
|
||||||
|
--let $CHILD2_1_DROP_TABLES= $CHILD2_1_DROP_TABLES_BACKUP
|
||||||
|
--let $CHILD2_1_CREATE_TABLES= $CHILD2_1_CREATE_TABLES_BACKUP
|
||||||
|
--let $CHILD2_1_SELECT_TABLES= $CHILD2_1_SELECT_TABLES_BACKUP
|
||||||
|
--connection slave1_1
|
||||||
|
set global spider_slave_trx_isolation= @old_spider_slave_trx_isolation;
|
||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../include/deinit_spider.inc
|
||||||
|
--source ../t/slave_test_deinit.inc
|
||||||
|
--source ../t/test_deinit.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
@@ -0,0 +1,35 @@
|
|||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../t/test_init.inc
|
||||||
|
--source ../t/slave_test_init.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
||||||
|
--let $MASTER_1_COMMENT_2_1_BACKUP= $MASTER_1_COMMENT_2_1
|
||||||
|
let $MASTER_1_COMMENT_2_1=
|
||||||
|
COMMENT='table "tbl_a", srv "s_2_1"';
|
||||||
|
--let $CHILD2_1_DROP_TABLES_BACKUP= $CHILD2_1_DROP_TABLES
|
||||||
|
let $CHILD2_1_DROP_TABLES=
|
||||||
|
DROP TABLE IF EXISTS tbl_a;
|
||||||
|
--let $CHILD2_1_CREATE_TABLES_BACKUP= $CHILD2_1_CREATE_TABLES
|
||||||
|
let $CHILD2_1_CREATE_TABLES=
|
||||||
|
CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $CHILD2_1_ENGINE $CHILD2_1_CHARSET;
|
||||||
|
--let $CHILD2_1_SELECT_TABLES_BACKUP= $CHILD2_1_SELECT_TABLES
|
||||||
|
let $CHILD2_1_SELECT_TABLES=
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
let $CHILD2_1_SELECT_ARGUMENT1=
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%set %';
|
||||||
|
--connection slave1_1
|
||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../include/init_spider.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
||||||
|
set @old_spider_slave_trx_isolation= @@spider_slave_trx_isolation;
|
||||||
|
set global spider_slave_trx_isolation= 1;
|
@@ -0,0 +1,11 @@
|
|||||||
|
--let $MASTER_1_COMMENT_2_1= $MASTER_1_COMMENT_2_1_BACKUP
|
||||||
|
--let $CHILD2_1_DROP_TABLES= $CHILD2_1_DROP_TABLES_BACKUP
|
||||||
|
--let $CHILD2_1_CREATE_TABLES= $CHILD2_1_CREATE_TABLES_BACKUP
|
||||||
|
--let $CHILD2_1_SELECT_TABLES= $CHILD2_1_SELECT_TABLES_BACKUP
|
||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../t/test_deinit.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
@@ -0,0 +1,24 @@
|
|||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--source ../t/test_init.inc
|
||||||
|
--enable_result_log
|
||||||
|
--enable_query_log
|
||||||
|
--enable_warnings
|
||||||
|
--let $MASTER_1_COMMENT_2_1_BACKUP= $MASTER_1_COMMENT_2_1
|
||||||
|
let $MASTER_1_COMMENT_2_1=
|
||||||
|
COMMENT='table "tbl_a", srv "s_2_1", wrapper "mariadb"';
|
||||||
|
--let $CHILD2_1_DROP_TABLES_BACKUP= $CHILD2_1_DROP_TABLES
|
||||||
|
let $CHILD2_1_DROP_TABLES=
|
||||||
|
DROP TABLE IF EXISTS tbl_a;
|
||||||
|
--let $CHILD2_1_CREATE_TABLES_BACKUP= $CHILD2_1_CREATE_TABLES
|
||||||
|
let $CHILD2_1_CREATE_TABLES=
|
||||||
|
CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $CHILD2_1_ENGINE $CHILD2_1_CHARSET;
|
||||||
|
--let $CHILD2_1_SELECT_TABLES_BACKUP= $CHILD2_1_SELECT_TABLES
|
||||||
|
let $CHILD2_1_SELECT_TABLES=
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
let $CHILD2_1_SELECT_ARGUMENT1=
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
2
storage/spider/mysql-test/spider/bugfix/my.cnf
Normal file
2
storage/spider/mysql-test/spider/bugfix/my.cnf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
!include include/default_mysqld.cnf
|
||||||
|
!include my_1_1.cnf
|
44
storage/spider/mysql-test/spider/bugfix/my_1_1.cnf
Normal file
44
storage/spider/mysql-test/spider/bugfix/my_1_1.cnf
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
[mysqld.1.1]
|
||||||
|
log-bin= master-bin
|
||||||
|
loose_handlersocket_port= 20000
|
||||||
|
loose_handlersocket_port_wr= 20001
|
||||||
|
loose_handlersocket_threads= 2
|
||||||
|
loose_handlersocket_threads_wr= 1
|
||||||
|
loose_handlersocket_support_merge_table= 0
|
||||||
|
loose_handlersocket_direct_update_mode= 2
|
||||||
|
loose_handlersocket_unlimited_boundary= 65536
|
||||||
|
loose_handlersocket_bulk_insert= 0
|
||||||
|
loose_handlersocket_bulk_insert_timeout= 0
|
||||||
|
loose_handlersocket_general_log= 1
|
||||||
|
loose_handlersocket_timeout= 30
|
||||||
|
loose_handlersocket_close_table_interval=2
|
||||||
|
open_files_limit= 4096
|
||||||
|
loose_partition= 1
|
||||||
|
|
||||||
|
[ENV]
|
||||||
|
USE_GEOMETRY_TEST= 1
|
||||||
|
USE_FULLTEXT_TEST= 1
|
||||||
|
USE_HA_TEST= 1
|
||||||
|
USE_GENERAL_LOG= 1
|
||||||
|
USE_REPLICATION= 1
|
||||||
|
MASTER_1_MYPORT= @mysqld.1.1.port
|
||||||
|
MASTER_1_HSRPORT= 20000
|
||||||
|
MASTER_1_HSWPORT= 20001
|
||||||
|
MASTER_1_MYSOCK= @mysqld.1.1.socket
|
||||||
|
MASTER_1_ENGINE_TYPE= Spider
|
||||||
|
#MASTER_1_ENGINE_TYPE= MyISAM
|
||||||
|
MASTER_1_ENGINE= ENGINE=Spider
|
||||||
|
MASTER_1_CHARSET= DEFAULT CHARSET=utf8
|
||||||
|
MASTER_1_ENGINE2= ENGINE=MyISAM
|
||||||
|
MASTER_1_CHARSET2= DEFAULT CHARSET=utf8
|
||||||
|
MASTER_1_CHARSET3= DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
|
||||||
|
|
||||||
|
STR_SEMICOLON= ;
|
||||||
|
|
||||||
|
#The followings are set in include/init_xxx.inc files
|
||||||
|
# MASTER_1_COMMENT_2_1
|
||||||
|
# MASTER_1_COMMENT2_2_1
|
||||||
|
# MASTER_1_COMMENT3_2_1
|
||||||
|
# MASTER_1_COMMENT4_2_1
|
||||||
|
# MASTER_1_COMMENT5_2_1
|
||||||
|
# MASTER_1_COMMENT_P_2_1
|
56
storage/spider/mysql-test/spider/bugfix/my_2_1.cnf
Normal file
56
storage/spider/mysql-test/spider/bugfix/my_2_1.cnf
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
[mysqld.2.1]
|
||||||
|
loose_handlersocket_port= 20002
|
||||||
|
loose_handlersocket_port_wr= 20003
|
||||||
|
loose_handlersocket_threads= 2
|
||||||
|
loose_handlersocket_threads_wr= 1
|
||||||
|
loose_handlersocket_support_merge_table= 0
|
||||||
|
loose_handlersocket_direct_update_mode= 2
|
||||||
|
loose_handlersocket_unlimited_boundary= 65536
|
||||||
|
loose_handlersocket_bulk_insert= 0
|
||||||
|
loose_handlersocket_bulk_insert_timeout= 0
|
||||||
|
loose_handlersocket_general_log= 1
|
||||||
|
loose_handlersocket_timeout= 30
|
||||||
|
loose_handlersocket_close_table_interval=2
|
||||||
|
open_files_limit= 4096
|
||||||
|
|
||||||
|
[ENV]
|
||||||
|
USE_CHILD_GROUP2= 1
|
||||||
|
OUTPUT_CHILD_GROUP2= 0
|
||||||
|
CHILD2_1_MYPORT= @mysqld.2.1.port
|
||||||
|
CHILD2_1_HSRPORT= 20002
|
||||||
|
CHILD2_1_HSWPORT= 20003
|
||||||
|
CHILD2_1_MYSOCK= @mysqld.2.1.socket
|
||||||
|
CHILD2_1_ENGINE_TYPE= InnoDB
|
||||||
|
CHILD2_1_ENGINE= ENGINE=InnoDB
|
||||||
|
CHILD2_1_CHARSET= DEFAULT CHARSET=utf8
|
||||||
|
CHILD2_1_CHARSET2= DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
|
||||||
|
CHILD2_1_FT_MYPORT= @mysqld.2.1.port
|
||||||
|
CHILD2_1_FT_MYSOCK= @mysqld.2.1.socket
|
||||||
|
CHILD2_1_FT_ENGINE_TYPE= MyISAM
|
||||||
|
CHILD2_1_FT_ENGINE= ENGINE=MyISAM
|
||||||
|
CHILD2_1_FT_CHARSET= DEFAULT CHARSET=utf8
|
||||||
|
CHILD2_1_GM_MYPORT= @mysqld.2.1.port
|
||||||
|
CHILD2_1_GM_MYSOCK= @mysqld.2.1.socket
|
||||||
|
CHILD2_1_GM_ENGINE_TYPE= MyISAM
|
||||||
|
CHILD2_1_GM_ENGINE= ENGINE=MyISAM
|
||||||
|
CHILD2_1_GM_CHARSET= DEFAULT CHARSET=utf8
|
||||||
|
|
||||||
|
#The followings are set in include/init_xxx.inc files
|
||||||
|
# CHILD2_1_DROP_TABLES
|
||||||
|
# CHILD2_1_CREATE_TABLES
|
||||||
|
# CHILD2_1_SELECT_TABLES
|
||||||
|
# CHILD2_1_DROP_TABLES2
|
||||||
|
# CHILD2_1_CREATE_TABLES2
|
||||||
|
# CHILD2_1_SELECT_TABLES2
|
||||||
|
# CHILD2_1_DROP_TABLES3
|
||||||
|
# CHILD2_1_CREATE_TABLES3
|
||||||
|
# CHILD2_1_SELECT_TABLES3
|
||||||
|
# CHILD2_1_DROP_TABLES4
|
||||||
|
# CHILD2_1_CREATE_TABLES4
|
||||||
|
# CHILD2_1_SELECT_TABLES4
|
||||||
|
# CHILD2_1_DROP_TABLES5
|
||||||
|
# CHILD2_1_CREATE_TABLES5
|
||||||
|
# CHILD2_1_SELECT_TABLES5
|
||||||
|
# CHILD2_1_DROP_TABLES6
|
||||||
|
# CHILD2_1_CREATE_TABLES6
|
||||||
|
# CHILD2_1_SELECT_TABLES6
|
38
storage/spider/mysql-test/spider/bugfix/my_2_2.cnf
Normal file
38
storage/spider/mysql-test/spider/bugfix/my_2_2.cnf
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
[mysqld.2.2]
|
||||||
|
loose_handlersocket_port= 20004
|
||||||
|
loose_handlersocket_port_wr= 20005
|
||||||
|
loose_handlersocket_threads= 2
|
||||||
|
loose_handlersocket_threads_wr= 1
|
||||||
|
loose_handlersocket_support_merge_table= 0
|
||||||
|
loose_handlersocket_direct_update_mode= 2
|
||||||
|
loose_handlersocket_unlimited_boundary= 65536
|
||||||
|
loose_handlersocket_bulk_insert= 0
|
||||||
|
loose_handlersocket_bulk_insert_timeout= 0
|
||||||
|
loose_handlersocket_general_log= 1
|
||||||
|
loose_handlersocket_timeout= 30
|
||||||
|
loose_handlersocket_close_table_interval=2
|
||||||
|
open_files_limit= 4096
|
||||||
|
|
||||||
|
[ENV]
|
||||||
|
CHILD2_2_MYPORT= @mysqld.2.2.port
|
||||||
|
CHILD2_2_HSRPORT= 20004
|
||||||
|
CHILD2_2_HSWPORT= 20005
|
||||||
|
CHILD2_2_MYSOCK= @mysqld.2.2.socket
|
||||||
|
CHILD2_2_ENGINE_TYPE= InnoDB
|
||||||
|
CHILD2_2_ENGINE= ENGINE=InnoDB
|
||||||
|
CHILD2_2_CHARSET= DEFAULT CHARSET=utf8
|
||||||
|
CHILD2_2_FT_MYPORT= @mysqld.2.2.port
|
||||||
|
CHILD2_2_FT_MYSOCK= @mysqld.2.2.socket
|
||||||
|
CHILD2_2_FT_ENGINE_TYPE= MyISAM
|
||||||
|
CHILD2_2_FT_ENGINE= ENGINE=MyISAM
|
||||||
|
CHILD2_2_FT_CHARSET= DEFAULT CHARSET=utf8
|
||||||
|
CHILD2_2_GM_MYPORT= @mysqld.2.2.port
|
||||||
|
CHILD2_2_GM_MYSOCK= @mysqld.2.2.socket
|
||||||
|
CHILD2_2_GM_ENGINE_TYPE= MyISAM
|
||||||
|
CHILD2_2_GM_ENGINE= ENGINE=MyISAM
|
||||||
|
CHILD2_2_GM_CHARSET= DEFAULT CHARSET=utf8
|
||||||
|
|
||||||
|
#The followings are set in include/init_xxx.inc files
|
||||||
|
# CHILD2_2_DROP_TABLES
|
||||||
|
# CHILD2_2_CREATE_TABLES
|
||||||
|
# CHILD2_2_SELECT_TABLES
|
8
storage/spider/mysql-test/spider/bugfix/my_2_3.cnf
Normal file
8
storage/spider/mysql-test/spider/bugfix/my_2_3.cnf
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[mysqld.2.3]
|
||||||
|
|
||||||
|
[ENV]
|
||||||
|
CHILD2_3_MYPORT= @mysqld.2.3.port
|
||||||
|
CHILD2_3_MYSOCK= @mysqld.2.3.socket
|
||||||
|
CHILD2_3_ENGINE_TYPE= InnoDB
|
||||||
|
CHILD2_3_ENGINE= ENGINE=InnoDB
|
||||||
|
CHILD2_3_CHARSET= DEFAULT CHARSET=utf8
|
11
storage/spider/mysql-test/spider/bugfix/my_3_1.cnf
Normal file
11
storage/spider/mysql-test/spider/bugfix/my_3_1.cnf
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[mysqld.3.1]
|
||||||
|
loose_partition= 1
|
||||||
|
|
||||||
|
[ENV]
|
||||||
|
USE_CHILD_GROUP3= 1
|
||||||
|
OUTPUT_CHILD_GROUP3= 0
|
||||||
|
CHILD3_1_MYPORT= @mysqld.3.1.port
|
||||||
|
CHILD3_1_MYSOCK= @mysqld.3.1.socket
|
||||||
|
CHILD3_1_ENGINE_TYPE= InnoDB
|
||||||
|
CHILD3_1_ENGINE= ENGINE=InnoDB
|
||||||
|
CHILD3_1_CHARSET= DEFAULT CHARSET=utf8
|
9
storage/spider/mysql-test/spider/bugfix/my_3_2.cnf
Normal file
9
storage/spider/mysql-test/spider/bugfix/my_3_2.cnf
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
[mysqld.3.2]
|
||||||
|
loose_partition= 1
|
||||||
|
|
||||||
|
[ENV]
|
||||||
|
CHILD3_2_MYPORT= @mysqld.3.2.port
|
||||||
|
CHILD3_2_MYSOCK= @mysqld.3.2.socket
|
||||||
|
CHILD3_2_ENGINE_TYPE= InnoDB
|
||||||
|
CHILD3_2_ENGINE= ENGINE=InnoDB
|
||||||
|
CHILD3_2_CHARSET= DEFAULT CHARSET=utf8
|
9
storage/spider/mysql-test/spider/bugfix/my_3_3.cnf
Normal file
9
storage/spider/mysql-test/spider/bugfix/my_3_3.cnf
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
[mysqld.3.3]
|
||||||
|
loose_partition= 1
|
||||||
|
|
||||||
|
[ENV]
|
||||||
|
CHILD3_3_MYPORT= @mysqld.3.3.port
|
||||||
|
CHILD3_3_MYSOCK= @mysqld.3.3.socket
|
||||||
|
CHILD3_3_ENGINE_TYPE= InnoDB
|
||||||
|
CHILD3_3_ENGINE= ENGINE=InnoDB
|
||||||
|
CHILD3_3_CHARSET= DEFAULT CHARSET=utf8
|
9
storage/spider/mysql-test/spider/bugfix/my_4_1.cnf
Normal file
9
storage/spider/mysql-test/spider/bugfix/my_4_1.cnf
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
[mysqld.4.1]
|
||||||
|
loose_partition= 1
|
||||||
|
|
||||||
|
[ENV]
|
||||||
|
SLAVE1_1_MYPORT= @mysqld.4.1.port
|
||||||
|
SLAVE1_1_MYSOCK= @mysqld.4.1.socket
|
||||||
|
SLAVE1_1_ENGINE_TYPE= MyISAM
|
||||||
|
SLAVE1_1_ENGINE= ENGINE=MyISAM
|
||||||
|
SLAVE1_1_CHARSET= DEFAULT CHARSET=utf8
|
@@ -0,0 +1,100 @@
|
|||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
connection master_1;
|
||||||
|
set @old_spider_quick_mode= @@spider_quick_mode;
|
||||||
|
set session spider_quick_mode= 3;
|
||||||
|
set @old_spider_quick_page_size= @@spider_quick_page_size;
|
||||||
|
set session spider_quick_page_size= 3;
|
||||||
|
|
||||||
|
this test is for MDEV-16279
|
||||||
|
|
||||||
|
drop and create databases
|
||||||
|
connection master_1;
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
connection child2_1;
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote;
|
||||||
|
USE auto_test_remote;
|
||||||
|
|
||||||
|
create table and insert
|
||||||
|
connection child2_1;
|
||||||
|
CHILD2_1_CREATE_TABLES
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_1
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
FLUSH TABLES;
|
||||||
|
|
||||||
|
select test 1
|
||||||
|
connection child2_1;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
CHECKSUM TABLE tbl_a EXTENDED;
|
||||||
|
Table Checksum
|
||||||
|
auto_test_local.tbl_a 1061386331
|
||||||
|
connection child2_1;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote`.`tbl_a`
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
|
||||||
|
deinit
|
||||||
|
connection master_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
connection child2_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
connection master_1;
|
||||||
|
set session spider_quick_mode= @old_spider_quick_mode;
|
||||||
|
set session spider_quick_page_size= @old_spider_quick_page_size;
|
||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
|
||||||
|
end of test
|
@@ -0,0 +1,33 @@
|
|||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
|
||||||
|
drop and create databases
|
||||||
|
connection master_1;
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
CREATE TEMPORARY TABLE tmp_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE2
|
||||||
|
SELECT spider_direct_sql('SELECT 22', 'tmp_a', 'srv "s_2_1", database "test"');
|
||||||
|
spider_direct_sql('SELECT 22', 'tmp_a', 'srv "s_2_1", database "test"')
|
||||||
|
1
|
||||||
|
SELECT pkey FROM tmp_a;
|
||||||
|
pkey
|
||||||
|
22
|
||||||
|
|
||||||
|
deinit
|
||||||
|
connection master_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
|
||||||
|
end of test
|
504
storage/spider/mysql-test/spider/bugfix/r/quick_mode_0.result
Normal file
504
storage/spider/mysql-test/spider/bugfix/r/quick_mode_0.result
Normal file
@@ -0,0 +1,504 @@
|
|||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
connection master_1;
|
||||||
|
set @old_spider_quick_mode= @@spider_quick_mode;
|
||||||
|
set session spider_quick_mode= 0;
|
||||||
|
set @old_spider_quick_page_size= @@spider_quick_page_size;
|
||||||
|
set session spider_quick_page_size= 3;
|
||||||
|
set @old_spider_quick_page_byte= @@spider_quick_page_byte;
|
||||||
|
|
||||||
|
this test is for MDEV-16520
|
||||||
|
|
||||||
|
drop and create databases
|
||||||
|
connection master_1;
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
connection child2_1;
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote;
|
||||||
|
USE auto_test_remote;
|
||||||
|
connection child2_2;
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote2;
|
||||||
|
USE auto_test_remote2;
|
||||||
|
|
||||||
|
create table and insert
|
||||||
|
connection child2_1;
|
||||||
|
CHILD2_1_CREATE_TABLES
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
CHILD2_2_CREATE_TABLES
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_1
|
||||||
|
CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_2
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
|
||||||
|
select test 1
|
||||||
|
connection child2_1;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_1;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote`.`tbl_a` order by `pkey`
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_2;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 0
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 1
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 2
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 3
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 4
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 5
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 6
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 7
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 8
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 9
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 10
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 11
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 12
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 13
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 14
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 15
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 16
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 17
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 18
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 19
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 20
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 21
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 22
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 23
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 24
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 25
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 26
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 27
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 28
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 29
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection master_1;
|
||||||
|
set session spider_quick_page_byte= 6;
|
||||||
|
|
||||||
|
select test 2
|
||||||
|
connection child2_1;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_1;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote`.`tbl_a` order by `pkey`
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_2;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 0
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 1
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 2
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 3
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 4
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 5
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 6
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 7
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 8
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 9
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 10
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 11
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 12
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 13
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 14
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 15
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 16
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 17
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 18
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 19
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 20
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 21
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 22
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 23
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 24
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 25
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 26
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 27
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 28
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 29
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection master_1;
|
||||||
|
set session spider_quick_page_byte= 0;
|
||||||
|
|
||||||
|
select test 3
|
||||||
|
connection child2_1;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_1;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote`.`tbl_a` order by `pkey`
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_2;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 0
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 1
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 2
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 3
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 4
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 5
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 6
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 7
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 8
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 9
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 10
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 11
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 12
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 13
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 14
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 15
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 16
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 17
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 18
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 19
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 20
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 21
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 22
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 23
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 24
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 25
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 26
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 27
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 28
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 29
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
|
||||||
|
deinit
|
||||||
|
connection master_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
connection child2_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
connection child2_2;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote2;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
connection master_1;
|
||||||
|
set session spider_quick_mode= @old_spider_quick_mode;
|
||||||
|
set session spider_quick_page_size= @old_spider_quick_page_size;
|
||||||
|
set session spider_quick_page_byte= @old_spider_quick_page_byte;
|
||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
|
||||||
|
end of test
|
504
storage/spider/mysql-test/spider/bugfix/r/quick_mode_1.result
Normal file
504
storage/spider/mysql-test/spider/bugfix/r/quick_mode_1.result
Normal file
@@ -0,0 +1,504 @@
|
|||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
connection master_1;
|
||||||
|
set @old_spider_quick_mode= @@spider_quick_mode;
|
||||||
|
set session spider_quick_mode= 1;
|
||||||
|
set @old_spider_quick_page_size= @@spider_quick_page_size;
|
||||||
|
set session spider_quick_page_size= 3;
|
||||||
|
set @old_spider_quick_page_byte= @@spider_quick_page_byte;
|
||||||
|
|
||||||
|
this test is for MDEV-16520
|
||||||
|
|
||||||
|
drop and create databases
|
||||||
|
connection master_1;
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
connection child2_1;
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote;
|
||||||
|
USE auto_test_remote;
|
||||||
|
connection child2_2;
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote2;
|
||||||
|
USE auto_test_remote2;
|
||||||
|
|
||||||
|
create table and insert
|
||||||
|
connection child2_1;
|
||||||
|
CHILD2_1_CREATE_TABLES
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
CHILD2_2_CREATE_TABLES
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_1
|
||||||
|
CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_2
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
|
||||||
|
select test 1
|
||||||
|
connection child2_1;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_1;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote`.`tbl_a` order by `pkey`
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_2;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 0
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 1
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 2
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 3
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 4
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 5
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 6
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 7
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 8
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 9
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 10
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 11
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 12
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 13
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 14
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 15
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 16
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 17
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 18
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 19
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 20
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 21
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 22
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 23
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 24
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 25
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 26
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 27
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 28
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 29
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection master_1;
|
||||||
|
set session spider_quick_page_byte= 6;
|
||||||
|
|
||||||
|
select test 2
|
||||||
|
connection child2_1;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_1;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote`.`tbl_a` order by `pkey`
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_2;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 0
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 1
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 2
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 3
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 4
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 5
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 6
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 7
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 8
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 9
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 10
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 11
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 12
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 13
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 14
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 15
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 16
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 17
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 18
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 19
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 20
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 21
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 22
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 23
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 24
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 25
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 26
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 27
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 28
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 29
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection master_1;
|
||||||
|
set session spider_quick_page_byte= 0;
|
||||||
|
|
||||||
|
select test 3
|
||||||
|
connection child2_1;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_1;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote`.`tbl_a` order by `pkey`
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_2;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 0
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 1
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 2
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 3
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 4
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 5
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 6
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 7
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 8
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 9
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 10
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 11
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 12
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 13
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 14
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 15
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 16
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 17
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 18
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 19
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 20
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 21
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 22
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 23
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 24
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 25
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 26
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 27
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 28
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 29
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
|
||||||
|
deinit
|
||||||
|
connection master_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
connection child2_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
connection child2_2;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote2;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
connection master_1;
|
||||||
|
set session spider_quick_mode= @old_spider_quick_mode;
|
||||||
|
set session spider_quick_page_size= @old_spider_quick_page_size;
|
||||||
|
set session spider_quick_page_byte= @old_spider_quick_page_byte;
|
||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
|
||||||
|
end of test
|
504
storage/spider/mysql-test/spider/bugfix/r/quick_mode_2.result
Normal file
504
storage/spider/mysql-test/spider/bugfix/r/quick_mode_2.result
Normal file
@@ -0,0 +1,504 @@
|
|||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
connection master_1;
|
||||||
|
set @old_spider_quick_mode= @@spider_quick_mode;
|
||||||
|
set session spider_quick_mode= 2;
|
||||||
|
set @old_spider_quick_page_size= @@spider_quick_page_size;
|
||||||
|
set session spider_quick_page_size= 3;
|
||||||
|
set @old_spider_quick_page_byte= @@spider_quick_page_byte;
|
||||||
|
|
||||||
|
this test is for MDEV-16520
|
||||||
|
|
||||||
|
drop and create databases
|
||||||
|
connection master_1;
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
connection child2_1;
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote;
|
||||||
|
USE auto_test_remote;
|
||||||
|
connection child2_2;
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote2;
|
||||||
|
USE auto_test_remote2;
|
||||||
|
|
||||||
|
create table and insert
|
||||||
|
connection child2_1;
|
||||||
|
CHILD2_1_CREATE_TABLES
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
CHILD2_2_CREATE_TABLES
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_1
|
||||||
|
CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_2
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
|
||||||
|
select test 1
|
||||||
|
connection child2_1;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_1;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote`.`tbl_a` order by `pkey`
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_2;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 0
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 1
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 2
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 3
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 4
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 5
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 6
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 7
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 8
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 9
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 10
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 11
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 12
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 13
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 14
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 15
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 16
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 17
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 18
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 19
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 20
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 21
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 22
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 23
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 24
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 25
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 26
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 27
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 28
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 29
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection master_1;
|
||||||
|
set session spider_quick_page_byte= 6;
|
||||||
|
|
||||||
|
select test 2
|
||||||
|
connection child2_1;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_1;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote`.`tbl_a` order by `pkey`
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_2;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 0
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 1
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 2
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 3
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 4
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 5
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 6
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 7
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 8
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 9
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 10
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 11
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 12
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 13
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 14
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 15
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 16
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 17
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 18
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 19
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 20
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 21
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 22
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 23
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 24
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 25
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 26
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 27
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 28
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 29
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection master_1;
|
||||||
|
set session spider_quick_page_byte= 0;
|
||||||
|
|
||||||
|
select test 3
|
||||||
|
connection child2_1;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_1;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote`.`tbl_a` order by `pkey`
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_2;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 0
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 1
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 2
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 3
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 4
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 5
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 6
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 7
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 8
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 9
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 10
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 11
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 12
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 13
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 14
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 15
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 16
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 17
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 18
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 19
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 20
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 21
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 22
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 23
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 24
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 25
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 26
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 27
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 28
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 29
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
|
||||||
|
deinit
|
||||||
|
connection master_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
connection child2_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
connection child2_2;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote2;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
connection master_1;
|
||||||
|
set session spider_quick_mode= @old_spider_quick_mode;
|
||||||
|
set session spider_quick_page_size= @old_spider_quick_page_size;
|
||||||
|
set session spider_quick_page_byte= @old_spider_quick_page_byte;
|
||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
|
||||||
|
end of test
|
504
storage/spider/mysql-test/spider/bugfix/r/quick_mode_3.result
Normal file
504
storage/spider/mysql-test/spider/bugfix/r/quick_mode_3.result
Normal file
@@ -0,0 +1,504 @@
|
|||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
connection master_1;
|
||||||
|
set @old_spider_quick_mode= @@spider_quick_mode;
|
||||||
|
set session spider_quick_mode= 3;
|
||||||
|
set @old_spider_quick_page_size= @@spider_quick_page_size;
|
||||||
|
set session spider_quick_page_size= 3;
|
||||||
|
set @old_spider_quick_page_byte= @@spider_quick_page_byte;
|
||||||
|
|
||||||
|
this test is for MDEV-16520
|
||||||
|
|
||||||
|
drop and create databases
|
||||||
|
connection master_1;
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
connection child2_1;
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote;
|
||||||
|
USE auto_test_remote;
|
||||||
|
connection child2_2;
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote2;
|
||||||
|
USE auto_test_remote2;
|
||||||
|
|
||||||
|
create table and insert
|
||||||
|
connection child2_1;
|
||||||
|
CHILD2_1_CREATE_TABLES
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
CHILD2_2_CREATE_TABLES
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_1
|
||||||
|
CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_2
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
|
||||||
|
select test 1
|
||||||
|
connection child2_1;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_1;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote`.`tbl_a` order by `pkey`
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_2;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 0
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 1
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 2
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 3
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 4
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 5
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 6
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 7
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 8
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 9
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 10
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 11
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 12
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 13
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 14
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 15
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 16
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 17
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 18
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 19
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 20
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 21
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 22
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 23
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 24
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 25
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 26
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 27
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 28
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 29
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection master_1;
|
||||||
|
set session spider_quick_page_byte= 6;
|
||||||
|
|
||||||
|
select test 2
|
||||||
|
connection child2_1;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_1;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote`.`tbl_a` order by `pkey`
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_2;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 0
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 1
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 2
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 3
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 4
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 5
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 6
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 7
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 8
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 9
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 10
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 11
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 12
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 13
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 14
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 15
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 16
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 17
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 18
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 19
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 20
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 21
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 22
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 23
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 24
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 25
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 26
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 27
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 28
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 29
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection master_1;
|
||||||
|
set session spider_quick_page_byte= 0;
|
||||||
|
|
||||||
|
select test 3
|
||||||
|
connection child2_1;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection child2_2;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_1;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote`.`tbl_a` order by `pkey`
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
connection child2_2;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 0
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 1
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 2
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 3
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 4
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 5
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 6
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 7
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 8
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 9
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 10
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 11
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 12
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 13
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 14
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 15
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 16
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 17
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 18
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 19
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 20
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 21
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 22
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 23
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 24
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 25
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 26
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 27
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 28
|
||||||
|
select `pkey` from `auto_test_remote2`.`tbl_b` where `pkey` = 29
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_b ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
28
|
||||||
|
29
|
||||||
|
|
||||||
|
deinit
|
||||||
|
connection master_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
connection child2_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
connection child2_2;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote2;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
connection master_1;
|
||||||
|
set session spider_quick_mode= @old_spider_quick_mode;
|
||||||
|
set session spider_quick_page_size= @old_spider_quick_page_size;
|
||||||
|
set session spider_quick_page_byte= @old_spider_quick_page_byte;
|
||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
|
||||||
|
end of test
|
@@ -0,0 +1,99 @@
|
|||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
for slave1_1
|
||||||
|
connection slave1_1;
|
||||||
|
set @old_spider_slave_trx_isolation= @@spider_slave_trx_isolation;
|
||||||
|
set global spider_slave_trx_isolation= 1;
|
||||||
|
|
||||||
|
drop and create databases
|
||||||
|
connection master_1;
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
connection slave1_1;
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
connection child2_1;
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote;
|
||||||
|
USE auto_test_remote;
|
||||||
|
|
||||||
|
create table and insert
|
||||||
|
connection child2_1;
|
||||||
|
CHILD2_1_CREATE_TABLES
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
connection slave1_1;
|
||||||
|
connection master_1;
|
||||||
|
SET SESSION sql_log_bin= 0;
|
||||||
|
CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE2 MASTER_1_CHARSET MASTER_1_COMMENT_2_1
|
||||||
|
SET SESSION sql_log_bin= 1;
|
||||||
|
connection slave1_1;
|
||||||
|
CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_1
|
||||||
|
connection master_1;
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
connection slave1_1;
|
||||||
|
connection master_1;
|
||||||
|
SET SESSION sql_log_bin= 0;
|
||||||
|
connection child2_1;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%set %';
|
||||||
|
argument
|
||||||
|
set session time_zone = '+00:00'
|
||||||
|
SET NAMES utf8
|
||||||
|
set session transaction isolation level read committed;set session autocommit = 1;start transaction
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%set %'
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
connection slave1_1;
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
|
||||||
|
deinit
|
||||||
|
connection master_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
connection slave1_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
connection child2_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
connection slave1_1;
|
||||||
|
set global spider_slave_trx_isolation= @old_spider_slave_trx_isolation;
|
||||||
|
for slave1_1
|
||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
|
||||||
|
end of test
|
@@ -0,0 +1,78 @@
|
|||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
|
||||||
|
this test is for MDEV-18313
|
||||||
|
|
||||||
|
drop and create databases
|
||||||
|
connection master_1;
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
connection child2_1;
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote;
|
||||||
|
USE auto_test_remote;
|
||||||
|
|
||||||
|
create table and insert
|
||||||
|
connection child2_1;
|
||||||
|
CHILD2_1_CREATE_TABLES
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_1
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
|
||||||
|
select test
|
||||||
|
connection child2_1;
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
connection master_1;
|
||||||
|
SELECT * FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
connection child2_1;
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
|
||||||
|
argument
|
||||||
|
select t0.`pkey` `pkey` from `auto_test_remote`.`tbl_a` t0 order by `pkey`
|
||||||
|
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
pkey
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
|
||||||
|
deinit
|
||||||
|
connection master_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
connection child2_1;
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
for master_1
|
||||||
|
for child2
|
||||||
|
child2_1
|
||||||
|
child2_2
|
||||||
|
child2_3
|
||||||
|
for child3
|
||||||
|
|
||||||
|
end of test
|
1
storage/spider/mysql-test/spider/bugfix/suite.opt
Normal file
1
storage/spider/mysql-test/spider/bugfix/suite.opt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
--loose-innodb --loose-skip-performance-schema
|
12
storage/spider/mysql-test/spider/bugfix/suite.pm
Normal file
12
storage/spider/mysql-test/spider/bugfix/suite.pm
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
package My::Suite::Spider;
|
||||||
|
|
||||||
|
@ISA = qw(My::Suite);
|
||||||
|
|
||||||
|
return "No Spider engine" unless $ENV{HA_SPIDER_SO};
|
||||||
|
return "Not run for embedded server" if $::opt_embedded_server;
|
||||||
|
return "Test needs --big-test" unless $::opt_big_test;
|
||||||
|
|
||||||
|
sub is_default { 1 }
|
||||||
|
|
||||||
|
bless { };
|
||||||
|
|
@@ -0,0 +1,3 @@
|
|||||||
|
!include include/default_mysqld.cnf
|
||||||
|
!include ../my_1_1.cnf
|
||||||
|
!include ../my_2_1.cnf
|
@@ -0,0 +1,72 @@
|
|||||||
|
--source ../include/checksum_table_with_quick_mode_3_init.inc
|
||||||
|
--echo
|
||||||
|
--echo this test is for MDEV-16279
|
||||||
|
--echo
|
||||||
|
--echo drop and create databases
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
--disable_warnings
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote;
|
||||||
|
USE auto_test_remote;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo create table and insert
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--disable_query_log
|
||||||
|
echo CHILD2_1_CREATE_TABLES;
|
||||||
|
eval $CHILD2_1_CREATE_TABLES;
|
||||||
|
--enable_query_log
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
--disable_query_log
|
||||||
|
echo CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_1;
|
||||||
|
eval CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $MASTER_1_ENGINE $MASTER_1_CHARSET $MASTER_1_COMMENT_2_1;
|
||||||
|
--enable_query_log
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
FLUSH TABLES;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo select test 1
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
CHECKSUM TABLE tbl_a EXTENDED;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
eval $CHILD2_1_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_1_SELECT_TABLES;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo deinit
|
||||||
|
--disable_warnings
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
|
||||||
|
--enable_warnings
|
||||||
|
--source ../include/checksum_table_with_quick_mode_3_deinit.inc
|
||||||
|
--echo
|
||||||
|
--echo end of test
|
@@ -0,0 +1,3 @@
|
|||||||
|
!include include/default_mysqld.cnf
|
||||||
|
!include ../my_1_1.cnf
|
||||||
|
!include ../my_2_1.cnf
|
@@ -0,0 +1,35 @@
|
|||||||
|
--source ../include/direct_sql_with_tmp_table_init.inc
|
||||||
|
--echo
|
||||||
|
--echo drop and create databases
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
--disable_warnings
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
--disable_query_log
|
||||||
|
echo CREATE TEMPORARY TABLE tmp_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE2;
|
||||||
|
eval CREATE TEMPORARY TABLE tmp_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $MASTER_1_ENGINE2;
|
||||||
|
--enable_query_log
|
||||||
|
|
||||||
|
eval $DIRECT_SQL_COMMAND;
|
||||||
|
SELECT pkey FROM tmp_a;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo deinit
|
||||||
|
--disable_warnings
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
|
||||||
|
--enable_warnings
|
||||||
|
--source ../include/direct_sql_with_tmp_table_deinit.inc
|
||||||
|
--echo
|
||||||
|
--echo end of test
|
@@ -0,0 +1,4 @@
|
|||||||
|
!include include/default_mysqld.cnf
|
||||||
|
!include ../my_1_1.cnf
|
||||||
|
!include ../my_2_1.cnf
|
||||||
|
!include ../my_2_2.cnf
|
156
storage/spider/mysql-test/spider/bugfix/t/quick_mode_0.test
Normal file
156
storage/spider/mysql-test/spider/bugfix/t/quick_mode_0.test
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
--source ../include/quick_mode_0_init.inc
|
||||||
|
--echo
|
||||||
|
--echo this test is for MDEV-16520
|
||||||
|
--echo
|
||||||
|
--echo drop and create databases
|
||||||
|
--connection master_1
|
||||||
|
--disable_warnings
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote;
|
||||||
|
USE auto_test_remote;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote2;
|
||||||
|
USE auto_test_remote2;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo create table and insert
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--disable_query_log
|
||||||
|
echo CHILD2_1_CREATE_TABLES;
|
||||||
|
eval $CHILD2_1_CREATE_TABLES;
|
||||||
|
--enable_query_log
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--disable_query_log
|
||||||
|
echo CHILD2_2_CREATE_TABLES;
|
||||||
|
eval $CHILD2_2_CREATE_TABLES;
|
||||||
|
--enable_query_log
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
--disable_query_log
|
||||||
|
echo CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_1;
|
||||||
|
echo CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_2;
|
||||||
|
eval CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $MASTER_1_ENGINE $MASTER_1_CHARSET $MASTER_1_COMMENT_2_1;
|
||||||
|
eval CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $MASTER_1_ENGINE $MASTER_1_CHARSET $MASTER_1_COMMENT_2_2;
|
||||||
|
--enable_query_log
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo select test 1
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_1_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_1_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_2_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_2_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
eval $MASTER_1_SET_QUICK_PAGE_BYTE_6;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo select test 2
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_1_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_1_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_2_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_2_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
eval $MASTER_1_SET_QUICK_PAGE_BYTE_0;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo select test 3
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_1_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_1_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_2_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_2_SELECT_TABLES;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo deinit
|
||||||
|
--disable_warnings
|
||||||
|
--connection master_1
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote2;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
|
||||||
|
--enable_warnings
|
||||||
|
--source ../include/quick_mode_0_deinit.inc
|
||||||
|
--echo
|
||||||
|
--echo end of test
|
@@ -0,0 +1,4 @@
|
|||||||
|
!include include/default_mysqld.cnf
|
||||||
|
!include ../my_1_1.cnf
|
||||||
|
!include ../my_2_1.cnf
|
||||||
|
!include ../my_2_2.cnf
|
156
storage/spider/mysql-test/spider/bugfix/t/quick_mode_1.test
Normal file
156
storage/spider/mysql-test/spider/bugfix/t/quick_mode_1.test
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
--source ../include/quick_mode_1_init.inc
|
||||||
|
--echo
|
||||||
|
--echo this test is for MDEV-16520
|
||||||
|
--echo
|
||||||
|
--echo drop and create databases
|
||||||
|
--connection master_1
|
||||||
|
--disable_warnings
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote;
|
||||||
|
USE auto_test_remote;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote2;
|
||||||
|
USE auto_test_remote2;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo create table and insert
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--disable_query_log
|
||||||
|
echo CHILD2_1_CREATE_TABLES;
|
||||||
|
eval $CHILD2_1_CREATE_TABLES;
|
||||||
|
--enable_query_log
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--disable_query_log
|
||||||
|
echo CHILD2_2_CREATE_TABLES;
|
||||||
|
eval $CHILD2_2_CREATE_TABLES;
|
||||||
|
--enable_query_log
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
--disable_query_log
|
||||||
|
echo CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_1;
|
||||||
|
echo CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_2;
|
||||||
|
eval CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $MASTER_1_ENGINE $MASTER_1_CHARSET $MASTER_1_COMMENT_2_1;
|
||||||
|
eval CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $MASTER_1_ENGINE $MASTER_1_CHARSET $MASTER_1_COMMENT_2_2;
|
||||||
|
--enable_query_log
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo select test 1
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_1_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_1_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_2_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_2_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
eval $MASTER_1_SET_QUICK_PAGE_BYTE_6;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo select test 2
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_1_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_1_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_2_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_2_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
eval $MASTER_1_SET_QUICK_PAGE_BYTE_0;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo select test 3
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_1_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_1_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_2_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_2_SELECT_TABLES;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo deinit
|
||||||
|
--disable_warnings
|
||||||
|
--connection master_1
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote2;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
|
||||||
|
--enable_warnings
|
||||||
|
--source ../include/quick_mode_1_deinit.inc
|
||||||
|
--echo
|
||||||
|
--echo end of test
|
@@ -0,0 +1,4 @@
|
|||||||
|
!include include/default_mysqld.cnf
|
||||||
|
!include ../my_1_1.cnf
|
||||||
|
!include ../my_2_1.cnf
|
||||||
|
!include ../my_2_2.cnf
|
156
storage/spider/mysql-test/spider/bugfix/t/quick_mode_2.test
Normal file
156
storage/spider/mysql-test/spider/bugfix/t/quick_mode_2.test
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
--source ../include/quick_mode_2_init.inc
|
||||||
|
--echo
|
||||||
|
--echo this test is for MDEV-16520
|
||||||
|
--echo
|
||||||
|
--echo drop and create databases
|
||||||
|
--connection master_1
|
||||||
|
--disable_warnings
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote;
|
||||||
|
USE auto_test_remote;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote2;
|
||||||
|
USE auto_test_remote2;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo create table and insert
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--disable_query_log
|
||||||
|
echo CHILD2_1_CREATE_TABLES;
|
||||||
|
eval $CHILD2_1_CREATE_TABLES;
|
||||||
|
--enable_query_log
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--disable_query_log
|
||||||
|
echo CHILD2_2_CREATE_TABLES;
|
||||||
|
eval $CHILD2_2_CREATE_TABLES;
|
||||||
|
--enable_query_log
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
--disable_query_log
|
||||||
|
echo CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_1;
|
||||||
|
echo CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_2;
|
||||||
|
eval CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $MASTER_1_ENGINE $MASTER_1_CHARSET $MASTER_1_COMMENT_2_1;
|
||||||
|
eval CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $MASTER_1_ENGINE $MASTER_1_CHARSET $MASTER_1_COMMENT_2_2;
|
||||||
|
--enable_query_log
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo select test 1
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_1_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_1_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_2_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_2_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
eval $MASTER_1_SET_QUICK_PAGE_BYTE_6;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo select test 2
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_1_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_1_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_2_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_2_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
eval $MASTER_1_SET_QUICK_PAGE_BYTE_0;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo select test 3
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_1_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_1_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_2_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_2_SELECT_TABLES;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo deinit
|
||||||
|
--disable_warnings
|
||||||
|
--connection master_1
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote2;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
|
||||||
|
--enable_warnings
|
||||||
|
--source ../include/quick_mode_2_deinit.inc
|
||||||
|
--echo
|
||||||
|
--echo end of test
|
@@ -0,0 +1,4 @@
|
|||||||
|
!include include/default_mysqld.cnf
|
||||||
|
!include ../my_1_1.cnf
|
||||||
|
!include ../my_2_1.cnf
|
||||||
|
!include ../my_2_2.cnf
|
157
storage/spider/mysql-test/spider/bugfix/t/quick_mode_3.test
Normal file
157
storage/spider/mysql-test/spider/bugfix/t/quick_mode_3.test
Normal file
@@ -0,0 +1,157 @@
|
|||||||
|
--source ../include/quick_mode_3_init.inc
|
||||||
|
--echo
|
||||||
|
--echo this test is for MDEV-16520
|
||||||
|
--echo
|
||||||
|
--echo drop and create databases
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
--disable_warnings
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote;
|
||||||
|
USE auto_test_remote;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote2;
|
||||||
|
USE auto_test_remote2;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo create table and insert
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--disable_query_log
|
||||||
|
echo CHILD2_1_CREATE_TABLES;
|
||||||
|
eval $CHILD2_1_CREATE_TABLES;
|
||||||
|
--enable_query_log
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--disable_query_log
|
||||||
|
echo CHILD2_2_CREATE_TABLES;
|
||||||
|
eval $CHILD2_2_CREATE_TABLES;
|
||||||
|
--enable_query_log
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
--disable_query_log
|
||||||
|
echo CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_1;
|
||||||
|
echo CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_2;
|
||||||
|
eval CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $MASTER_1_ENGINE $MASTER_1_CHARSET $MASTER_1_COMMENT_2_1;
|
||||||
|
eval CREATE TABLE tbl_b (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $MASTER_1_ENGINE $MASTER_1_CHARSET $MASTER_1_COMMENT_2_2;
|
||||||
|
--enable_query_log
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (10),(11),(12),(13),(14),(15),(16),(17),(18),(19);
|
||||||
|
INSERT INTO tbl_b (pkey) VALUES (20),(21),(22),(23),(24),(25),(26),(27),(28),(29);
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo select test 1
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_1_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_1_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_2_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_2_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
eval $MASTER_1_SET_QUICK_PAGE_BYTE_6;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo select test 2
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_1_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_1_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_2_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_2_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
eval $MASTER_1_SET_QUICK_PAGE_BYTE_0;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo select test 3
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
SELECT a.pkey FROM tbl_a a, tbl_b b WHERE a.pkey = b.pkey;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_1_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_1_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
--replace_regex /tmp_spider_bka_0x[0-9a-f]*/tmp_spider_bka_xxxx/
|
||||||
|
eval $CHILD2_2_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_2_SELECT_TABLES;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo deinit
|
||||||
|
--disable_warnings
|
||||||
|
--connection master_1
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
|
||||||
|
--connection child2_2
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote2;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
|
||||||
|
--enable_warnings
|
||||||
|
--source ../include/quick_mode_3_deinit.inc
|
||||||
|
--echo
|
||||||
|
--echo end of test
|
@@ -0,0 +1,4 @@
|
|||||||
|
!include include/default_mysqld.cnf
|
||||||
|
!include ../my_1_1.cnf
|
||||||
|
!include ../my_2_1.cnf
|
||||||
|
!include ../my_4_1.cnf
|
@@ -0,0 +1,95 @@
|
|||||||
|
--source ../include/slave_trx_isolation_init.inc
|
||||||
|
--echo
|
||||||
|
--echo drop and create databases
|
||||||
|
--connection master_1
|
||||||
|
--disable_warnings
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
|
||||||
|
--connection slave1_1
|
||||||
|
CREATE DATABASE auto_test_local;
|
||||||
|
USE auto_test_local;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
SET @old_log_output = @@global.log_output;
|
||||||
|
SET GLOBAL log_output = 'TABLE,FILE';
|
||||||
|
CREATE DATABASE auto_test_remote;
|
||||||
|
USE auto_test_remote;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo create table and insert
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
--disable_query_log
|
||||||
|
echo CHILD2_1_CREATE_TABLES;
|
||||||
|
eval $CHILD2_1_CREATE_TABLES;
|
||||||
|
--enable_query_log
|
||||||
|
TRUNCATE TABLE mysql.general_log;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
save_master_pos;
|
||||||
|
|
||||||
|
--connection slave1_1
|
||||||
|
sync_with_master;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
SET SESSION sql_log_bin= 0;
|
||||||
|
--disable_query_log
|
||||||
|
echo CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE2 MASTER_1_CHARSET MASTER_1_COMMENT_2_1;
|
||||||
|
eval CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $MASTER_1_ENGINE2 $MASTER_1_CHARSET $MASTER_1_COMMENT_2_1;
|
||||||
|
--enable_query_log
|
||||||
|
SET SESSION sql_log_bin= 1;
|
||||||
|
|
||||||
|
--connection slave1_1
|
||||||
|
--disable_query_log
|
||||||
|
echo CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_1;
|
||||||
|
eval CREATE TABLE tbl_a (
|
||||||
|
pkey int NOT NULL,
|
||||||
|
PRIMARY KEY (pkey)
|
||||||
|
) $MASTER_1_ENGINE $MASTER_1_CHARSET $MASTER_1_COMMENT_2_1;
|
||||||
|
--enable_query_log
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
INSERT INTO tbl_a (pkey) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
save_master_pos;
|
||||||
|
|
||||||
|
--connection slave1_1
|
||||||
|
sync_with_master;
|
||||||
|
|
||||||
|
--connection master_1
|
||||||
|
SET SESSION sql_log_bin= 0;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
eval $CHILD2_1_SELECT_ARGUMENT1;
|
||||||
|
eval $CHILD2_1_SELECT_TABLES;
|
||||||
|
|
||||||
|
--connection slave1_1
|
||||||
|
SELECT pkey FROM tbl_a ORDER BY pkey;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo deinit
|
||||||
|
--disable_warnings
|
||||||
|
--connection master_1
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
|
||||||
|
--connection slave1_1
|
||||||
|
DROP DATABASE IF EXISTS auto_test_local;
|
||||||
|
|
||||||
|
--connection child2_1
|
||||||
|
DROP DATABASE IF EXISTS auto_test_remote;
|
||||||
|
SET GLOBAL log_output = @old_log_output;
|
||||||
|
|
||||||
|
--enable_warnings
|
||||||
|
--source ../include/slave_trx_isolation_deinit.inc
|
||||||
|
--echo
|
||||||
|
--echo end of test
|
@@ -0,0 +1,3 @@
|
|||||||
|
!include include/default_mysqld.cnf
|
||||||
|
!include ../my_1_1.cnf
|
||||||
|
!include ../my_2_1.cnf
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user