Merge remote-tracking branch '10.2' into 10.3
This commit is contained in:
commit
65eefcdc60
3
CREDITS
3
CREDITS
@ -5,15 +5,14 @@ The current main sponsors of the MariaDB Foundation are:
|
||||
|
||||
Alibaba Cloud https://www.alibabacloud.com/ (2017)
|
||||
Booking.com https://www.booking.com (2013)
|
||||
MariaDB Corporation https://www.mariadb.com (2013)
|
||||
Microsoft https://microsoft.com/ (2017)
|
||||
Tencent Cloud https://cloud.tencent.com (2017)
|
||||
Development Bank of Singapore https://dbs.com (2016)
|
||||
IBM https://www.ibm.com (2017)
|
||||
MariaDB Corporation https://www.mariadb.com (2013)
|
||||
Visma https://visma.com (2015)
|
||||
Acronis http://acronis.com (2016)
|
||||
Nexedi https://www.nexedi.com (2016)
|
||||
Automattic https://automattic.com (2014)
|
||||
Tencent Game DBA http://tencentdba.com/about (2016)
|
||||
Tencent TDSQL http://tdsql.org (2016)
|
||||
Verkkokauppa.com https://www.verkkokauppa.com (2015)
|
||||
|
@ -522,7 +522,7 @@ struct st_match_err
|
||||
|
||||
struct st_expected_errors
|
||||
{
|
||||
struct st_match_err err[10];
|
||||
struct st_match_err err[12];
|
||||
uint count;
|
||||
};
|
||||
static struct st_expected_errors saved_expected_errors;
|
||||
|
@ -73,6 +73,17 @@ IF(WITH_INNOBASE_STORAGE_ENGINE)
|
||||
# We use the InnoDB code directly in case the code changes.
|
||||
ADD_DEFINITIONS("-DUNIV_INNOCHECKSUM")
|
||||
|
||||
# Avoid generating Hardware Capabilities due to crc32 instructions
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND CMAKE_SYSTEM_PROCESSOR MATCHES "i386")
|
||||
MY_CHECK_CXX_COMPILER_FLAG("-Wa,-nH")
|
||||
IF(have_CXX__Wa__nH)
|
||||
ADD_COMPILE_FLAGS(
|
||||
../storage/innobase/ut/ut0crc32.cc
|
||||
COMPILE_FLAGS "-Wa,-nH"
|
||||
)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
SET(INNOBASE_SOURCES
|
||||
../storage/innobase/buf/buf0checksum.cc
|
||||
../storage/innobase/ut/ut0crc32.cc
|
||||
|
@ -1816,7 +1816,8 @@ copy_back()
|
||||
is_ibdata_file = false;
|
||||
for (Tablespace::const_iterator iter(srv_sys_space.begin()),
|
||||
end(srv_sys_space.end()); iter != end; ++iter) {
|
||||
if (strcmp(iter->name(), filename) == 0) {
|
||||
const char *ibfile = base_name(iter->name());
|
||||
if (strcmp(ibfile, filename) == 0) {
|
||||
is_ibdata_file = true;
|
||||
break;
|
||||
}
|
||||
|
@ -241,7 +241,7 @@ static struct my_option ibx_long_options[] =
|
||||
{"galera-info", OPT_GALERA_INFO, "This options creates the "
|
||||
"xtrabackup_galera_info file which contains the local node state at "
|
||||
"the time of the backup. Option should be used when performing the "
|
||||
"backup of Percona-XtraDB-Cluster. Has no effect when backup locks "
|
||||
"backup of MariaDB Galera Cluster. Has no effect when backup locks "
|
||||
"are used to create the backup.",
|
||||
(uchar *) &opt_ibx_galera_info, (uchar *) &opt_ibx_galera_info, 0,
|
||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
@ -812,7 +812,7 @@ struct my_option xb_client_options[] =
|
||||
{"galera-info", OPT_GALERA_INFO, "This options creates the "
|
||||
"xtrabackup_galera_info file which contains the local node state at "
|
||||
"the time of the backup. Option should be used when performing the "
|
||||
"backup of Percona-XtraDB-Cluster. Has no effect when backup locks "
|
||||
"backup of MariaDB Galera Cluster. Has no effect when backup locks "
|
||||
"are used to create the backup.",
|
||||
(uchar *) &opt_galera_info, (uchar *) &opt_galera_info, 0,
|
||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
@ -5687,6 +5687,10 @@ static int main_low(char** argv)
|
||||
xtrabackup_incremental = NULL;
|
||||
}
|
||||
|
||||
if (xtrabackup_stream && !xtrabackup_backup) {
|
||||
msg("Warning: --stream parameter is ignored, it only works together with --backup.\n");
|
||||
}
|
||||
|
||||
if (!xb_init()) {
|
||||
return(EXIT_FAILURE);
|
||||
}
|
||||
|
@ -16,8 +16,8 @@
|
||||
*/
|
||||
|
||||
|
||||
#ifndef MY_SYSTEMD_INCLUDED
|
||||
#define MY_SYSTEMD_INCLUDED
|
||||
#ifndef MY_SERVICE_MANAGER_INCLUDED
|
||||
#define MY_SERVICE_MANAGER_INCLUDED
|
||||
|
||||
#if defined(HAVE_SYSTEMD) && !defined(EMBEDDED_LIBRARY)
|
||||
/*
|
||||
@ -26,9 +26,14 @@
|
||||
*/
|
||||
#define __STDC_FORMAT_MACROS
|
||||
#include <systemd/sd-daemon.h>
|
||||
/** INTERVAL in seconds followed by printf style status */
|
||||
#define service_manager_extend_timeout(INTERVAL, FMTSTR, ...) \
|
||||
sd_notifyf(0, "STATUS=" FMTSTR "\nEXTEND_TIMEOUT_USEC=%u\n", ##__VA_ARGS__, INTERVAL * 1000000)
|
||||
|
||||
#else
|
||||
#define sd_notify(X, Y)
|
||||
#define sd_notifyf(E, F, ...)
|
||||
#define service_manager_extend_timeout(I, FMTSTR, ...)
|
||||
#endif
|
||||
|
||||
#endif /* MY_SYSTEMD_INCLUDED */
|
||||
#endif /* MY_SERVICE_MANAGER_INCLUDED */
|
@ -16,9 +16,6 @@ if (!$restart_parameters)
|
||||
# Call script that will poll the server waiting for it to be back online again
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
# Wait for wsrep
|
||||
--source include/wait_wsrep_ready.inc
|
||||
|
||||
# Turn off reconnect again
|
||||
--disable_reconnect
|
||||
|
||||
|
@ -23,3 +23,9 @@ while ($mysql_errno)
|
||||
}
|
||||
--enable_query_log
|
||||
--enable_result_log
|
||||
|
||||
# WSREP: SHOW STATUS queries are allowed even if wsrep
|
||||
# is not ready. Make sure wsrep is ready before
|
||||
# returning from this script
|
||||
|
||||
--source include/wait_wsrep_ready.inc
|
||||
|
@ -182,8 +182,16 @@ drop table t1;
|
||||
CREATE USER mysqltest_u1@localhost;
|
||||
GRANT USAGE ON *.* TO mysqltest_u1@localhost;
|
||||
|
||||
SET GLOBAL max_connections = 3;
|
||||
SET GLOBAL max_connections = 10;
|
||||
SET GLOBAL event_scheduler = ON;
|
||||
connect tmp_con1,localhost,mysqltest_u1,,;
|
||||
connect tmp_con2,localhost,mysqltest_u1,,;
|
||||
connect tmp_con3,localhost,mysqltest_u1,,;
|
||||
connect tmp_con4,localhost,mysqltest_u1,,;
|
||||
connect tmp_con5,localhost,mysqltest_u1,,;
|
||||
connect tmp_con6,localhost,mysqltest_u1,,;
|
||||
connect tmp_con7,localhost,mysqltest_u1,,;
|
||||
connection default;
|
||||
|
||||
# -- Waiting for Event Scheduler to start...
|
||||
|
||||
@ -227,6 +235,13 @@ event_scheduler
|
||||
mysqltest_u1
|
||||
mysqltest_u1
|
||||
mysqltest_u1
|
||||
mysqltest_u1
|
||||
mysqltest_u1
|
||||
mysqltest_u1
|
||||
mysqltest_u1
|
||||
mysqltest_u1
|
||||
mysqltest_u1
|
||||
mysqltest_u1
|
||||
root
|
||||
|
||||
# -- Resetting variables...
|
||||
@ -242,6 +257,13 @@ disconnect con_1;
|
||||
disconnect con_2;
|
||||
disconnect con_3;
|
||||
disconnect con_super_1;
|
||||
disconnect tmp_con1;
|
||||
disconnect tmp_con2;
|
||||
disconnect tmp_con3;
|
||||
disconnect tmp_con4;
|
||||
disconnect tmp_con5;
|
||||
disconnect tmp_con6;
|
||||
disconnect tmp_con7;
|
||||
|
||||
# -- Restoring default connection...
|
||||
connect default,localhost,root,,test;
|
||||
|
@ -143,9 +143,18 @@ GRANT USAGE ON *.* TO mysqltest_u1@localhost;
|
||||
|
||||
--echo
|
||||
let $saved_max_connections = `SELECT @@global.max_connections`;
|
||||
SET GLOBAL max_connections = 3;
|
||||
SET GLOBAL max_connections = 10;
|
||||
SET GLOBAL event_scheduler = ON;
|
||||
|
||||
connect (tmp_con1,localhost,mysqltest_u1,,);
|
||||
connect (tmp_con2,localhost,mysqltest_u1,,);
|
||||
connect (tmp_con3,localhost,mysqltest_u1,,);
|
||||
connect (tmp_con4,localhost,mysqltest_u1,,);
|
||||
connect (tmp_con5,localhost,mysqltest_u1,,);
|
||||
connect (tmp_con6,localhost,mysqltest_u1,,);
|
||||
connect (tmp_con7,localhost,mysqltest_u1,,);
|
||||
connection default;
|
||||
|
||||
--echo
|
||||
--echo # -- Waiting for Event Scheduler to start...
|
||||
let $wait_condition =
|
||||
@ -230,6 +239,13 @@ let $wait_condition =
|
||||
--disconnect con_2
|
||||
--disconnect con_3
|
||||
--disconnect con_super_1
|
||||
--disconnect tmp_con1
|
||||
--disconnect tmp_con2
|
||||
--disconnect tmp_con3
|
||||
--disconnect tmp_con4
|
||||
--disconnect tmp_con5
|
||||
--disconnect tmp_con6
|
||||
--disconnect tmp_con7
|
||||
|
||||
--echo
|
||||
--echo # -- Restoring default connection...
|
||||
|
@ -4,13 +4,12 @@ Booking.com https://www.booking.com Founding member, Platinum Sponsor of the Mar
|
||||
Alibaba Cloud https://www.alibabacloud.com/ Platinum Sponsor of the MariaDB Foundation
|
||||
Tencent Cloud https://cloud.tencent.com Platinum Sponsor of the MariaDB Foundation
|
||||
Microsoft https://microsoft.com/ Platinum Sponsor of the MariaDB Foundation
|
||||
MariaDB Corporation https://mariadb.com Founding member, Gold Sponsor of the MariaDB Foundation
|
||||
MariaDB Corporation https://mariadb.com Founding member, Platinum Sponsor of the MariaDB Foundation
|
||||
Visma https://visma.com Gold Sponsor of the MariaDB Foundation
|
||||
DBS https://dbs.com Gold Sponsor of the MariaDB Foundation
|
||||
IBM https://www.ibm.com Gold Sponsor of the MariaDB Foundation
|
||||
Nexedi https://www.nexedi.com Silver Sponsor of the MariaDB Foundation
|
||||
Acronis http://www.acronis.com Silver Sponsor of the MariaDB Foundation
|
||||
Auttomattic https://automattic.com Bronze Sponsor of the MariaDB Foundation
|
||||
Verkkokauppa.com https://www.verkkokauppa.com Bronze Sponsor of the MariaDB Foundation
|
||||
Virtuozzo https://virtuozzo.com Bronze Sponsor of the MariaDB Foundation
|
||||
Tencent Game DBA http://tencentdba.com/about Bronze Sponsor of the MariaDB Foundation
|
||||
|
@ -12763,6 +12763,21 @@ EXPLAIN
|
||||
}
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# MDEV-15765: pushing condition with temporal constants
|
||||
# into constant tables
|
||||
#
|
||||
select * from (select date('2018-01-01') as d
|
||||
union all
|
||||
select date('2018-01-01') as d) as t
|
||||
where t.d between date ('2017-01-01') and date ('2019-01-01');
|
||||
d
|
||||
2018-01-01
|
||||
2018-01-01
|
||||
select * from (select date('2018-01-01') as d) as t
|
||||
where t.d between date ('2017-01-01') and date ('2019-01-01');
|
||||
d
|
||||
2018-01-01
|
||||
#
|
||||
# MDEV-10855: Pushdown into derived with window functions
|
||||
#
|
||||
set @save_optimizer_switch= @@optimizer_switch;
|
||||
|
@ -2208,6 +2208,19 @@ EVAL EXPLAIN FORMAT=JSON $query;
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-15765: pushing condition with temporal constants
|
||||
--echo # into constant tables
|
||||
--echo #
|
||||
|
||||
select * from (select date('2018-01-01') as d
|
||||
union all
|
||||
select date('2018-01-01') as d) as t
|
||||
where t.d between date ('2017-01-01') and date ('2019-01-01');
|
||||
|
||||
select * from (select date('2018-01-01') as d) as t
|
||||
where t.d between date ('2017-01-01') and date ('2019-01-01');
|
||||
|
||||
# Start of 10.3 tests
|
||||
|
||||
--echo #
|
||||
|
@ -585,6 +585,17 @@ SELECT NAME_CONST('a', -(1)) OR 1;
|
||||
NAME_CONST('a', -(1)) OR 1
|
||||
1
|
||||
#
|
||||
# MDEV-15630 uuid() function evaluates at wrong time in query
|
||||
#
|
||||
CREATE TABLE t1 (id INT);
|
||||
INSERT INTO t1 VALUES (1),(2),(3);
|
||||
SELECT COUNT(1), UUID() as uid FROM t1 GROUP BY uid;
|
||||
COUNT(1) uid
|
||||
1 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
||||
1 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
||||
1 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
#
|
||||
|
@ -606,6 +606,17 @@ SELECT NAME_CONST('a', -(1 OR 2)) OR 1;
|
||||
SELECT NAME_CONST('a', -(1 AND 2)) OR 1;
|
||||
SELECT NAME_CONST('a', -(1)) OR 1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-15630 uuid() function evaluates at wrong time in query
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (id INT);
|
||||
INSERT INTO t1 VALUES (1),(2),(3);
|
||||
--replace_column 2 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
||||
SELECT COUNT(1), UUID() as uid FROM t1 GROUP BY uid;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 5.5 tests
|
||||
--echo #
|
||||
|
@ -4755,6 +4755,43 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
Warnings:
|
||||
Note 1003 select char(0xdf) AS `CHAR(0xDF)`
|
||||
#
|
||||
# MDEV-15619 using CONVERT() inside AES_ENCRYPT() in an UPDATE corrupts data
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
id int(11) NOT NULL,
|
||||
session_id varchar(255) DEFAULT NULL,
|
||||
directory mediumtext,
|
||||
checksum int(10) DEFAULT NULL,
|
||||
last_update datetime DEFAULT NULL,
|
||||
PRIMARY KEY (id),
|
||||
KEY lastupdate (last_update)
|
||||
) DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 VALUES (1,'',NULL,38391,'2017-06-24 07:35:28');
|
||||
UPDATE t1 SET directory = AES_ENCRYPT(CONVERT('test stringrererejrjerjehrjekhrjkehrjkehrkjehrjkerhkjehrjekrhkjehrkjerhjkehrkjehrkjehrjkehrjkehrjkehrjkerjkehrjkehrjkehrjke rekjhrejrejhrjehgrehjgrhjerjhegrjherejhgrjhegrjehgrjhegrejhrgjehgrjhegrjhegrjhergjhegrjhegrhjegrjerhthkjjkdhjkgdfjkgjkdgdjkfjkhgjkfdhjgjkfdghkjdfghkjfdghfjkdghkdjfghdkjfghfjkdghfkjdghkjfdghfkjdghfkdjghfkjdghfdjkghjkdfhgdfjkghfjkdghfjkdghfjdkghfjkdghkfjdghfkjdghfkjdghkjdfghfjdkghjkfdghkjdfhgjkdfhgjkfdhgkjfdghkfjdhgkjfdgdjkejktjherjthkjrethkjrethjkerthjkerhtjkerhtkjerhtjkerhtjkerhtjkrehtkjerhtkjrehtjkrehtkjrehtkjerhtkjerhtjkrehtkjrehtjkrehtkjrethjkrethkjrehtkjethjkerhtjkrehtjkretkjerhtkjrehtjkerhtjkrehtjrehtkjrekjtrfgdsfgdhjsghjgfdhjsfhjdfgdhjshjdshjfghjdsfgjhsfgjhsdfgjhdsfgjdhsfgsjhfgjhsdfgsdjhfgjdhsfdjshfgdsjhfgjsdhfdjshfgdjhsfgdjshfgjdhsfgjhsdfgjhsdgfjhsdgfjhdsgfjhsgfjhsdgfjhdsgfhjsdehkjthrkjethjkre' USING latin1), '95F5A1F52A554'), last_update= NOW();
|
||||
SELECT directory IS NULL FROM t1;
|
||||
directory IS NULL
|
||||
0
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
id int(11) NOT NULL PRIMARY KEY,
|
||||
directory mediumtext
|
||||
) DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 VALUES (1,AES_ENCRYPT(CONVERT(REPEAT('a',800) USING latin1),'95F5A1F52A554'));
|
||||
SELECT AES_DECRYPT(directory,'95F5A1F52A554') FROM t1;
|
||||
AES_DECRYPT(directory,'95F5A1F52A554')
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
DROP TABLE t1;
|
||||
SET @enc=AES_ENCRYPT(REPEAT(_latin1'a',800),'95F5A1F52A554');
|
||||
CREATE TABLE t1 (
|
||||
id int(11) NOT NULL PRIMARY KEY,
|
||||
directory mediumtext
|
||||
) DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 VALUES (1,AES_DECRYPT(CONVERT(@enc USING binary),'95F5A1F52A554'));
|
||||
SELECT * FROM t1;
|
||||
id directory
|
||||
1 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Start of 10.1 tests
|
||||
#
|
||||
#
|
||||
|
@ -1821,6 +1821,41 @@ EXPLAIN EXTENDED SELECT CHAR(0xDF USING latin1);
|
||||
EXPLAIN EXTENDED SELECT CHAR(0xDF USING `binary`);
|
||||
EXPLAIN EXTENDED SELECT CHAR(0xDF);
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-15619 using CONVERT() inside AES_ENCRYPT() in an UPDATE corrupts data
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (
|
||||
id int(11) NOT NULL,
|
||||
session_id varchar(255) DEFAULT NULL,
|
||||
directory mediumtext,
|
||||
checksum int(10) DEFAULT NULL,
|
||||
last_update datetime DEFAULT NULL,
|
||||
PRIMARY KEY (id),
|
||||
KEY lastupdate (last_update)
|
||||
) DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 VALUES (1,'',NULL,38391,'2017-06-24 07:35:28');
|
||||
UPDATE t1 SET directory = AES_ENCRYPT(CONVERT('test stringrererejrjerjehrjekhrjkehrjkehrkjehrjkerhkjehrjekrhkjehrkjerhjkehrkjehrkjehrjkehrjkehrjkehrjkerjkehrjkehrjkehrjke rekjhrejrejhrjehgrehjgrhjerjhegrjherejhgrjhegrjehgrjhegrejhrgjehgrjhegrjhegrjhergjhegrjhegrhjegrjerhthkjjkdhjkgdfjkgjkdgdjkfjkhgjkfdhjgjkfdghkjdfghkjfdghfjkdghkdjfghdkjfghfjkdghfkjdghkjfdghfkjdghfkdjghfkjdghfdjkghjkdfhgdfjkghfjkdghfjkdghfjdkghfjkdghkfjdghfkjdghfkjdghkjdfghfjdkghjkfdghkjdfhgjkdfhgjkfdhgkjfdghkfjdhgkjfdgdjkejktjherjthkjrethkjrethjkerthjkerhtjkerhtkjerhtjkerhtjkerhtjkrehtkjerhtkjrehtjkrehtkjrehtkjerhtkjerhtjkrehtkjrehtjkrehtkjrethjkrethkjrehtkjethjkerhtjkrehtjkretkjerhtkjrehtjkerhtjkrehtjrehtkjrekjtrfgdsfgdhjsghjgfdhjsfhjdfgdhjshjdshjfghjdsfgjhsfgjhsdfgjhdsfgjdhsfgsjhfgjhsdfgsdjhfgjdhsfdjshfgdsjhfgjsdhfdjshfgdjhsfgdjshfgjdhsfgjhsdfgjhsdgfjhsdgfjhdsgfjhsgfjhsdgfjhdsgfhjsdehkjthrkjethjkre' USING latin1), '95F5A1F52A554'), last_update= NOW();
|
||||
SELECT directory IS NULL FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
id int(11) NOT NULL PRIMARY KEY,
|
||||
directory mediumtext
|
||||
) DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 VALUES (1,AES_ENCRYPT(CONVERT(REPEAT('a',800) USING latin1),'95F5A1F52A554'));
|
||||
SELECT AES_DECRYPT(directory,'95F5A1F52A554') FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
SET @enc=AES_ENCRYPT(REPEAT(_latin1'a',800),'95F5A1F52A554');
|
||||
CREATE TABLE t1 (
|
||||
id int(11) NOT NULL PRIMARY KEY,
|
||||
directory mediumtext
|
||||
) DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 VALUES (1,AES_DECRYPT(CONVERT(@enc USING binary),'95F5A1F52A554'));
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Start of 10.1 tests
|
||||
--echo #
|
||||
|
@ -489,3 +489,19 @@ unlock tables;
|
||||
disconnect con1;
|
||||
connection default;
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-15769: Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed in Diagnostics_area::set_ok_status
|
||||
#
|
||||
CREATE TABLE t1 (a INT);
|
||||
CREATE TABLE t2 (b INT);
|
||||
LOCK TABLE t1 READ;
|
||||
connect con1,localhost,root,,test;
|
||||
LOCK TABLE t2 WRITE;
|
||||
SET lock_wait_timeout= 1;
|
||||
FLUSH TABLES;
|
||||
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
||||
UNLOCK TABLES;
|
||||
disconnect con1;
|
||||
connection default;
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t1, t2;
|
||||
|
@ -598,3 +598,24 @@ unlock tables;
|
||||
disconnect con1;
|
||||
connection default;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-15769: Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed in Diagnostics_area::set_ok_status
|
||||
--echo #
|
||||
CREATE TABLE t1 (a INT);
|
||||
CREATE TABLE t2 (b INT);
|
||||
LOCK TABLE t1 READ;
|
||||
|
||||
--connect (con1,localhost,root,,test)
|
||||
LOCK TABLE t2 WRITE;
|
||||
SET lock_wait_timeout= 1;
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
FLUSH TABLES;
|
||||
|
||||
# Cleanup
|
||||
UNLOCK TABLES;
|
||||
--disconnect con1
|
||||
--connection default
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
|
@ -1,5 +1,13 @@
|
||||
SET GLOBAL log_warnings=4;
|
||||
SET GLOBAL max_connections=2;
|
||||
SET GLOBAL max_connections=10;
|
||||
connect tmp_con1,localhost,root,,;
|
||||
connect tmp_con2,localhost,root,,;
|
||||
connect tmp_con3,localhost,root,,;
|
||||
connect tmp_con4,localhost,root,,;
|
||||
connect tmp_con5,localhost,root,,;
|
||||
connect tmp_con6,localhost,root,,;
|
||||
connect tmp_con7,localhost,root,,;
|
||||
connect tmp_con8,localhost,root,,;
|
||||
connect con1,localhost,root,,;
|
||||
SELECT 1;
|
||||
1
|
||||
@ -15,6 +23,6 @@ SELECT 0;
|
||||
0
|
||||
show status like "Threads_connected";
|
||||
Variable_name Value
|
||||
Threads_connected 3
|
||||
Threads_connected 11
|
||||
SET GLOBAL log_warnings=default;
|
||||
SET GLOBAL max_connections=default;
|
||||
|
@ -4,7 +4,16 @@
|
||||
--source include/not_embedded.inc
|
||||
|
||||
SET GLOBAL log_warnings=4;
|
||||
SET GLOBAL max_connections=2;
|
||||
SET GLOBAL max_connections=10;
|
||||
|
||||
--connect (tmp_con1,localhost,root,,)
|
||||
--connect (tmp_con2,localhost,root,,)
|
||||
--connect (tmp_con3,localhost,root,,)
|
||||
--connect (tmp_con4,localhost,root,,)
|
||||
--connect (tmp_con5,localhost,root,,)
|
||||
--connect (tmp_con6,localhost,root,,)
|
||||
--connect (tmp_con7,localhost,root,,)
|
||||
--connect (tmp_con8,localhost,root,,)
|
||||
|
||||
--connect (con1,localhost,root,,)
|
||||
SELECT 1;
|
||||
|
@ -1938,16 +1938,17 @@ DROP TABLE t1;
|
||||
#
|
||||
# BUG#48438 - crash with error in unioned query against merge table and view...
|
||||
#
|
||||
SET GLOBAL table_open_cache=3;
|
||||
SET @save_table_open_cache=@@table_open_cache;
|
||||
SET GLOBAL table_open_cache=10;
|
||||
CREATE TABLE t1(a INT);
|
||||
SELECT 1 FROM t1 AS a1, t1 AS a2, t1 AS a3, t1 AS a4 FOR UPDATE;
|
||||
SELECT 1 FROM t1 AS a1, t1 AS a2, t1 AS a3, t1 AS a4, t1 AS a5, t1 AS a6, t1 AS a7, t1 AS a8, t1 AS a9, t1 AS a10, t1 AS a11 FOR UPDATE;
|
||||
1
|
||||
SELECT TABLE_ROWS, DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
|
||||
TABLE_ROWS DATA_LENGTH
|
||||
0 0
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL table_open_cache=DEFAULT;
|
||||
SET GLOBAL table_open_cache=@save_table_open_cache;
|
||||
End of 5.0 tests
|
||||
create table t1 (a int not null, key `a` (a) key_block_size=1024);
|
||||
show create table t1;
|
||||
|
@ -1220,13 +1220,14 @@ DROP TABLE t1;
|
||||
--echo #
|
||||
--echo # BUG#48438 - crash with error in unioned query against merge table and view...
|
||||
--echo #
|
||||
SET GLOBAL table_open_cache=3;
|
||||
SET @save_table_open_cache=@@table_open_cache;
|
||||
SET GLOBAL table_open_cache=10;
|
||||
CREATE TABLE t1(a INT);
|
||||
SELECT 1 FROM t1 AS a1, t1 AS a2, t1 AS a3, t1 AS a4 FOR UPDATE;
|
||||
SELECT 1 FROM t1 AS a1, t1 AS a2, t1 AS a3, t1 AS a4, t1 AS a5, t1 AS a6, t1 AS a7, t1 AS a8, t1 AS a9, t1 AS a10, t1 AS a11 FOR UPDATE;
|
||||
SELECT TABLE_ROWS, DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL table_open_cache=DEFAULT;
|
||||
SET GLOBAL table_open_cache=@save_table_open_cache;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
|
@ -18,6 +18,7 @@ connection con1;
|
||||
call mtr.add_suppression("Got an error from thread_id=.*ha_myisam.cc:");
|
||||
call mtr.add_suppression("MySQL thread id .*, query id .* localhost.*root Checking table");
|
||||
call mtr.add_suppression(" '\..test.t1'");
|
||||
set @save_table_open_cache=@@table_open_cache;
|
||||
set global table_open_cache=256;
|
||||
set global table_definition_cache=400;
|
||||
drop procedure if exists p_create;
|
||||
@ -98,7 +99,7 @@ prepare stmt from @drop_table_stmt;
|
||||
execute stmt;
|
||||
deallocate prepare stmt;
|
||||
set @@global.table_definition_cache=default;
|
||||
set @@global.table_open_cache=default;
|
||||
set @@global.table_open_cache=@save_table_open_cache;
|
||||
disconnect con1;
|
||||
connection default;
|
||||
#
|
||||
|
@ -23,6 +23,7 @@ call mtr.add_suppression("Got an error from thread_id=.*ha_myisam.cc:");
|
||||
call mtr.add_suppression("MySQL thread id .*, query id .* localhost.*root Checking table");
|
||||
call mtr.add_suppression(" '\..test.t1'");
|
||||
|
||||
set @save_table_open_cache=@@table_open_cache;
|
||||
set global table_open_cache=256;
|
||||
set global table_definition_cache=400;
|
||||
--disable_warnings
|
||||
@ -104,7 +105,7 @@ prepare stmt from @drop_table_stmt;
|
||||
execute stmt;
|
||||
deallocate prepare stmt;
|
||||
set @@global.table_definition_cache=default;
|
||||
set @@global.table_open_cache=default;
|
||||
set @@global.table_open_cache=@save_table_open_cache;
|
||||
disconnect con1;
|
||||
connection default;
|
||||
--enable_ps_protocol
|
||||
|
@ -105,10 +105,10 @@
|
||||
sync-relay-log-info 10000
|
||||
sysdate-is-now FALSE
|
||||
system-versioning-alter-history ERROR
|
||||
-table-cache 431
|
||||
-table-cache 421
|
||||
+table-cache 2000
|
||||
table-definition-cache 400
|
||||
-table-open-cache 431
|
||||
-table-open-cache 421
|
||||
+table-open-cache 2000
|
||||
table-open-cache-instances 8
|
||||
tc-heuristic-recover OFF
|
||||
|
@ -1652,9 +1652,9 @@ sync-relay-log 10000
|
||||
sync-relay-log-info 10000
|
||||
sysdate-is-now FALSE
|
||||
system-versioning-alter-history ERROR
|
||||
table-cache 431
|
||||
table-cache 421
|
||||
table-definition-cache 400
|
||||
table-open-cache 431
|
||||
table-open-cache 421
|
||||
table-open-cache-instances 8
|
||||
tc-heuristic-recover OFF
|
||||
tcp-keepalive-interval 0
|
||||
|
@ -684,7 +684,7 @@ remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
|
||||
|
||||
# Too many errorcodes specified
|
||||
--error 1
|
||||
--exec echo "--error 1,2,3,4,5,6,7,8,9,10,11" | $MYSQL_TEST 2>&1
|
||||
--exec echo "--error 1,2,3,4,5,6,7,8,9,10,11,12,13" | $MYSQL_TEST 2>&1
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
|
@ -3,4 +3,4 @@ MySQL error code 1062 (ER_DUP_ENTRY): Duplicate entry '%-.192s' for key %d
|
||||
MySQL error code 1408 (ER_STARTUP): %s: ready for connections.
|
||||
Version: '%s' socket: '%s' port: %d %s
|
||||
MySQL error code 1459 (ER_TABLE_NEEDS_UPGRADE): Upgrade required. Please do "REPAIR %s %`s" or dump/reload to fix it!
|
||||
MySQL error code 1461 (ER_MAX_PREPARED_STMT_COUNT_REACHED): Can't create more than max_prepared_stmt_count statements (current value: %lu)
|
||||
MySQL error code 1461 (ER_MAX_PREPARED_STMT_COUNT_REACHED): Can't create more than max_prepared_stmt_count statements (current value: %u)
|
||||
|
@ -821,7 +821,7 @@ Warnings:
|
||||
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '10000000000000000'
|
||||
select @@max_prepared_stmt_count;
|
||||
@@max_prepared_stmt_count
|
||||
1048576
|
||||
4294967295
|
||||
set global max_prepared_stmt_count=default;
|
||||
select @@max_prepared_stmt_count;
|
||||
@@max_prepared_stmt_count
|
||||
|
@ -7955,7 +7955,7 @@ CLOSE cur1;
|
||||
end|
|
||||
set @tmp_toc= @@table_open_cache;
|
||||
set @tmp_tdc= @@table_definition_cache;
|
||||
set global table_open_cache=1;
|
||||
set global table_open_cache=10;
|
||||
set global table_definition_cache=1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect table_definition_cache value: '1'
|
||||
|
@ -9403,7 +9403,7 @@ DELIMITER ;|
|
||||
set @tmp_toc= @@table_open_cache;
|
||||
set @tmp_tdc= @@table_definition_cache;
|
||||
|
||||
set global table_open_cache=1;
|
||||
set global table_open_cache=10;
|
||||
set global table_definition_cache=1;
|
||||
call p1();
|
||||
|
||||
|
@ -1664,6 +1664,24 @@ db_name table_name column_name HEX(min_value) HEX(max_value) nulls_ratio avg_fre
|
||||
test t1 a D879626AF872675F73E662F8 D879626AF872675F73E662F8 0.0000 1.0000 0 NULL NULL
|
||||
drop table t1;
|
||||
#
|
||||
# MDEB-9744: session optimizer_use_condition_selectivity=5 causing SQL Error (1918):
|
||||
# Encountered illegal value '' when converting to DECIMAL
|
||||
#
|
||||
set @save_optimizer_use_condition_selectivity= @@optimizer_use_condition_selectivity;
|
||||
set optimizer_use_condition_selectivity=3, use_stat_tables=preferably;
|
||||
create table t1 (id int(10),cost decimal(9,2)) engine=innodb;
|
||||
ANALYZE TABLE t1 PERSISTENT FOR ALL;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status Engine-independent statistics collected
|
||||
test.t1 analyze status OK
|
||||
create temporary table t2 (id int);
|
||||
insert into t2 (id) select id from t1 where cost > 0;
|
||||
select * from t2;
|
||||
id
|
||||
set use_stat_tables=@save_use_stat_tables;
|
||||
set optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity;
|
||||
drop table t1,t2;
|
||||
#
|
||||
# MDEV-9590: Always print "Engine-independent statistic" warnings and
|
||||
# might be filtering columns unintentionally from engines
|
||||
#
|
||||
|
@ -799,6 +799,25 @@ select db_name, table_name, column_name,
|
||||
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEB-9744: session optimizer_use_condition_selectivity=5 causing SQL Error (1918):
|
||||
--echo # Encountered illegal value '' when converting to DECIMAL
|
||||
--echo #
|
||||
|
||||
set @save_optimizer_use_condition_selectivity= @@optimizer_use_condition_selectivity;
|
||||
set optimizer_use_condition_selectivity=3, use_stat_tables=preferably;
|
||||
|
||||
create table t1 (id int(10),cost decimal(9,2)) engine=innodb;
|
||||
ANALYZE TABLE t1 PERSISTENT FOR ALL;
|
||||
|
||||
create temporary table t2 (id int);
|
||||
insert into t2 (id) select id from t1 where cost > 0;
|
||||
select * from t2;
|
||||
|
||||
set use_stat_tables=@save_use_stat_tables;
|
||||
set optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity;
|
||||
drop table t1,t2;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-9590: Always print "Engine-independent statistic" warnings and
|
||||
--echo # might be filtering columns unintentionally from engines
|
||||
|
@ -568,6 +568,7 @@ set sql_safe_updates=1;
|
||||
set sql_select_limit=1;
|
||||
set sql_select_limit=default;
|
||||
set sql_warnings=1;
|
||||
set @save_table_open_cache=@@table_open_cache;
|
||||
set global table_open_cache=100;
|
||||
set default_storage_engine=myisam;
|
||||
set global thread_cache_size=100;
|
||||
@ -748,11 +749,11 @@ Warnings:
|
||||
Warning 1292 Truncated incorrect table_open_cache value: '-1'
|
||||
SHOW VARIABLES LIKE 'table_open_cache';
|
||||
Variable_name Value
|
||||
table_open_cache 1
|
||||
table_open_cache 10
|
||||
SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE 'table_open_cache';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
TABLE_OPEN_CACHE 1
|
||||
SET GLOBAL table_open_cache=DEFAULT;
|
||||
TABLE_OPEN_CACHE 10
|
||||
SET GLOBAL table_open_cache=@save_table_open_cache;
|
||||
set character_set_results=NULL;
|
||||
select ifnull(@@character_set_results,"really null");
|
||||
ifnull(@@character_set_results,"really null")
|
||||
|
@ -343,6 +343,7 @@ set sql_select_limit=1;
|
||||
# reset it, so later tests don't get confused
|
||||
set sql_select_limit=default;
|
||||
set sql_warnings=1;
|
||||
set @save_table_open_cache=@@table_open_cache;
|
||||
set global table_open_cache=100;
|
||||
set default_storage_engine=myisam;
|
||||
set global thread_cache_size=100;
|
||||
@ -502,7 +503,7 @@ SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE 'MYI
|
||||
SET GLOBAL table_open_cache=-1;
|
||||
SHOW VARIABLES LIKE 'table_open_cache';
|
||||
SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE 'table_open_cache';
|
||||
SET GLOBAL table_open_cache=DEFAULT;
|
||||
SET GLOBAL table_open_cache=@save_table_open_cache;
|
||||
|
||||
#
|
||||
# Bugs12363: character_set_results is nullable,
|
||||
|
@ -5527,6 +5527,203 @@ View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select group_concat(`t1`.`str` separator '\\') AS `GROUP_CONCAT(str SEPARATOR '\\')` from `t1` latin1 latin1_swedish_ci
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
CREATE TABLE IF NOT EXISTS t0 (f0 INT);
|
||||
CREATE TABLE IF NOT EXISTS t1 (f1 INT);
|
||||
CREATE TABLE IF NOT EXISTS t2 (f2 INT);
|
||||
CREATE TABLE IF NOT EXISTS t3 (f3 INT);
|
||||
CREATE TABLE IF NOT EXISTS t4 (f4 INT);
|
||||
CREATE TABLE IF NOT EXISTS t5 (f5 INT);
|
||||
CREATE TABLE IF NOT EXISTS t6 (f6 INT);
|
||||
CREATE TABLE IF NOT EXISTS t7 (f7 INT);
|
||||
CREATE TABLE IF NOT EXISTS t8 (f8 INT);
|
||||
CREATE TABLE IF NOT EXISTS t9 (f9 INT);
|
||||
CREATE TABLE IF NOT EXISTS t10 (f10 INT);
|
||||
CREATE TABLE IF NOT EXISTS t11 (f11 INT);
|
||||
CREATE TABLE IF NOT EXISTS t12 (f12 INT);
|
||||
CREATE TABLE IF NOT EXISTS t13 (f13 INT);
|
||||
CREATE TABLE IF NOT EXISTS t14 (f14 INT);
|
||||
CREATE TABLE IF NOT EXISTS t15 (f15 INT);
|
||||
CREATE TABLE IF NOT EXISTS t16 (f16 INT);
|
||||
CREATE TABLE IF NOT EXISTS t17 (f17 INT);
|
||||
CREATE TABLE IF NOT EXISTS t18 (f18 INT);
|
||||
CREATE TABLE IF NOT EXISTS t19 (f19 INT);
|
||||
CREATE TABLE IF NOT EXISTS t20 (f20 INT);
|
||||
CREATE TABLE IF NOT EXISTS t21 (f21 INT);
|
||||
CREATE TABLE IF NOT EXISTS t22 (f22 INT);
|
||||
CREATE TABLE IF NOT EXISTS t23 (f23 INT);
|
||||
CREATE TABLE IF NOT EXISTS t24 (f24 INT);
|
||||
CREATE TABLE IF NOT EXISTS t25 (f25 INT);
|
||||
CREATE TABLE IF NOT EXISTS t26 (f26 INT);
|
||||
CREATE TABLE IF NOT EXISTS t27 (f27 INT);
|
||||
CREATE TABLE IF NOT EXISTS t28 (f28 INT);
|
||||
CREATE TABLE IF NOT EXISTS t29 (f29 INT);
|
||||
CREATE TABLE IF NOT EXISTS t30 (f30 INT);
|
||||
CREATE TABLE IF NOT EXISTS t31 (f31 INT);
|
||||
CREATE TABLE IF NOT EXISTS t32 (f32 INT);
|
||||
CREATE TABLE IF NOT EXISTS t33 (f33 INT);
|
||||
CREATE TABLE IF NOT EXISTS t34 (f34 INT);
|
||||
CREATE TABLE IF NOT EXISTS t35 (f35 INT);
|
||||
CREATE TABLE IF NOT EXISTS t36 (f36 INT);
|
||||
CREATE TABLE IF NOT EXISTS t37 (f37 INT);
|
||||
CREATE TABLE IF NOT EXISTS t38 (f38 INT);
|
||||
CREATE TABLE IF NOT EXISTS t39 (f39 INT);
|
||||
CREATE TABLE IF NOT EXISTS t40 (f40 INT);
|
||||
CREATE TABLE IF NOT EXISTS t41 (f41 INT);
|
||||
CREATE TABLE IF NOT EXISTS t42 (f42 INT);
|
||||
CREATE TABLE IF NOT EXISTS t43 (f43 INT);
|
||||
CREATE TABLE IF NOT EXISTS t44 (f44 INT);
|
||||
CREATE TABLE IF NOT EXISTS t45 (f45 INT);
|
||||
CREATE TABLE IF NOT EXISTS t46 (f46 INT);
|
||||
CREATE TABLE IF NOT EXISTS t47 (f47 INT);
|
||||
CREATE TABLE IF NOT EXISTS t48 (f48 INT);
|
||||
CREATE TABLE IF NOT EXISTS t49 (f49 INT);
|
||||
CREATE TABLE IF NOT EXISTS t50 (f50 INT);
|
||||
CREATE TABLE IF NOT EXISTS t51 (f51 INT);
|
||||
CREATE TABLE IF NOT EXISTS t52 (f52 INT);
|
||||
CREATE TABLE IF NOT EXISTS t53 (f53 INT);
|
||||
CREATE TABLE IF NOT EXISTS t54 (f54 INT);
|
||||
CREATE TABLE IF NOT EXISTS t55 (f55 INT);
|
||||
CREATE TABLE IF NOT EXISTS t56 (f56 INT);
|
||||
CREATE TABLE IF NOT EXISTS t57 (f57 INT);
|
||||
CREATE TABLE IF NOT EXISTS t58 (f58 INT);
|
||||
CREATE TABLE IF NOT EXISTS t59 (f59 INT);
|
||||
CREATE TABLE IF NOT EXISTS t60 (f60 INT);
|
||||
CREATE OR REPLACE VIEW v60 AS SELECT * FROM t60;
|
||||
EXPLAIN
|
||||
SELECT t0.*
|
||||
FROM t0
|
||||
JOIN t1
|
||||
ON t1.f1 = t0.f0
|
||||
LEFT JOIN t2
|
||||
ON t0.f0 = t2.f2
|
||||
LEFT JOIN t3
|
||||
ON t0.f0 = t3.f3
|
||||
LEFT JOIN t4
|
||||
ON t0.f0 = t4.f4
|
||||
LEFT JOIN t5
|
||||
ON t4.f4 = t5.f5
|
||||
LEFT JOIN t6
|
||||
ON t0.f0 = t6.f6
|
||||
LEFT JOIN t7
|
||||
ON t0.f0 = t7.f7
|
||||
LEFT JOIN t8
|
||||
ON t0.f0 = t8.f8
|
||||
LEFT JOIN t9
|
||||
ON t0.f0 = t9.f9
|
||||
LEFT JOIN t10
|
||||
ON t0.f0 = t10.f10
|
||||
LEFT JOIN t11
|
||||
ON t0.f0 = t11.f11
|
||||
LEFT JOIN t12
|
||||
ON t0.f0 = t12.f12
|
||||
LEFT JOIN t13
|
||||
ON t0.f0 = t13.f13
|
||||
LEFT JOIN t14
|
||||
ON t0.f0 = t14.f14
|
||||
LEFT JOIN t15
|
||||
ON t0.f0 = t15.f15
|
||||
LEFT JOIN t16
|
||||
ON t0.f0 = t16.f16
|
||||
LEFT JOIN t17
|
||||
ON t0.f0 = t17.f17
|
||||
LEFT JOIN t18
|
||||
ON t0.f0 = t18.f18
|
||||
LEFT JOIN t19
|
||||
ON t18.f18 = t19.f19
|
||||
LEFT JOIN t20
|
||||
ON t20.f20 = t19.f19
|
||||
LEFT JOIN t21
|
||||
ON t20.f20 = t21.f21
|
||||
LEFT JOIN t22
|
||||
ON t19.f19 = t22.f22
|
||||
LEFT JOIN t23
|
||||
ON t23.f23 = t0.f0
|
||||
LEFT JOIN t24
|
||||
ON t24.f24 = t23.f23
|
||||
LEFT JOIN t25
|
||||
ON t0.f0 = t25.f25
|
||||
LEFT JOIN t26
|
||||
ON t26.f26 = t0.f0
|
||||
LEFT JOIN t27
|
||||
ON t27.f27 = t0.f0
|
||||
LEFT JOIN t28
|
||||
ON t0.f0 = t28.f28
|
||||
LEFT JOIN t29
|
||||
ON t0.f0 = t29.f29
|
||||
LEFT JOIN t30
|
||||
ON t30.f30 = t0.f0
|
||||
LEFT JOIN t31
|
||||
ON t0.f0 = t31.f31
|
||||
LEFT JOIN t32
|
||||
ON t32.f32 = t31.f31
|
||||
LEFT JOIN t33
|
||||
ON t33.f33 = t0.f0
|
||||
LEFT JOIN t34
|
||||
ON t33.f33 = t34.f34
|
||||
LEFT JOIN t35
|
||||
ON t33.f33 = t35.f35
|
||||
LEFT JOIN t36
|
||||
ON t36.f36 = t0.f0
|
||||
LEFT JOIN t37
|
||||
ON t32.f32 = t37.f37
|
||||
LEFT JOIN t38
|
||||
ON t31.f31 = t38.f38
|
||||
LEFT JOIN t39
|
||||
ON t39.f39 = t0.f0
|
||||
LEFT JOIN t40
|
||||
ON t40.f40 = t39.f39
|
||||
LEFT JOIN t41
|
||||
ON t41.f41 = t0.f0
|
||||
LEFT JOIN t42
|
||||
ON t42.f42 = t41.f41
|
||||
LEFT JOIN t43
|
||||
ON t43.f43 = t41.f41
|
||||
LEFT JOIN t44
|
||||
ON t44.f44 = t0.f0
|
||||
LEFT JOIN t45
|
||||
ON t45.f45 = t0.f0
|
||||
LEFT JOIN t46
|
||||
ON t46.f46 = t0.f0
|
||||
LEFT JOIN t47
|
||||
ON t47.f47 = t0.f0
|
||||
LEFT JOIN t48
|
||||
ON t48.f48 = t0.f0
|
||||
LEFT JOIN t49
|
||||
ON t0.f0 = t49.f49
|
||||
LEFT JOIN t50
|
||||
ON t0.f0 = t50.f50
|
||||
LEFT JOIN t51
|
||||
ON t0.f0 = t51.f51
|
||||
LEFT JOIN t52
|
||||
ON t52.f52 = t0.f0
|
||||
LEFT JOIN t53
|
||||
ON t53.f53 = t0.f0
|
||||
LEFT JOIN t54
|
||||
ON t54.f54 = t0.f0
|
||||
LEFT JOIN t55
|
||||
ON t55.f55 = t0.f0
|
||||
LEFT JOIN t56
|
||||
ON t56.f56 = t0.f0
|
||||
LEFT JOIN t57
|
||||
ON t57.f57 = t0.f0
|
||||
LEFT JOIN t58
|
||||
ON t58.f58 = t57.f57
|
||||
LEFT JOIN t59
|
||||
ON t36.f36 = t59.f59
|
||||
LEFT JOIN v60
|
||||
ON t36.f36 = v60.f60
|
||||
;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL no matching row in const table
|
||||
drop table t0, t1, t2, t3, t4, t5, t6, t7, t8, t9,
|
||||
t10, t11, t12, t13, t14, t15, t16, t17, t18,
|
||||
t19, t20, t21, t22, t23, t24, t25, t26, t27,
|
||||
t28, t29, t30, t31, t32, t33, t34, t35, t36,
|
||||
t37, t38, t39, t40, t41, t42, t43, t44, t45,
|
||||
t46, t47, t48, t49, t50, t51, t52, t53, t54,
|
||||
t55, t56, t57, t58, t59,t60;
|
||||
drop view v60;
|
||||
# -----------------------------------------------------------------
|
||||
# -- End of 5.5 tests.
|
||||
# -----------------------------------------------------------------
|
||||
|
@ -5419,6 +5419,202 @@ SHOW CREATE VIEW v1;
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS t0 (f0 INT);
|
||||
CREATE TABLE IF NOT EXISTS t1 (f1 INT);
|
||||
CREATE TABLE IF NOT EXISTS t2 (f2 INT);
|
||||
CREATE TABLE IF NOT EXISTS t3 (f3 INT);
|
||||
CREATE TABLE IF NOT EXISTS t4 (f4 INT);
|
||||
CREATE TABLE IF NOT EXISTS t5 (f5 INT);
|
||||
CREATE TABLE IF NOT EXISTS t6 (f6 INT);
|
||||
CREATE TABLE IF NOT EXISTS t7 (f7 INT);
|
||||
CREATE TABLE IF NOT EXISTS t8 (f8 INT);
|
||||
CREATE TABLE IF NOT EXISTS t9 (f9 INT);
|
||||
CREATE TABLE IF NOT EXISTS t10 (f10 INT);
|
||||
CREATE TABLE IF NOT EXISTS t11 (f11 INT);
|
||||
CREATE TABLE IF NOT EXISTS t12 (f12 INT);
|
||||
CREATE TABLE IF NOT EXISTS t13 (f13 INT);
|
||||
CREATE TABLE IF NOT EXISTS t14 (f14 INT);
|
||||
CREATE TABLE IF NOT EXISTS t15 (f15 INT);
|
||||
CREATE TABLE IF NOT EXISTS t16 (f16 INT);
|
||||
CREATE TABLE IF NOT EXISTS t17 (f17 INT);
|
||||
CREATE TABLE IF NOT EXISTS t18 (f18 INT);
|
||||
CREATE TABLE IF NOT EXISTS t19 (f19 INT);
|
||||
CREATE TABLE IF NOT EXISTS t20 (f20 INT);
|
||||
CREATE TABLE IF NOT EXISTS t21 (f21 INT);
|
||||
CREATE TABLE IF NOT EXISTS t22 (f22 INT);
|
||||
CREATE TABLE IF NOT EXISTS t23 (f23 INT);
|
||||
CREATE TABLE IF NOT EXISTS t24 (f24 INT);
|
||||
CREATE TABLE IF NOT EXISTS t25 (f25 INT);
|
||||
CREATE TABLE IF NOT EXISTS t26 (f26 INT);
|
||||
CREATE TABLE IF NOT EXISTS t27 (f27 INT);
|
||||
CREATE TABLE IF NOT EXISTS t28 (f28 INT);
|
||||
CREATE TABLE IF NOT EXISTS t29 (f29 INT);
|
||||
CREATE TABLE IF NOT EXISTS t30 (f30 INT);
|
||||
CREATE TABLE IF NOT EXISTS t31 (f31 INT);
|
||||
CREATE TABLE IF NOT EXISTS t32 (f32 INT);
|
||||
CREATE TABLE IF NOT EXISTS t33 (f33 INT);
|
||||
CREATE TABLE IF NOT EXISTS t34 (f34 INT);
|
||||
CREATE TABLE IF NOT EXISTS t35 (f35 INT);
|
||||
CREATE TABLE IF NOT EXISTS t36 (f36 INT);
|
||||
CREATE TABLE IF NOT EXISTS t37 (f37 INT);
|
||||
CREATE TABLE IF NOT EXISTS t38 (f38 INT);
|
||||
CREATE TABLE IF NOT EXISTS t39 (f39 INT);
|
||||
CREATE TABLE IF NOT EXISTS t40 (f40 INT);
|
||||
CREATE TABLE IF NOT EXISTS t41 (f41 INT);
|
||||
CREATE TABLE IF NOT EXISTS t42 (f42 INT);
|
||||
CREATE TABLE IF NOT EXISTS t43 (f43 INT);
|
||||
CREATE TABLE IF NOT EXISTS t44 (f44 INT);
|
||||
CREATE TABLE IF NOT EXISTS t45 (f45 INT);
|
||||
CREATE TABLE IF NOT EXISTS t46 (f46 INT);
|
||||
CREATE TABLE IF NOT EXISTS t47 (f47 INT);
|
||||
CREATE TABLE IF NOT EXISTS t48 (f48 INT);
|
||||
CREATE TABLE IF NOT EXISTS t49 (f49 INT);
|
||||
CREATE TABLE IF NOT EXISTS t50 (f50 INT);
|
||||
CREATE TABLE IF NOT EXISTS t51 (f51 INT);
|
||||
CREATE TABLE IF NOT EXISTS t52 (f52 INT);
|
||||
CREATE TABLE IF NOT EXISTS t53 (f53 INT);
|
||||
CREATE TABLE IF NOT EXISTS t54 (f54 INT);
|
||||
CREATE TABLE IF NOT EXISTS t55 (f55 INT);
|
||||
CREATE TABLE IF NOT EXISTS t56 (f56 INT);
|
||||
CREATE TABLE IF NOT EXISTS t57 (f57 INT);
|
||||
CREATE TABLE IF NOT EXISTS t58 (f58 INT);
|
||||
CREATE TABLE IF NOT EXISTS t59 (f59 INT);
|
||||
CREATE TABLE IF NOT EXISTS t60 (f60 INT);
|
||||
CREATE OR REPLACE VIEW v60 AS SELECT * FROM t60;
|
||||
|
||||
EXPLAIN
|
||||
SELECT t0.*
|
||||
FROM t0
|
||||
JOIN t1
|
||||
ON t1.f1 = t0.f0
|
||||
LEFT JOIN t2
|
||||
ON t0.f0 = t2.f2
|
||||
LEFT JOIN t3
|
||||
ON t0.f0 = t3.f3
|
||||
LEFT JOIN t4
|
||||
ON t0.f0 = t4.f4
|
||||
LEFT JOIN t5
|
||||
ON t4.f4 = t5.f5
|
||||
LEFT JOIN t6
|
||||
ON t0.f0 = t6.f6
|
||||
LEFT JOIN t7
|
||||
ON t0.f0 = t7.f7
|
||||
LEFT JOIN t8
|
||||
ON t0.f0 = t8.f8
|
||||
LEFT JOIN t9
|
||||
ON t0.f0 = t9.f9
|
||||
LEFT JOIN t10
|
||||
ON t0.f0 = t10.f10
|
||||
LEFT JOIN t11
|
||||
ON t0.f0 = t11.f11
|
||||
LEFT JOIN t12
|
||||
ON t0.f0 = t12.f12
|
||||
LEFT JOIN t13
|
||||
ON t0.f0 = t13.f13
|
||||
LEFT JOIN t14
|
||||
ON t0.f0 = t14.f14
|
||||
LEFT JOIN t15
|
||||
ON t0.f0 = t15.f15
|
||||
LEFT JOIN t16
|
||||
ON t0.f0 = t16.f16
|
||||
LEFT JOIN t17
|
||||
ON t0.f0 = t17.f17
|
||||
LEFT JOIN t18
|
||||
ON t0.f0 = t18.f18
|
||||
LEFT JOIN t19
|
||||
ON t18.f18 = t19.f19
|
||||
LEFT JOIN t20
|
||||
ON t20.f20 = t19.f19
|
||||
LEFT JOIN t21
|
||||
ON t20.f20 = t21.f21
|
||||
LEFT JOIN t22
|
||||
ON t19.f19 = t22.f22
|
||||
LEFT JOIN t23
|
||||
ON t23.f23 = t0.f0
|
||||
LEFT JOIN t24
|
||||
ON t24.f24 = t23.f23
|
||||
LEFT JOIN t25
|
||||
ON t0.f0 = t25.f25
|
||||
LEFT JOIN t26
|
||||
ON t26.f26 = t0.f0
|
||||
LEFT JOIN t27
|
||||
ON t27.f27 = t0.f0
|
||||
LEFT JOIN t28
|
||||
ON t0.f0 = t28.f28
|
||||
LEFT JOIN t29
|
||||
ON t0.f0 = t29.f29
|
||||
LEFT JOIN t30
|
||||
ON t30.f30 = t0.f0
|
||||
LEFT JOIN t31
|
||||
ON t0.f0 = t31.f31
|
||||
LEFT JOIN t32
|
||||
ON t32.f32 = t31.f31
|
||||
LEFT JOIN t33
|
||||
ON t33.f33 = t0.f0
|
||||
LEFT JOIN t34
|
||||
ON t33.f33 = t34.f34
|
||||
LEFT JOIN t35
|
||||
ON t33.f33 = t35.f35
|
||||
LEFT JOIN t36
|
||||
ON t36.f36 = t0.f0
|
||||
LEFT JOIN t37
|
||||
ON t32.f32 = t37.f37
|
||||
LEFT JOIN t38
|
||||
ON t31.f31 = t38.f38
|
||||
LEFT JOIN t39
|
||||
ON t39.f39 = t0.f0
|
||||
LEFT JOIN t40
|
||||
ON t40.f40 = t39.f39
|
||||
LEFT JOIN t41
|
||||
ON t41.f41 = t0.f0
|
||||
LEFT JOIN t42
|
||||
ON t42.f42 = t41.f41
|
||||
LEFT JOIN t43
|
||||
ON t43.f43 = t41.f41
|
||||
LEFT JOIN t44
|
||||
ON t44.f44 = t0.f0
|
||||
LEFT JOIN t45
|
||||
ON t45.f45 = t0.f0
|
||||
LEFT JOIN t46
|
||||
ON t46.f46 = t0.f0
|
||||
LEFT JOIN t47
|
||||
ON t47.f47 = t0.f0
|
||||
LEFT JOIN t48
|
||||
ON t48.f48 = t0.f0
|
||||
LEFT JOIN t49
|
||||
ON t0.f0 = t49.f49
|
||||
LEFT JOIN t50
|
||||
ON t0.f0 = t50.f50
|
||||
LEFT JOIN t51
|
||||
ON t0.f0 = t51.f51
|
||||
LEFT JOIN t52
|
||||
ON t52.f52 = t0.f0
|
||||
LEFT JOIN t53
|
||||
ON t53.f53 = t0.f0
|
||||
LEFT JOIN t54
|
||||
ON t54.f54 = t0.f0
|
||||
LEFT JOIN t55
|
||||
ON t55.f55 = t0.f0
|
||||
LEFT JOIN t56
|
||||
ON t56.f56 = t0.f0
|
||||
LEFT JOIN t57
|
||||
ON t57.f57 = t0.f0
|
||||
LEFT JOIN t58
|
||||
ON t58.f58 = t57.f57
|
||||
LEFT JOIN t59
|
||||
ON t36.f36 = t59.f59
|
||||
LEFT JOIN v60
|
||||
ON t36.f36 = v60.f60
|
||||
;
|
||||
drop table t0, t1, t2, t3, t4, t5, t6, t7, t8, t9,
|
||||
t10, t11, t12, t13, t14, t15, t16, t17, t18,
|
||||
t19, t20, t21, t22, t23, t24, t25, t26, t27,
|
||||
t28, t29, t30, t31, t32, t33, t34, t35, t36,
|
||||
t37, t38, t39, t40, t41, t42, t43, t44, t45,
|
||||
t46, t47, t48, t49, t50, t51, t52, t53, t54,
|
||||
t55, t56, t57, t58, t59,t60;
|
||||
drop view v60;
|
||||
|
||||
--echo # -----------------------------------------------------------------
|
||||
--echo # -- End of 5.5 tests.
|
||||
--echo # -----------------------------------------------------------------
|
||||
|
@ -4460,6 +4460,7 @@ sub extract_warning_lines ($$) {
|
||||
qr|SSL error: Failed to set ciphers to use|,
|
||||
qr/Plugin 'InnoDB' will be forced to shutdown/,
|
||||
qr|Could not increase number of max_open_files to more than|,
|
||||
qr|Changed limits: max_open_files|,
|
||||
qr/InnoDB: Error table encrypted but encryption service not available.*/,
|
||||
qr/InnoDB: Could not find a valid tablespace file for*/,
|
||||
qr/InnoDB: Tablespace open failed for*/,
|
||||
|
Binary file not shown.
@ -42,6 +42,10 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS='';
|
||||
#
|
||||
# MDEV-15821 Row format replication from LONGBLOB COMPRESSED to LONGBLOB does not work
|
||||
#
|
||||
# End of MDEV-15821
|
||||
#
|
||||
# MDEV-15833 Row format replication between LONGBLOB and MEDIUMBLOB does not work for long values
|
||||
#
|
||||
# End of MDEV-15833
|
||||
include/rpl_reset.inc
|
||||
connection slave;
|
||||
@ -50,6 +54,10 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY';
|
||||
#
|
||||
# MDEV-15821 Row format replication from LONGBLOB COMPRESSED to LONGBLOB does not work
|
||||
#
|
||||
# End of MDEV-15821
|
||||
#
|
||||
# MDEV-15833 Row format replication between LONGBLOB and MEDIUMBLOB does not work for long values
|
||||
#
|
||||
# End of MDEV-15833
|
||||
include/rpl_reset.inc
|
||||
connection slave;
|
||||
@ -58,6 +66,10 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY';
|
||||
#
|
||||
# MDEV-15821 Row format replication from LONGBLOB COMPRESSED to LONGBLOB does not work
|
||||
#
|
||||
# End of MDEV-15821
|
||||
#
|
||||
# MDEV-15833 Row format replication between LONGBLOB and MEDIUMBLOB does not work for long values
|
||||
#
|
||||
# End of MDEV-15833
|
||||
include/rpl_reset.inc
|
||||
connection slave;
|
||||
@ -66,6 +78,10 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY,ALL_NON_LOSSY';
|
||||
#
|
||||
# MDEV-15821 Row format replication from LONGBLOB COMPRESSED to LONGBLOB does not work
|
||||
#
|
||||
# End of MDEV-15821
|
||||
#
|
||||
# MDEV-15833 Row format replication between LONGBLOB and MEDIUMBLOB does not work for long values
|
||||
#
|
||||
# End of MDEV-15833
|
||||
include/rpl_reset.inc
|
||||
connection slave;
|
||||
@ -212,6 +228,22 @@ LONGBLOB COMPRE BLOB <Correct error>
|
||||
LONGBLOB COMPRE MEDIUMBLOB <Correct error>
|
||||
LONGBLOB COMPRE LONGBLOB <Correct error>
|
||||
LONGBLOB COMPRE VARBINARY(65500 <Correct error>
|
||||
TINYBLOB BLOB <Correct error>
|
||||
TINYBLOB MEDIUMBLOB <Correct error>
|
||||
TINYBLOB LONGBLOB <Correct error>
|
||||
TINYBLOB VARBINARY(255) <Correct error>
|
||||
BLOB TINYBLOB <Correct error>
|
||||
BLOB MEDIUMBLOB <Correct error>
|
||||
BLOB LONGBLOB <Correct error>
|
||||
BLOB VARBINARY(65500 <Correct error>
|
||||
MEDIUMBLOB TINYBLOB <Correct error>
|
||||
MEDIUMBLOB BLOB <Correct error>
|
||||
MEDIUMBLOB LONGBLOB <Correct error>
|
||||
MEDIUMBLOB VARBINARY(65500 <Correct error>
|
||||
LONGBLOB TINYBLOB <Correct error>
|
||||
LONGBLOB BLOB <Correct error>
|
||||
LONGBLOB MEDIUMBLOB <Correct error>
|
||||
LONGBLOB VARBINARY(65500 <Correct error>
|
||||
TINYBLOB TINYBLOB ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB BLOB ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB MEDIUMBLOB ALL_NON_LOSSY <Correct value>
|
||||
@ -353,6 +385,22 @@ LONGBLOB COMPRE BLOB ALL_NON_LOSSY <Correct error>
|
||||
LONGBLOB COMPRE MEDIUMBLOB ALL_NON_LOSSY <Correct error>
|
||||
LONGBLOB COMPRE LONGBLOB ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB COMPRE VARBINARY(65500 ALL_NON_LOSSY <Correct error>
|
||||
TINYBLOB BLOB ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB MEDIUMBLOB ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB LONGBLOB ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB VARBINARY(255) ALL_NON_LOSSY <Correct value>
|
||||
BLOB TINYBLOB ALL_NON_LOSSY <Correct error>
|
||||
BLOB MEDIUMBLOB ALL_NON_LOSSY <Correct value>
|
||||
BLOB LONGBLOB ALL_NON_LOSSY <Correct value>
|
||||
BLOB VARBINARY(65500 ALL_NON_LOSSY <Correct error>
|
||||
MEDIUMBLOB TINYBLOB ALL_NON_LOSSY <Correct error>
|
||||
MEDIUMBLOB BLOB ALL_NON_LOSSY <Correct error>
|
||||
MEDIUMBLOB LONGBLOB ALL_NON_LOSSY <Correct value>
|
||||
MEDIUMBLOB VARBINARY(65500 ALL_NON_LOSSY <Correct error>
|
||||
LONGBLOB TINYBLOB ALL_NON_LOSSY <Correct error>
|
||||
LONGBLOB BLOB ALL_NON_LOSSY <Correct error>
|
||||
LONGBLOB MEDIUMBLOB ALL_NON_LOSSY <Correct error>
|
||||
LONGBLOB VARBINARY(65500 ALL_NON_LOSSY <Correct error>
|
||||
TINYBLOB TINYBLOB ALL_LOSSY <Correct value>
|
||||
TINYBLOB BLOB ALL_LOSSY <Correct error>
|
||||
TINYBLOB MEDIUMBLOB ALL_LOSSY <Correct error>
|
||||
@ -494,6 +542,22 @@ LONGBLOB COMPRE BLOB ALL_LOSSY <Correct value>
|
||||
LONGBLOB COMPRE MEDIUMBLOB ALL_LOSSY <Correct value>
|
||||
LONGBLOB COMPRE LONGBLOB ALL_LOSSY <Correct error>
|
||||
LONGBLOB COMPRE VARBINARY(65500 ALL_LOSSY <Correct value>
|
||||
TINYBLOB BLOB ALL_LOSSY <Correct error>
|
||||
TINYBLOB MEDIUMBLOB ALL_LOSSY <Correct error>
|
||||
TINYBLOB LONGBLOB ALL_LOSSY <Correct error>
|
||||
TINYBLOB VARBINARY(255) ALL_LOSSY <Correct error>
|
||||
BLOB TINYBLOB ALL_LOSSY <Correct value>
|
||||
BLOB MEDIUMBLOB ALL_LOSSY <Correct error>
|
||||
BLOB LONGBLOB ALL_LOSSY <Correct error>
|
||||
BLOB VARBINARY(65500 ALL_LOSSY <Correct value>
|
||||
MEDIUMBLOB TINYBLOB ALL_LOSSY <Correct value>
|
||||
MEDIUMBLOB BLOB ALL_LOSSY <Correct value>
|
||||
MEDIUMBLOB LONGBLOB ALL_LOSSY <Correct error>
|
||||
MEDIUMBLOB VARBINARY(65500 ALL_LOSSY <Correct value>
|
||||
LONGBLOB TINYBLOB ALL_LOSSY <Correct value>
|
||||
LONGBLOB BLOB ALL_LOSSY <Correct value>
|
||||
LONGBLOB MEDIUMBLOB ALL_LOSSY <Correct value>
|
||||
LONGBLOB VARBINARY(65500 ALL_LOSSY <Correct value>
|
||||
TINYBLOB TINYBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
@ -635,6 +699,22 @@ LONGBLOB COMPRE BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB COMPRE MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB COMPRE LONGBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB COMPRE VARBINARY(65500 ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB LONGBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB VARBINARY(255) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
BLOB TINYBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
BLOB MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
BLOB LONGBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
BLOB VARBINARY(65500 ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
MEDIUMBLOB TINYBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
MEDIUMBLOB BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
MEDIUMBLOB LONGBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
MEDIUMBLOB VARBINARY(65500 ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB TINYBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB VARBINARY(65500 ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
DROP TABLE type_conversions;
|
||||
call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t1. cannot be converted from type.* error.* 1677");
|
||||
connection master;
|
||||
|
@ -0,0 +1,44 @@
|
||||
set global innodb_file_per_table=OFF;
|
||||
call mtr.add_suppression("mysqld: file-key-management-filename is not set");
|
||||
call mtr.add_suppression("Plugin 'file_key_management' init function returned error.");
|
||||
call mtr.add_suppression("Plugin 'file_key_management' registration as a ENCRYPTION failed.");
|
||||
flush tables;
|
||||
create table t1(a int not null primary key, b char(200)) engine=innodb;
|
||||
|
||||
# Restart server with encryption
|
||||
# Wait until encryption threads have encrypted all tablespaces
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
|
||||
NAME
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
|
||||
NAME
|
||||
innodb_system
|
||||
mysql/innodb_index_stats
|
||||
mysql/innodb_table_stats
|
||||
mysql/transaction_registry
|
||||
# Success!
|
||||
SELECT * from t1;
|
||||
a b
|
||||
# Now turn off encryption and wait for threads to decrypt all tablespaces
|
||||
SET GLOBAL innodb_encrypt_tables = off;
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
|
||||
NAME
|
||||
innodb_system
|
||||
mysql/innodb_index_stats
|
||||
mysql/innodb_table_stats
|
||||
mysql/transaction_registry
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
|
||||
NAME
|
||||
# Success!
|
||||
|
||||
# Restart server with no encryption setup, there should be no crashes
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
|
||||
NAME
|
||||
innodb_system
|
||||
mysql/innodb_index_stats
|
||||
mysql/innodb_table_stats
|
||||
mysql/transaction_registry
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
|
||||
NAME
|
||||
SELECT * from t1;
|
||||
a b
|
||||
DROP TABLE t1;
|
59
mysql-test/suite/encryption/t/innodb-remove-encryption.test
Normal file
59
mysql-test/suite/encryption/t/innodb-remove-encryption.test
Normal file
@ -0,0 +1,59 @@
|
||||
--source include/have_innodb.inc
|
||||
# Test uses restart
|
||||
--source include/not_embedded.inc
|
||||
--source filekeys_plugin.inc
|
||||
|
||||
#
|
||||
# MDEV-15566: System tablespace does not easily key rotate to unencrypted
|
||||
#
|
||||
|
||||
set global innodb_file_per_table=OFF;
|
||||
|
||||
call mtr.add_suppression("mysqld: file-key-management-filename is not set");
|
||||
call mtr.add_suppression("Plugin 'file_key_management' init function returned error.");
|
||||
call mtr.add_suppression("Plugin 'file_key_management' registration as a ENCRYPTION failed.");
|
||||
flush tables;
|
||||
|
||||
create table t1(a int not null primary key, b char(200)) engine=innodb;
|
||||
|
||||
--echo
|
||||
--echo # Restart server with encryption
|
||||
-- let $restart_parameters=--plugin-load-add=$FILE_KEY_MANAGEMENT_SO --loose-file-key-management --loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys.txt --file-key-management-encryption-algorithm=aes_cbc --innodb-encrypt-tables=ON --innodb-encryption-threads=4 --innodb-tablespaces-encryption --innodb-encryption-rotate-key-age=15
|
||||
-- source include/restart_mysqld.inc
|
||||
|
||||
--echo # Wait until encryption threads have encrypted all tablespaces
|
||||
|
||||
--let $tables_count= `select count(*) from information_schema.tables where engine = 'InnoDB'`
|
||||
--let $wait_timeout= 600
|
||||
--let $wait_condition=SELECT COUNT(*) = $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND ROTATING_OR_FLUSHING = 0;
|
||||
--source include/wait_condition.inc
|
||||
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
|
||||
|
||||
--echo # Success!
|
||||
|
||||
SELECT * from t1;
|
||||
|
||||
--echo # Now turn off encryption and wait for threads to decrypt all tablespaces
|
||||
SET GLOBAL innodb_encrypt_tables = off;
|
||||
|
||||
--let $wait_condition=SELECT COUNT(*) = $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND ROTATING_OR_FLUSHING = 0;
|
||||
--source include/wait_condition.inc
|
||||
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
|
||||
|
||||
--echo # Success!
|
||||
|
||||
--echo
|
||||
--echo # Restart server with no encryption setup, there should be no crashes
|
||||
--let $restart_parameters=--skip-file-key-management --innodb-encrypt-tables=OFF --innodb-encryption-threads=0 --innodb-tablespaces-encryption
|
||||
-- source include/restart_mysqld.inc
|
||||
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
|
||||
|
||||
SELECT * from t1;
|
||||
DROP TABLE t1;
|
||||
|
@ -9,54 +9,32 @@
|
||||
# Do not use any TAB characters for whitespace.
|
||||
#
|
||||
##############################################################################
|
||||
galera_gra_log : MDEV-13549 Galera test failures
|
||||
galera_flush : MDEV-13549 Galera test failures
|
||||
|
||||
galera_flush : MariaDB does not have global.thread_statistics
|
||||
galera_account_management : MariaDB 10.0 does not support ALTER USER
|
||||
galera_binlog_row_image : MariaDB 10.0 does not support binlog_row_image
|
||||
galera_binlog_rows_query_log_events: MariaDB does not support binlog_rows_query_log_events
|
||||
GAL-419 : MDEV-13549 Galera test failures
|
||||
galera_toi_ddl_fk_insert : MDEV-13549 Galera test failures
|
||||
galera_var_notify_cmd : MDEV-13549 Galera test failures
|
||||
mysql-wsrep#90 : MDEV-13549 Galera test failures
|
||||
galera_migrate : MariaDB does not support START SLAVE USER
|
||||
galera_as_master_gtid : Requires MySQL GTID
|
||||
galera_as_master_gtid_change_master : Requires MySQL GTID
|
||||
galera_as_slave_replication_bundle : MDEV-13549 Galera test failures
|
||||
galera_as_slave_preordered : wsrep-preordered feature not merged to MariaDB
|
||||
galera_gcs_fragment : MDEV-13549 Galera test failures
|
||||
GAL-419 : MDEV-13549 Galera test failures
|
||||
galera_var_notify_cmd : MDEV-13549 Galera test failures
|
||||
galera_as_slave_replication_bundle : MDEV-13549 Galera test failures
|
||||
galera_gcache_recover : MDEV-13549 Galera test failures
|
||||
galera_gcache_recover_full_gcache : MDEV-13549 Galera test failures
|
||||
galera_gcache_recover_manytrx : MDEV-13549 Galera test failures
|
||||
galera_ist_mysqldump : MDEV-13549 Galera test failures
|
||||
mysql-wsrep#31 : MDEV-13549 Galera test failures
|
||||
galera_migrate : MariaDB 10.0 does not support START SLAVE USER
|
||||
galera_concurrent_ctas : MDEV-13549 Galera test failures
|
||||
galera_wsrep_desync_wsrep_on : MDEV-13549 Galera test failures
|
||||
galera_ssl_upgrade : MDEV-13549 Galera test failures
|
||||
mysql-wsrep#33 : MDEV-13549 Galera test failures
|
||||
galera_var_auto_inc_control_on : MDEV-13549 Galera test failures
|
||||
MW-44 : MDEV-13549 Galera test failures
|
||||
galera_var_retry_autocommit : MDEV-13549 Galera test failures
|
||||
pxc-421 : MDEV-13549 Galera test failures
|
||||
lp1376747-2 : MDEV-13549 Galera test failures
|
||||
lp1376747 : MDEV-13549 Galera test failures
|
||||
galera_toi_ddl_nonconflicting : MDEV-13549 Galera test failures
|
||||
galera_parallel_simple : MDEV-13549 Galera test failures
|
||||
galera_admin : MDEV-13549 Galera test failures
|
||||
MW-286 : MDEV-13549 Galera test failures 10.1
|
||||
galera_as_master: MDEV-13549 Galera test failures 10.1
|
||||
galera_pc_ignore_sb : MDEV-13549 Galera test failures 10.1
|
||||
galera_lock_table : MDEV-13549 Galera test failures 10.1
|
||||
MW-284 : MDEV-13549 Galera test failures 10.1
|
||||
galera_as_slave : MDEV-13549 Galera test failures 10.1
|
||||
galera.MW-329 : wsrep_local_replays not stable
|
||||
galera.MW-328A : have_deadlocks test not stable
|
||||
galera_var_retry_autocommit: MDEV-15794 Test failure on galera.galera_var_retry_autocommit
|
||||
galera_var_auto_inc_control_on: MDEV-15803 Test failure on galera.galera_var_auto_inc_control_on
|
||||
pxc-421 : MDEV-15804 Test failure on galera.pxc-421
|
||||
query_cache : MDEV-15805 Test failure on galera.query_cache
|
||||
galera.galera_gra_log : MDEV-15808 Test failure on galera.galera_gra_log
|
||||
galera.MW-44 : MDEV-15809 Test failure on galera.MW-44
|
||||
galera.galera_pc_ignore_sb : MDEV-15811 Test failure on galera_pc_ignore_sb
|
||||
galera_kill_applier : race condition at the start of the test
|
||||
GAL-480 : "Lost connection to MySQL"
|
||||
MW-328C: MDEV-13549 Galera test failures 10.1
|
||||
MW-328A: MDEV-13549 Galera test failures 10.1
|
||||
MW-328B: MDEV-13549 Galera test failures 10.1
|
||||
MW-328: MDEV-13549 Galera test failures 10.1
|
||||
galera_suspend_slave: MDEV-13549 Galera test failures 10.1
|
||||
galera_ist_progress: MDEV-15236 galera_ist_progress fails when trying to read transfer status
|
||||
galera_gtid : MDEV-13549 Galera test failures 10.1
|
||||
galera_gtid_slave : MDEV-13549 Galera test failures 10.1
|
||||
galera_unicode_identifiers : MDEV-13549 Galera test failures 10.1
|
||||
galera.galera_gcs_fc_limit : MDEV-13549 Galera test failures 10.1
|
||||
GAL-480 : "Lost connection to MySQL"
|
||||
galera_concurrent_ctas : MDEV-15845 Test failure on galera.galera_concurrent_ctas
|
||||
|
@ -1,7 +1,6 @@
|
||||
--echo Killing server ...
|
||||
|
||||
# Write file to make mysql-test-run.pl expect the crash, but don't start it
|
||||
--source include/wait_until_connected_again.inc
|
||||
--let $_server_id= `SELECT @@server_id`
|
||||
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect
|
||||
--exec echo "wait" > $_expect_file_name
|
||||
|
@ -23,3 +23,8 @@ STOP SLAVE;
|
||||
RESET SLAVE ALL;
|
||||
CALL mtr.add_suppression('failed registering on master');
|
||||
CALL mtr.add_suppression('You need to use --log-bin to make --binlog-format work');
|
||||
connection node_1;
|
||||
RESET MASTER;
|
||||
CALL mtr.add_suppression('WSREP: Last Applied Action message in non-primary configuration from member');
|
||||
connection node_2;
|
||||
CALL mtr.add_suppression('WSREP: Last Applied Action message in non-primary configuration from member');
|
||||
|
@ -1,8 +1,18 @@
|
||||
SET @@global.wsrep_replicate_myisam=OFF;
|
||||
connection node_1;
|
||||
TRUNCATE TABLE mysql.general_log;
|
||||
SELECT COUNT(*) from mysql.general_log;
|
||||
COUNT(*)
|
||||
1
|
||||
connection node_2;
|
||||
TRUNCATE TABLE mysql.general_log;
|
||||
SELECT COUNT(*) from mysql.general_log;
|
||||
COUNT(*)
|
||||
1
|
||||
connection node_1;
|
||||
SELECT COUNT(*) from mysql.general_log;
|
||||
COUNT(*)
|
||||
1
|
||||
SET SESSION wsrep_osu_method=TOI;
|
||||
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
|
||||
SET SESSION wsrep_osu_method=RSU;
|
||||
@ -16,3 +26,4 @@ SELECT COUNT(*) = 0 FROM mysql.general_log WHERE argument NOT LIKE 'SELECT%';
|
||||
COUNT(*) = 0
|
||||
1
|
||||
DROP TABLE t1;
|
||||
SET @@global.wsrep_replicate_myisam=Default;
|
||||
|
@ -53,3 +53,5 @@ connection node_3;
|
||||
STOP SLAVE;
|
||||
RESET SLAVE ALL;
|
||||
CALL mtr.add_suppression('You need to use --log-bin to make --binlog-format work');
|
||||
connection node_1;
|
||||
RESET MASTER;
|
||||
|
@ -1,3 +1,4 @@
|
||||
connection node_1;
|
||||
SET SESSION binlog_row_image=minimal;
|
||||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
|
||||
CREATE TABLE t2 (f1 INTEGER NOT NULL UNIQUE) ENGINE=InnoDB;
|
||||
@ -5,6 +6,7 @@ CREATE TABLE t3 (f1 VARCHAR(1)) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
INSERT INTO t2 VALUES (1);
|
||||
INSERT INTO t3 VALUES (1);
|
||||
connection node_2;
|
||||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1;
|
||||
COUNT(*) = 1
|
||||
1
|
||||
@ -14,9 +16,11 @@ COUNT(*) = 1
|
||||
SELECT COUNT(*) = 1 FROM t3 WHERE f1 = 1;
|
||||
COUNT(*) = 1
|
||||
1
|
||||
connection node_1;
|
||||
UPDATE t1 SET f1 = 2 WHERE f1 = 1;
|
||||
UPDATE t2 SET f1 = 2 WHERE f1 = 1;
|
||||
UPDATE t3 SET f1 = 2 WHERE f1 = 1;
|
||||
connection node_2;
|
||||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2;
|
||||
COUNT(*) = 1
|
||||
1
|
||||
@ -26,9 +30,11 @@ COUNT(*) = 1
|
||||
SELECT COUNT(*) = 1 FROM t3 WHERE f1 = 2;
|
||||
COUNT(*) = 1
|
||||
1
|
||||
connection node_1;
|
||||
DELETE FROM t1;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
connection node_2;
|
||||
SELECT COUNT(*) = 0 FROM t1;
|
||||
COUNT(*) = 0
|
||||
1
|
||||
@ -41,34 +47,42 @@ COUNT(*) = 0
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t2;
|
||||
DROP TABLE t3;
|
||||
connection node_1;
|
||||
SET SESSION binlog_row_image=noblob;
|
||||
CREATE TABLE t1 (f1 BLOB, f2 INTEGER PRIMARY KEY) ENGINE=InnoDB;
|
||||
CREATE TABLE t2 (f1 BLOB) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES ('abc', 1);
|
||||
INSERT INTO t2 VALUES ('abc');
|
||||
connection node_2;
|
||||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 'abc';
|
||||
COUNT(*) = 1
|
||||
1
|
||||
SELECT COUNT(*) = 1 FROM t2 WHERE f1 = 'abc';
|
||||
COUNT(*) = 1
|
||||
1
|
||||
connection node_1;
|
||||
UPDATE t1 SET f1 = 'xyz';
|
||||
UPDATE t2 SET f1 = 'xyz';
|
||||
connection node_2;
|
||||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 'xyz';
|
||||
COUNT(*) = 1
|
||||
1
|
||||
SELECT COUNT(*) = 1 FROM t2 WHERE f1 = 'xyz';
|
||||
COUNT(*) = 1
|
||||
1
|
||||
connection node_1;
|
||||
UPDATE t1 SET f2 = 2 WHERE f2 = 1;
|
||||
connection node_2;
|
||||
SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 2;
|
||||
COUNT(*) = 1
|
||||
1
|
||||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 'xyz';
|
||||
COUNT(*) = 1
|
||||
1
|
||||
connection node_1;
|
||||
DELETE FROM t1;
|
||||
DELETE FROM t2;
|
||||
connection node_2;
|
||||
SELECT COUNT(*) = 0 FROM t1;
|
||||
COUNT(*) = 0
|
||||
1
|
||||
|
@ -1,6 +1,9 @@
|
||||
connection node_2;
|
||||
SET SESSION wsrep_on=OFF;
|
||||
CREATE TABLE t1 (f1 INTEGER);
|
||||
connection node_1;
|
||||
CREATE TABLE t1 (f1 INTEGER);
|
||||
connection node_2;
|
||||
SELECT COUNT(*) = 0 FROM t1;
|
||||
COUNT(*) = 0
|
||||
1
|
||||
@ -8,22 +11,13 @@ COUNT(*) = 0
|
||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
# at 4
|
||||
<ISO TIMESTAMP> server id 2 end_log_pos 120 Start: binlog v 4, server v 5.6.24-debug-log created 150804 11:37:14 at startup
|
||||
# Warning: this binlog is either in use or was not closed properly.
|
||||
ROLLBACK/*!*/;
|
||||
BINLOG '
|
||||
unnAVQ8CAAAAdAAAAHgAAAABAAQANS42LjI0LWRlYnVnLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAC6ecBVEzgNAAgAEgAEBAQEEgAAXAAEGggAAAAICAgCAAAACgoKGRkAAKNu
|
||||
Jfk=
|
||||
'/*!*/;
|
||||
# at 120
|
||||
<ISO TIMESTAMP> server id 1 end_log_pos 91 Query thread_id=<QUERY_THREAD_ID> exec_time=0 error_code=0
|
||||
ROLLBACK/*!*/;
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=<TIMESTAMP>/*!*/;
|
||||
SET @@session.pseudo_thread_id=<PSEUDO_THREAD_ID>/*!*/;
|
||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
||||
SET @@session.sql_mode=1073741824/*!*/;
|
||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
|
||||
SET @@session.sql_mode=1411383296/*!*/;
|
||||
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
||||
/*!\C latin1 *//*!*/;
|
||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||
|
@ -25,7 +25,6 @@ SELECT @@global.gtid_binlog_state;
|
||||
1-1-4,2-2-2,2-3-3
|
||||
connection node_1;
|
||||
DROP TABLE t1,t2;
|
||||
reset master;
|
||||
connection node_2;
|
||||
connection node_3;
|
||||
connection node_2;
|
||||
@ -34,3 +33,5 @@ RESET SLAVE ALL;
|
||||
reset master;
|
||||
connection node_3;
|
||||
reset master;
|
||||
connection node_1;
|
||||
reset master;
|
||||
|
@ -1,6 +1,10 @@
|
||||
CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
|
||||
CREATE TABLE t2 (id INT PRIMARY KEY) ENGINE=InnoDB;
|
||||
connection node_2;
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
|
||||
NAME
|
||||
test/t1
|
||||
test/t2
|
||||
LOCK TABLE t1 READ;
|
||||
connection node_1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
@ -1,7 +1,13 @@
|
||||
CREATE TABLE t1 (id INT) ENGINE=InnoDB;
|
||||
CREATE TABLE t2 (id INT) ENGINE=InnoDB;
|
||||
connection node_2;
|
||||
SET GLOBAL wsrep_slave_threads = 2;
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
|
||||
NAME
|
||||
test/t1
|
||||
test/t2
|
||||
LOCK TABLE t1 WRITE;
|
||||
connection node_1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
INSERT INTO t2 VALUES (1);
|
||||
INSERT INTO t1 VALUES (1);
|
||||
@ -14,6 +20,7 @@ INSERT INTO t1 VALUES (1);
|
||||
INSERT INTO t2 VALUES (1);
|
||||
INSERT INTO t1 VALUES (1);
|
||||
INSERT INTO t2 VALUES (1);
|
||||
connection node_2;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
UNLOCK TABLES;
|
||||
SET SESSION wsrep_sync_wait = 15;
|
||||
|
@ -6,13 +6,13 @@ connection node_2;
|
||||
disconnect node_2;
|
||||
connection node_1;
|
||||
Suspending node_2 ...
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
Got one of the listed errors
|
||||
Resuming node_2 ...
|
||||
SET SESSION wsrep_sync_wait = 1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
connection node_2a;
|
||||
SET SESSION wsrep_sync_wait = 1;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SELECT COUNT(*) = 1 FROM t1;
|
||||
COUNT(*) = 1
|
||||
1
|
||||
|
@ -9,7 +9,7 @@ CREATE TABLE child (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT,
|
||||
parent_id INT
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO parent VALUES (DEFAULT, 0);
|
||||
INSERT INTO parent VALUES (1, 0);
|
||||
INSERT INTO child (parent_id) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;;
|
||||
INSERT INTO parent (f2) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;;
|
||||
INSERT INTO parent (f2) SELECT 2 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;;
|
||||
|
@ -1,4 +1,10 @@
|
||||
CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, node VARCHAR(10)) ENGINE=InnoDB;
|
||||
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||
VARIABLE_VALUE
|
||||
2
|
||||
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index';
|
||||
VARIABLE_VALUE
|
||||
0
|
||||
SELECT @@auto_increment_increment = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size');
|
||||
@@auto_increment_increment = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size')
|
||||
1
|
||||
@ -7,6 +13,12 @@ SELECT @@global.auto_increment_offset = (SELECT VARIABLE_VALUE FROM INFORMATION_
|
||||
1
|
||||
INSERT INTO t1 VALUES (DEFAULT, 'node1');;
|
||||
INSERT INTO t1 VALUES (DEFAULT, 'node2');;
|
||||
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||
VARIABLE_VALUE
|
||||
2
|
||||
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index';
|
||||
VARIABLE_VALUE
|
||||
1
|
||||
SELECT @@auto_increment_increment = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size');
|
||||
@@auto_increment_increment = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size')
|
||||
1
|
||||
|
@ -110,6 +110,8 @@ INSERT INTO t1 VALUES (DEFAULT);
|
||||
INSERT INTO t1 VALUES (DEFAULT);
|
||||
DROP TABLE t1;
|
||||
connection node_2;
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
|
||||
NAME
|
||||
SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE LIKE '%wsrep aborter%';
|
||||
COUNT(*) = 1
|
||||
1
|
||||
|
@ -4,6 +4,9 @@ INSERT INTO ten VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
|
||||
INSERT INTO t1 (f1) SELECT 000000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
|
||||
connection node_2;
|
||||
SELECT COUNT(*) = 100000 FROM t1;
|
||||
COUNT(*) = 100000
|
||||
1
|
||||
SET GLOBAL wsrep_desync = TRUE;
|
||||
SET SESSION wsrep_on = FALSE;
|
||||
ALTER TABLE t1 ADD PRIMARY KEY (f1);
|
||||
|
@ -1,6 +1,9 @@
|
||||
CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
connection node_2;
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
|
||||
NAME
|
||||
test/t1
|
||||
FLUSH TABLES t1 FOR EXPORT;
|
||||
connection node_1;
|
||||
ALTER TABLE t1 ADD COLUMN f2 INTEGER;
|
||||
|
@ -1,6 +1,9 @@
|
||||
CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
connection node_2;
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
|
||||
NAME
|
||||
test/t1
|
||||
FLUSH TABLES t1 WITH READ LOCK;
|
||||
connection node_1;
|
||||
ALTER TABLE t1 ADD COLUMN f2 INTEGER;
|
||||
|
@ -1,4 +1,6 @@
|
||||
Setting SST method to mysqldump ...
|
||||
call mtr.add_suppression("WSREP: wsrep_sst_method is set to 'mysqldump' yet mysqld bind_address is set to '127.0.0.1'");
|
||||
call mtr.add_suppression("Failed to load slave replication state from table mysql.gtid_slave_pos");
|
||||
CREATE USER 'sst';
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'sst';
|
||||
SET GLOBAL wsrep_sst_auth = 'sst:';
|
||||
@ -98,5 +100,4 @@ CALL mtr.add_suppression("Can't open and lock time zone table");
|
||||
CALL mtr.add_suppression("Can't open and lock privilege tables");
|
||||
CALL mtr.add_suppression("Info table is not ready to be used");
|
||||
CALL mtr.add_suppression("Native table .* has the wrong structure");
|
||||
SET GLOBAL general_log = ON;
|
||||
SET GLOBAL slow_query_log = ON;
|
||||
Restarting server ...
|
||||
|
@ -1,31 +1,44 @@
|
||||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
|
||||
connection node_1;
|
||||
SET GLOBAL wsrep_OSU_method = "RSU";
|
||||
SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
|
||||
ALTER TABLE t1 ADD COLUMN f2 INTEGER;;
|
||||
connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_OSU_method = "TOI";
|
||||
SET DEBUG_SYNC= 'now SIGNAL continue';
|
||||
connection node_1;
|
||||
SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
|
||||
COUNT(*) = 2
|
||||
1
|
||||
connection node_2;
|
||||
SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
|
||||
COUNT(*) = 2
|
||||
1
|
||||
connection node_1;
|
||||
DROP TABLE t1;
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
|
||||
connection node_1;
|
||||
SET GLOBAL wsrep_OSU_method = "TOI";
|
||||
SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
|
||||
ALTER TABLE t1 ADD COLUMN f2 INTEGER;;
|
||||
connection node_1a;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
SET GLOBAL wsrep_OSU_method = "RSU";
|
||||
SET DEBUG_SYNC= 'now SIGNAL continue';
|
||||
connection node_1;
|
||||
SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
|
||||
COUNT(*) = 2
|
||||
1
|
||||
INSERT INTO t1 VALUES (1,2);
|
||||
connection node_2;
|
||||
SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
|
||||
COUNT(*) = 2
|
||||
1
|
||||
INSERT INTO t1 VALUES (3,4);
|
||||
connection node_1;
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL WSREP_OSU_METHOD = TOI;
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
|
@ -1,4 +1,6 @@
|
||||
connection node_1;
|
||||
connection node_2;
|
||||
connection node_1;
|
||||
set GLOBAL wsrep_slave_threads=26;
|
||||
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
@ -32,7 +34,6 @@ SET GLOBAL wsrep_slave_threads = 1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
16
|
||||
SET GLOBAL auto_increment_offset = 2;
|
||||
connection node_1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
@ -42,4 +43,3 @@ Variable_name Value
|
||||
wsrep_slave_threads 12
|
||||
SET GLOBAL wsrep_slave_threads = 1;
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL auto_increment_offset = 1;
|
||||
|
@ -24,7 +24,6 @@ SET global wsrep_sync_wait=0;
|
||||
|
||||
--connection node_3
|
||||
START SLAVE;
|
||||
--sleep 1
|
||||
--let $slave_param= Slave_IO_Running
|
||||
--let $slave_param_value= Connecting
|
||||
--source include/wait_for_slave_param.inc
|
||||
@ -38,6 +37,7 @@ SET GLOBAL wsrep_provider_options='gmcast.isolate=0';
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
|
||||
--connection node_1
|
||||
--source include/galera_wait_ready.inc
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
--connection node_3
|
||||
@ -61,3 +61,10 @@ RESET SLAVE ALL;
|
||||
|
||||
CALL mtr.add_suppression('failed registering on master');
|
||||
CALL mtr.add_suppression('You need to use --log-bin to make --binlog-format work');
|
||||
|
||||
--connection node_1
|
||||
RESET MASTER;
|
||||
CALL mtr.add_suppression('WSREP: Last Applied Action message in non-primary configuration from member');
|
||||
|
||||
--connection node_2
|
||||
CALL mtr.add_suppression('WSREP: Last Applied Action message in non-primary configuration from member');
|
@ -5,15 +5,19 @@
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
SET @@global.wsrep_replicate_myisam=OFF;
|
||||
--connection node_1
|
||||
TRUNCATE TABLE mysql.general_log;
|
||||
SELECT COUNT(*) from mysql.general_log;
|
||||
|
||||
--sleep 1
|
||||
--connection node_2
|
||||
TRUNCATE TABLE mysql.general_log;
|
||||
SELECT COUNT(*) from mysql.general_log;
|
||||
|
||||
--sleep 1
|
||||
--connection node_1
|
||||
SELECT COUNT(*) from mysql.general_log;
|
||||
SET SESSION wsrep_osu_method=TOI;
|
||||
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
|
||||
SET SESSION wsrep_osu_method=RSU;
|
||||
@ -25,3 +29,4 @@ SELECT COUNT(*) = 2 FROM mysql.general_log WHERE argument LIKE 'CREATE%' OR argu
|
||||
--connection node_2
|
||||
SELECT COUNT(*) = 0 FROM mysql.general_log WHERE argument NOT LIKE 'SELECT%';
|
||||
DROP TABLE t1;
|
||||
SET @@global.wsrep_replicate_myisam=Default;
|
||||
|
@ -27,7 +27,6 @@ CREATE TABLE test.t3 AS SELECT * from t1;
|
||||
SET SQL_LOG_BIN=ON;
|
||||
INSERT INTO t1 VALUES(3);
|
||||
CREATE TABLE test.t4 AS SELECT * from t1;
|
||||
--save_master_pos
|
||||
|
||||
--connection node_2
|
||||
SELECT * FROM t1;
|
||||
@ -36,7 +35,12 @@ SELECT * FROM t3;
|
||||
SELECT * FROM t4;
|
||||
|
||||
--connection node_3
|
||||
--sync_with_master
|
||||
--let $wait_condition = SELECT COUNT(*) = 2 FROM t1;
|
||||
--source include/wait_condition.inc
|
||||
|
||||
--let $wait_condition = SELECT COUNT(*) = 3 FROM t4;
|
||||
--source include/wait_condition.inc
|
||||
|
||||
SHOW TABLES;
|
||||
|
||||
SELECT * FROM t1;
|
||||
@ -45,15 +49,19 @@ SELECT * FROM t4;
|
||||
--echo # Cleanup
|
||||
--connection node_1
|
||||
DROP TABLE t1, t4;
|
||||
--save_master_pos
|
||||
SET SQL_LOG_BIN=OFF;
|
||||
DROP TABLE t2, t3;
|
||||
|
||||
--connection node_3
|
||||
--sync_with_master
|
||||
--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
|
||||
--source include/wait_condition.inc
|
||||
--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't4';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
STOP SLAVE;
|
||||
RESET SLAVE ALL;
|
||||
|
||||
CALL mtr.add_suppression('You need to use --log-bin to make --binlog-format work');
|
||||
|
||||
--connection node_1
|
||||
RESET MASTER;
|
||||
|
@ -1,6 +1,7 @@
|
||||
# Test fragmentation over configuration changes
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
--source suite/galera/include/galera_have_debug_sync.inc
|
||||
|
||||
# Prepare table
|
||||
CREATE TABLE t1 (f1 INT PRIMARY KEY, f2 TEXT);
|
||||
|
@ -19,17 +19,10 @@ CREATE TABLE t1 (f1 INTEGER);
|
||||
--connection node_2
|
||||
SELECT COUNT(*) = 0 FROM t1;
|
||||
|
||||
# Compose a valid binlog from a header file and the GRA file
|
||||
# Make sure the GRA file produced is readable and contains the failure
|
||||
|
||||
--let $gra_binlog_file = $MYSQLTEST_VARDIR/tmp/gra.log
|
||||
--exec rm -rf $gra_binlog_file
|
||||
|
||||
--exec cp std_data/binlog-header.log $gra_binlog_file
|
||||
--exec cat $MYSQLTEST_VARDIR/mysqld.2/data/GRA_*.log >> $gra_binlog_file
|
||||
|
||||
# Make sure the binlog thus produced is readable and contains the failure
|
||||
--replace_regex /SET TIMESTAMP=[0-9]+/SET TIMESTAMP=<TIMESTAMP>/ /#[0-9]+ +[0-9]+:[0-9]+:[0-9]+/<ISO TIMESTAMP>/ /pseudo_thread_id=[0-9]+/pseudo_thread_id=<PSEUDO_THREAD_ID>/ /thread_id=[0-9]+/thread_id=<QUERY_THREAD_ID>/
|
||||
--exec $MYSQL_BINLOG $gra_binlog_file
|
||||
--replace_regex /SET TIMESTAMP=[0-9]+/SET TIMESTAMP=<TIMESTAMP>/ /pseudo_thread_id=[0-9]+/pseudo_thread_id=<PSEUDO_THREAD_ID>/
|
||||
--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/mysqld.2/data/GRA_*.log
|
||||
|
||||
SET SESSION wsrep_on=ON;
|
||||
|
||||
|
@ -38,7 +38,13 @@ SELECT @@global.gtid_binlog_state;
|
||||
|
||||
--let $wait_condition = SELECT COUNT(*) = 1 FROM t1;
|
||||
--source include/wait_condition.inc
|
||||
--sleep 1
|
||||
|
||||
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't2';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
--let $wait_condition = SELECT COUNT(*) = 2 FROM t2;
|
||||
--source include/wait_condition.inc
|
||||
|
||||
INSERT INTO t1 VALUES(2);
|
||||
INSERT INTO t1 VALUES(3);
|
||||
SELECT @@global.gtid_binlog_state;
|
||||
@ -52,14 +58,6 @@ SELECT @@global.gtid_binlog_state;
|
||||
|
||||
--connection node_1
|
||||
DROP TABLE t1,t2;
|
||||
reset master;
|
||||
#
|
||||
# Unfortunately without the sleep below the following statement fails with "query returned no rows", which
|
||||
# is difficult to understand given that it is an aggregate query. A "query execution was interrupted"
|
||||
# warning is also reported by MTR, which is also weird.
|
||||
#
|
||||
|
||||
--sleep 1
|
||||
|
||||
--connection node_2
|
||||
--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
|
||||
@ -76,3 +74,6 @@ reset master;
|
||||
|
||||
--connection node_3
|
||||
reset master;
|
||||
|
||||
--connection node_1
|
||||
reset master;
|
||||
|
@ -14,6 +14,13 @@ CREATE TABLE t2 (id INT PRIMARY KEY) ENGINE=InnoDB;
|
||||
--sleep 1
|
||||
|
||||
--connection node_2
|
||||
|
||||
# Wait until above DDL's are replicated
|
||||
--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
|
||||
|
||||
LOCK TABLE t1 READ;
|
||||
|
||||
--connection node_1
|
||||
|
@ -13,6 +13,13 @@ CREATE TABLE t2 (id INT) ENGINE=InnoDB;
|
||||
|
||||
--connection node_2
|
||||
SET GLOBAL wsrep_slave_threads = 2;
|
||||
|
||||
# Wait until above DDL's are replicated
|
||||
--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
|
||||
|
||||
LOCK TABLE t1 WRITE;
|
||||
|
||||
--connection node_1
|
||||
|
@ -29,6 +29,11 @@ CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
|
||||
exit(0);
|
||||
EOF
|
||||
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
|
||||
--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
--error ER_UNKNOWN_COM_ERROR,ER_LOCK_WAIT_TIMEOUT,ER_LOCK_DEADLOCK,ER_ERROR_DURING_COMMIT
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
@ -41,8 +46,6 @@ INSERT INTO t1 VALUES (1);
|
||||
exit(0);
|
||||
EOF
|
||||
|
||||
SET SESSION wsrep_sync_wait = 1;
|
||||
--sleep 10
|
||||
--source include/wait_until_ready.inc
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
@ -51,7 +54,7 @@ INSERT INTO t1 VALUES (1);
|
||||
--source include/galera_connect.inc
|
||||
--connection node_2a
|
||||
|
||||
SET SESSION wsrep_sync_wait = 1;
|
||||
SET SESSION wsrep_sync_wait = 0;
|
||||
--source include/wait_until_ready.inc
|
||||
SELECT COUNT(*) = 1 FROM t1;
|
||||
|
||||
|
@ -20,7 +20,7 @@ CREATE TABLE child (
|
||||
parent_id INT
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
INSERT INTO parent VALUES (DEFAULT, 0);
|
||||
INSERT INTO parent VALUES (1, 0);
|
||||
|
||||
--connection node_2
|
||||
--send INSERT INTO child (parent_id) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
|
||||
|
@ -17,12 +17,23 @@ CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
|
||||
--reap
|
||||
INSERT INTO t1 (f1, f2) VALUES (DEFAULT, 234);
|
||||
|
||||
--let $wait_condition = SELECT COUNT(*) = 3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
|
||||
--source include/wait_condition.inc
|
||||
--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 't1';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
SELECT COUNT(*) = 3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
|
||||
SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 't1';
|
||||
SELECT COUNT(*) = 2 FROM t1;
|
||||
|
||||
--connection node_1
|
||||
--reap
|
||||
|
||||
--let $wait_condition = SELECT COUNT(*) = 3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
|
||||
--source include/wait_condition.inc
|
||||
--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 't1';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
SELECT COUNT(*) = 3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
|
||||
SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 't1';
|
||||
SELECT COUNT(*) = 2 FROM t1;
|
||||
|
@ -0,0 +1 @@
|
||||
--wsrep-auto-increment-control=ON
|
@ -5,6 +5,11 @@
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
# Save original auto_increment_offset values.
|
||||
--let $node_1=node_1
|
||||
--let $node_2=node_2
|
||||
--source include/auto_increment_offset_save.inc
|
||||
|
||||
--connection node_1
|
||||
|
||||
CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, node VARCHAR(10)) ENGINE=InnoDB;
|
||||
@ -12,6 +17,8 @@ CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, node VARCHAR(10)) ENGINE
|
||||
# auto_increment_increment is equal to the number of nodes
|
||||
# auto_increment_offset is equal to the ID of the node
|
||||
|
||||
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index';
|
||||
SELECT @@auto_increment_increment = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size');
|
||||
SELECT @@global.auto_increment_offset = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index') + 1;
|
||||
|
||||
@ -27,6 +34,8 @@ SELECT @@global.auto_increment_offset = (SELECT VARIABLE_VALUE FROM INFORMATION_
|
||||
--connection node_2
|
||||
--reap
|
||||
|
||||
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
||||
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index';
|
||||
SELECT @@auto_increment_increment = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size');
|
||||
SELECT @@global.auto_increment_offset = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_index') + 1;
|
||||
|
||||
|
@ -86,6 +86,13 @@ INSERT INTO t1 VALUES (DEFAULT);
|
||||
DROP TABLE t1;
|
||||
|
||||
--connection node_2
|
||||
|
||||
# Wait until above DDL is replicated
|
||||
--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
|
||||
|
||||
#
|
||||
# make sure that we are left with exactly one applier thread before we leaving the test
|
||||
#
|
||||
|
@ -17,6 +17,8 @@ CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
|
||||
INSERT INTO t1 (f1) SELECT 000000 + (10000 * a1.f1) + (1000 * a2.f1) + (100 * a3.f1) + (10 * a4.f1) + a5.f1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, ten AS a5;
|
||||
|
||||
--connection node_2
|
||||
SELECT COUNT(*) = 100000 FROM t1;
|
||||
|
||||
SET GLOBAL wsrep_desync = TRUE;
|
||||
SET SESSION wsrep_on = FALSE;
|
||||
|
||||
|
@ -5,6 +5,13 @@ CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
--connection node_2
|
||||
|
||||
# Wait until above DDL's are replicated
|
||||
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
|
||||
|
||||
FLUSH TABLES t1 FOR EXPORT;
|
||||
|
||||
--connection node_1
|
||||
|
@ -5,6 +5,13 @@ CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
--connection node_2
|
||||
|
||||
# Wait until above DDL's are replicated
|
||||
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t%';
|
||||
|
||||
FLUSH TABLES t1 WITH READ LOCK;
|
||||
|
||||
--connection node_1
|
||||
|
@ -3,6 +3,9 @@
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
--let $node_1=node_1
|
||||
--let $node_2=node_2
|
||||
--source suite/galera/include/auto_increment_offset_save.inc
|
||||
--source suite/galera/include/galera_sst_set_mysqldump.inc
|
||||
|
||||
--source suite/galera/include/galera_st_disconnect_slave.inc
|
||||
@ -10,9 +13,8 @@
|
||||
--source suite/galera/include/galera_sst_restore.inc
|
||||
|
||||
--connection node_2
|
||||
# We have to manually restore global_log and slow_query_log due to mysql-wsrep#108
|
||||
# Otherwise MTR's check_testcases complains
|
||||
|
||||
SET GLOBAL general_log = ON;
|
||||
SET GLOBAL slow_query_log = ON;
|
||||
--echo Restarting server ...
|
||||
--source include/restart_mysqld.inc
|
||||
|
||||
--source suite/galera/include/auto_increment_offset_restore.inc
|
||||
|
@ -31,6 +31,7 @@ SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
|
||||
|
||||
--connection node_1
|
||||
DROP TABLE t1;
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
|
||||
|
||||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
|
||||
@ -63,3 +64,4 @@ INSERT INTO t1 VALUES (3,4);
|
||||
DROP TABLE t1;
|
||||
|
||||
SET GLOBAL WSREP_OSU_METHOD = TOI;
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
|
@ -6,6 +6,11 @@
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
# Save original auto_increment_offset values.
|
||||
--let $node_1=node_1
|
||||
--let $node_2=node_2
|
||||
--source include/auto_increment_offset_save.inc
|
||||
|
||||
--connection node_1
|
||||
--let $wsrep_slave_1 = `SELECT @@wsrep_slave_threads`
|
||||
set GLOBAL wsrep_slave_threads=26;
|
||||
@ -54,12 +59,11 @@ show global variables like 'wsrep_slave_threads';
|
||||
--eval SET GLOBAL wsrep_slave_threads = $wsrep_slave_2
|
||||
SELECT COUNT(*) FROM t1;
|
||||
|
||||
SET GLOBAL auto_increment_offset = 2;
|
||||
|
||||
--connection node_1
|
||||
SELECT COUNT(*) FROM t1;
|
||||
show global variables like 'wsrep_slave_threads';
|
||||
--eval SET GLOBAL wsrep_slave_threads = $wsrep_slave_1
|
||||
DROP TABLE t1;
|
||||
|
||||
SET GLOBAL auto_increment_offset = 1;
|
||||
--source include/auto_increment_offset_restore.inc
|
||||
|
||||
|
@ -9,16 +9,12 @@
|
||||
|
||||
--connection node_1
|
||||
SET GLOBAL wsrep_provider_options = 'pc.weight=3';
|
||||
|
||||
--source include/wait_until_connected_again.inc
|
||||
--source include/galera_suspend.inc
|
||||
--sleep 10
|
||||
|
||||
--connection node_2
|
||||
# Do not wait for causality as we are no longer in the primary component
|
||||
SET SESSION wsrep_sync_wait=0;
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
SET SESSION wsrep_on=OFF;
|
||||
--let $wait_condition = SELECT VARIABLE_VALUE = 'non-Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'
|
||||
--source include/wait_condition.inc
|
||||
@ -39,7 +35,6 @@ SHOW STATUS LIKE 'wsrep_local_state_comment';
|
||||
--source include/galera_connect.inc
|
||||
--connection node_3
|
||||
SET SESSION wsrep_sync_wait=0;
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
SHOW STATUS LIKE 'wsrep_cluster_size';
|
||||
SHOW STATUS LIKE 'wsrep_cluster_status';
|
||||
|
@ -688,3 +688,55 @@ SELECT f1, f3 FROM t2;
|
||||
f1 f3
|
||||
3 2
|
||||
DROP TABLE t2, t1;
|
||||
#
|
||||
# MDEV-15553 Assertion failed in dict_table_get_col_name
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
c1 TIMESTAMP,
|
||||
c2 YEAR,
|
||||
c3 TIME,
|
||||
c4 CHAR(10),
|
||||
v1 TIMESTAMP AS (c1) VIRTUAL,
|
||||
v2 YEAR AS (c2) VIRTUAL,
|
||||
v3 TIME AS (c3) VIRTUAL,
|
||||
v4 CHAR(10) AS (c4) VIRTUAL
|
||||
) ENGINE=InnoDB;
|
||||
ALTER TABLE t1 ADD CONSTRAINT fk FOREIGN KEY (v4) REFERENCES nosuch(col);
|
||||
ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
|
||||
SET foreign_key_checks=0;
|
||||
ALTER TABLE t1 ADD CONSTRAINT fk FOREIGN KEY (v4) REFERENCES nosuch(col);
|
||||
ERROR HY000: Failed to add the foreign key constaint. Missing index for constraint 'fk' in the foreign table 't1'
|
||||
ALTER TABLE t1 ADD INDEX(v4);
|
||||
ALTER TABLE t1 ADD CONSTRAINT fk FOREIGN KEY (v4) REFERENCES nosuch(col);
|
||||
SET foreign_key_checks=1;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
||||
`c2` year(4) DEFAULT NULL,
|
||||
`c3` time DEFAULT NULL,
|
||||
`c4` char(10) DEFAULT NULL,
|
||||
`v1` timestamp GENERATED ALWAYS AS (`c1`) VIRTUAL,
|
||||
`v2` year(4) GENERATED ALWAYS AS (`c2`) VIRTUAL,
|
||||
`v3` time GENERATED ALWAYS AS (`c3`) VIRTUAL,
|
||||
`v4` char(10) GENERATED ALWAYS AS (`c4`) VIRTUAL,
|
||||
KEY `v4` (`v4`),
|
||||
CONSTRAINT `fk` FOREIGN KEY (`v4`) REFERENCES `nosuch` (`col`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
ALTER TABLE t1 DROP FOREIGN KEY fk;
|
||||
ALTER TABLE t1 ADD CONSTRAINT fk FOREIGN KEY (v4) REFERENCES nosuch(col);
|
||||
ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
||||
`c2` year(4) DEFAULT NULL,
|
||||
`c3` time DEFAULT NULL,
|
||||
`c4` char(10) DEFAULT NULL,
|
||||
`v1` timestamp GENERATED ALWAYS AS (`c1`) VIRTUAL,
|
||||
`v2` year(4) GENERATED ALWAYS AS (`c2`) VIRTUAL,
|
||||
`v3` time GENERATED ALWAYS AS (`c3`) VIRTUAL,
|
||||
`v4` char(10) GENERATED ALWAYS AS (`c4`) VIRTUAL,
|
||||
KEY `v4` (`v4`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
|
@ -576,3 +576,34 @@ UPDATE t1 SET f1 = 3;
|
||||
EXPLAIN SELECT f1, f3 FROM t2;
|
||||
SELECT f1, f3 FROM t2;
|
||||
DROP TABLE t2, t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-15553 Assertion failed in dict_table_get_col_name
|
||||
--echo #
|
||||
CREATE TABLE t1 (
|
||||
c1 TIMESTAMP,
|
||||
c2 YEAR,
|
||||
c3 TIME,
|
||||
c4 CHAR(10),
|
||||
v1 TIMESTAMP AS (c1) VIRTUAL,
|
||||
v2 YEAR AS (c2) VIRTUAL,
|
||||
v3 TIME AS (c3) VIRTUAL,
|
||||
v4 CHAR(10) AS (c4) VIRTUAL
|
||||
) ENGINE=InnoDB;
|
||||
--replace_regex /#sql-[0-9a-f_]*/#sql-temporary/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
ALTER TABLE t1 ADD CONSTRAINT fk FOREIGN KEY (v4) REFERENCES nosuch(col);
|
||||
SET foreign_key_checks=0;
|
||||
--error ER_FK_NO_INDEX_CHILD
|
||||
ALTER TABLE t1 ADD CONSTRAINT fk FOREIGN KEY (v4) REFERENCES nosuch(col);
|
||||
ALTER TABLE t1 ADD INDEX(v4);
|
||||
ALTER TABLE t1 ADD CONSTRAINT fk FOREIGN KEY (v4) REFERENCES nosuch(col);
|
||||
SET foreign_key_checks=1;
|
||||
SHOW CREATE TABLE t1;
|
||||
ALTER TABLE t1 DROP FOREIGN KEY fk;
|
||||
--replace_regex /#sql-[0-9a-f_]*/#sql-temporary/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
ALTER TABLE t1 ADD CONSTRAINT fk FOREIGN KEY (v4) REFERENCES nosuch(col);
|
||||
SHOW CREATE TABLE t1;
|
||||
# Cleanup
|
||||
DROP TABLE t1;
|
||||
|
24
mysql-test/suite/innodb/r/mdev-15707.result
Normal file
24
mysql-test/suite/innodb/r/mdev-15707.result
Normal file
@ -0,0 +1,24 @@
|
||||
CREATE TABLE t1(
|
||||
a INT AUTO_INCREMENT PRIMARY KEY,
|
||||
b CHAR(255),
|
||||
INDEX(b))
|
||||
ENGINE=InnoDB;
|
||||
INSERT INTO t1(b) SELECT UUID();
|
||||
BEGIN;
|
||||
INSERT INTO t1(b) SELECT UUID() FROM t1;
|
||||
INSERT INTO t1(b) SELECT UUID() FROM t1;
|
||||
INSERT INTO t1(b) SELECT UUID() FROM t1;
|
||||
INSERT INTO t1(b) SELECT UUID() FROM t1;
|
||||
INSERT INTO t1(b) SELECT UUID() FROM t1;
|
||||
INSERT INTO t1(b) SELECT UUID() FROM t1;
|
||||
INSERT INTO t1(b) SELECT UUID() FROM t1;
|
||||
INSERT INTO t1(b) SELECT UUID() FROM t1;
|
||||
INSERT INTO t1(b) SELECT UUID() FROM t1;
|
||||
INSERT INTO t1(b) SELECT UUID() FROM t1;
|
||||
INSERT INTO t1(b) SELECT UUID() FROM t1;
|
||||
INSERT INTO t1(b) SELECT UUID() FROM t1;
|
||||
INSERT INTO t1(b) SELECT UUID() FROM t1;
|
||||
INSERT INTO t1(b) SELECT UUID() FROM t1;
|
||||
COMMIT;
|
||||
UPDATE t1 SET b=UUID();
|
||||
DROP TABLE t1;
|
@ -10,10 +10,7 @@
|
||||
# #
|
||||
######################################################################
|
||||
|
||||
# Don't test this under valgrind, memory leaks will occur due restart
|
||||
--source include/not_valgrind.inc
|
||||
# Test restart the server and "shutdown_server" looks for pid file
|
||||
# which is not there with embedded mode
|
||||
# Embedded server tests do not support restarting
|
||||
--source include/not_embedded.inc
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
1
mysql-test/suite/innodb/t/mdev-15707.opt
Normal file
1
mysql-test/suite/innodb/t/mdev-15707.opt
Normal file
@ -0,0 +1 @@
|
||||
--innodb --innodb-buffer-pool-size=5MB --innodb-read-io-threads=1 --innodb-doublewrite=0 --innodb-flush-log-at-trx-commit=0
|
28
mysql-test/suite/innodb/t/mdev-15707.test
Normal file
28
mysql-test/suite/innodb/t/mdev-15707.test
Normal file
@ -0,0 +1,28 @@
|
||||
--source include/windows.inc
|
||||
|
||||
# Deadlock in conjunction with the innodb change buffering.
|
||||
|
||||
# When innodb change buffering kicks in, i.e secondary non-unique index
|
||||
# does not fit into the bufferpool, then, on Windows, innodb
|
||||
# background threads could deadlock whenever index page is
|
||||
# read, and the page needs load/merge change buffer.
|
||||
# The test tries to reproduce this situation, by creating index
|
||||
# that does not fit into bufferpool, and doing a large update.
|
||||
|
||||
CREATE TABLE t1(
|
||||
a INT AUTO_INCREMENT PRIMARY KEY,
|
||||
b CHAR(255),
|
||||
INDEX(b))
|
||||
ENGINE=InnoDB;
|
||||
|
||||
INSERT INTO t1(b) SELECT UUID();
|
||||
BEGIN;
|
||||
let $i=`select cast(log2(@@innodb_buffer_pool_size/255) as int)`;
|
||||
while ($i)
|
||||
{
|
||||
INSERT INTO t1(b) SELECT UUID() FROM t1;
|
||||
dec $i;
|
||||
}
|
||||
COMMIT;
|
||||
UPDATE t1 SET b=UUID();
|
||||
DROP TABLE t1;
|
@ -561,8 +561,15 @@ disconnect con4a;
|
||||
disconnect con4b;
|
||||
disconnect con4c;
|
||||
set global max_user_connections = 0;
|
||||
set global max_connections = 3;
|
||||
set global max_connections = 10;
|
||||
flush user_resources;
|
||||
connect tmp_con1,"127.0.0.1",quota,,test,$MASTER_MYPORT,;
|
||||
connect tmp_con2,"127.0.0.1",quota,,test,$MASTER_MYPORT,;
|
||||
connect tmp_con3,"127.0.0.1",quota,,test,$MASTER_MYPORT,;
|
||||
connect tmp_con4,"127.0.0.1",quota,,test,$MASTER_MYPORT,;
|
||||
connect tmp_con5,"127.0.0.1",quota,,test,$MASTER_MYPORT,;
|
||||
connect tmp_con6,"127.0.0.1",quota,,test,$MASTER_MYPORT,;
|
||||
connect tmp_con7,"127.0.0.1",quota,,test,$MASTER_MYPORT,;
|
||||
connect con5a,"127.0.0.1",quota,,test,$MASTER_MYPORT,;
|
||||
select "Con4a is alive";
|
||||
Con4a is alive
|
||||
@ -697,6 +704,13 @@ FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
disconnect con5a;
|
||||
disconnect con5b;
|
||||
disconnect tmp_con1;
|
||||
disconnect tmp_con2;
|
||||
disconnect tmp_con3;
|
||||
disconnect tmp_con4;
|
||||
disconnect tmp_con5;
|
||||
disconnect tmp_con6;
|
||||
disconnect tmp_con7;
|
||||
set global max_connections = @saved_max_connections;
|
||||
set global max_user_connections = @saved_max_user_connections;
|
||||
drop user 'quota'@'santa.claus.ipv4.example.com';
|
||||
|
@ -561,8 +561,15 @@ disconnect con4a;
|
||||
disconnect con4b;
|
||||
disconnect con4c;
|
||||
set global max_user_connections = 0;
|
||||
set global max_connections = 3;
|
||||
set global max_connections = 10;
|
||||
flush user_resources;
|
||||
connect tmp_con1,"::1",quota,,test,$MASTER_MYPORT,;
|
||||
connect tmp_con2,"::1",quota,,test,$MASTER_MYPORT,;
|
||||
connect tmp_con3,"::1",quota,,test,$MASTER_MYPORT,;
|
||||
connect tmp_con4,"::1",quota,,test,$MASTER_MYPORT,;
|
||||
connect tmp_con5,"::1",quota,,test,$MASTER_MYPORT,;
|
||||
connect tmp_con6,"::1",quota,,test,$MASTER_MYPORT,;
|
||||
connect tmp_con7,"::1",quota,,test,$MASTER_MYPORT,;
|
||||
connect con5a,"::1",quota,,test,$MASTER_MYPORT,;
|
||||
select "Con4a is alive";
|
||||
Con4a is alive
|
||||
@ -697,6 +704,13 @@ FIRST_ERROR_SEEN set
|
||||
LAST_ERROR_SEEN set
|
||||
disconnect con5a;
|
||||
disconnect con5b;
|
||||
disconnect tmp_con1;
|
||||
disconnect tmp_con2;
|
||||
disconnect tmp_con3;
|
||||
disconnect tmp_con4;
|
||||
disconnect tmp_con5;
|
||||
disconnect tmp_con6;
|
||||
disconnect tmp_con7;
|
||||
set global max_connections = @saved_max_connections;
|
||||
set global max_user_connections = @saved_max_user_connections;
|
||||
drop user 'quota'@'santa.claus.ipv6.example.com';
|
||||
|
@ -176,9 +176,17 @@ disconnect con4c;
|
||||
--source ../include/wait_for_pfs_thread_count.inc
|
||||
|
||||
set global max_user_connections = 0;
|
||||
set global max_connections = 3;
|
||||
set global max_connections = 10;
|
||||
flush user_resources;
|
||||
|
||||
connect (tmp_con1,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
||||
connect (tmp_con2,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
||||
connect (tmp_con3,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
||||
connect (tmp_con4,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
||||
connect (tmp_con5,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
||||
connect (tmp_con6,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
||||
connect (tmp_con7,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
||||
|
||||
connect (con5a,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
||||
select "Con4a is alive";
|
||||
select current_user();
|
||||
@ -233,6 +241,13 @@ connect (con5d,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
||||
|
||||
disconnect con5a;
|
||||
disconnect con5b;
|
||||
--disconnect tmp_con1
|
||||
--disconnect tmp_con2
|
||||
--disconnect tmp_con3
|
||||
--disconnect tmp_con4
|
||||
--disconnect tmp_con5
|
||||
--disconnect tmp_con6
|
||||
--disconnect tmp_con7
|
||||
|
||||
# Wait for all disconnects
|
||||
--source ../include/wait_for_pfs_thread_count.inc
|
||||
|
@ -177,9 +177,17 @@ disconnect con4c;
|
||||
--source ../include/wait_for_pfs_thread_count.inc
|
||||
|
||||
set global max_user_connections = 0;
|
||||
set global max_connections = 3;
|
||||
set global max_connections = 10;
|
||||
flush user_resources;
|
||||
|
||||
connect (tmp_con1,"::1",quota,,test,$MASTER_MYPORT,);
|
||||
connect (tmp_con2,"::1",quota,,test,$MASTER_MYPORT,);
|
||||
connect (tmp_con3,"::1",quota,,test,$MASTER_MYPORT,);
|
||||
connect (tmp_con4,"::1",quota,,test,$MASTER_MYPORT,);
|
||||
connect (tmp_con5,"::1",quota,,test,$MASTER_MYPORT,);
|
||||
connect (tmp_con6,"::1",quota,,test,$MASTER_MYPORT,);
|
||||
connect (tmp_con7,"::1",quota,,test,$MASTER_MYPORT,);
|
||||
|
||||
connect (con5a,"::1",quota,,test,$MASTER_MYPORT,);
|
||||
select "Con4a is alive";
|
||||
select current_user();
|
||||
@ -215,6 +223,13 @@ connect (con5d,"::1",quota,,test,$MASTER_MYPORT,);
|
||||
|
||||
disconnect con5a;
|
||||
disconnect con5b;
|
||||
--disconnect tmp_con1
|
||||
--disconnect tmp_con2
|
||||
--disconnect tmp_con3
|
||||
--disconnect tmp_con4
|
||||
--disconnect tmp_con5
|
||||
--disconnect tmp_con6
|
||||
--disconnect tmp_con7
|
||||
|
||||
# Wait for all disconnects
|
||||
--source ../include/wait_for_pfs_thread_count.inc
|
||||
|
@ -1043,8 +1043,139 @@ let $can_convert = $if_is_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
SET column_compression_threshold=DEFAULT;
|
||||
--echo # End of MDEV-15833
|
||||
--echo # End of MDEV-15821
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-15833 Row format replication between LONGBLOB and MEDIUMBLOB does not work for long values
|
||||
--echo #
|
||||
|
||||
# TINYBLOB
|
||||
|
||||
let $source_type= TINYBLOB;
|
||||
let $target_type= BLOB;
|
||||
let $source_value= REPEAT('a',250);
|
||||
let $target_value= REPEAT('a',250);
|
||||
let $can_convert = $if_is_non_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
let $source_type= TINYBLOB;
|
||||
let $target_type= MEDIUMBLOB;
|
||||
let $source_value= REPEAT('a',250);
|
||||
let $target_value= REPEAT('a',250);
|
||||
let $can_convert = $if_is_non_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
let $source_type= TINYBLOB;
|
||||
let $target_type= LONGBLOB;
|
||||
let $source_value= REPEAT('a',250);
|
||||
let $target_value= REPEAT('a',250);
|
||||
let $can_convert = $if_is_non_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
let $source_type= TINYBLOB;
|
||||
let $target_type= VARBINARY(255);
|
||||
let $source_value= REPEAT('a',250);
|
||||
let $target_value= REPEAT('a',250);
|
||||
let $can_convert = $if_is_non_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
|
||||
# BLOB
|
||||
|
||||
let $source_type= BLOB;
|
||||
let $target_type= TINYBLOB;
|
||||
let $source_value= REPEAT('a',64000);
|
||||
let $target_value= REPEAT('a',255);
|
||||
let $can_convert = $if_is_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
let $source_type= BLOB;
|
||||
let $target_type= MEDIUMBLOB;
|
||||
let $source_value= REPEAT('a',64000);
|
||||
let $target_value= REPEAT('a',64000);
|
||||
let $can_convert = $if_is_non_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
let $source_type= BLOB;
|
||||
let $target_type= LONGBLOB;
|
||||
let $source_value= REPEAT('a',64000);
|
||||
let $target_value= REPEAT('a',64000);
|
||||
let $can_convert = $if_is_non_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
let $source_type= BLOB;
|
||||
let $target_type= VARBINARY(65500);
|
||||
let $source_value= REPEAT('a',65535);
|
||||
let $target_value= REPEAT('a',65500);
|
||||
let $can_convert = $if_is_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
|
||||
# MEDIUMBLOB
|
||||
|
||||
let $source_type= MEDIUMBLOB;
|
||||
let $target_type= TINYBLOB;
|
||||
let $source_value= REPEAT('a',66000);
|
||||
let $target_value= REPEAT('a',255);
|
||||
let $can_convert = $if_is_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
let $source_type= MEDIUMBLOB;
|
||||
let $target_type= BLOB;
|
||||
let $source_value= REPEAT('a',66000);
|
||||
let $target_value= REPEAT('a',65535);
|
||||
let $can_convert = $if_is_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
# This failed before the fix
|
||||
let $source_type= MEDIUMBLOB;
|
||||
let $target_type= LONGBLOB;
|
||||
let $source_value= REPEAT('a',66000);
|
||||
let $target_value= REPEAT('a',66000);
|
||||
let $can_convert = $if_is_non_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
let $source_type= MEDIUMBLOB;
|
||||
let $target_type= VARBINARY(65500);
|
||||
let $source_value= REPEAT('a',66000);
|
||||
let $target_value= REPEAT('a',65500);
|
||||
let $can_convert = $if_is_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
|
||||
# LONGBLOB
|
||||
|
||||
let $source_type= LONGBLOB;
|
||||
let $target_type= TINYBLOB;
|
||||
let $source_value= REPEAT('a',66000);
|
||||
let $target_value= REPEAT('a',255);
|
||||
let $can_convert = $if_is_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
let $source_type= LONGBLOB;
|
||||
let $target_type= BLOB;
|
||||
let $source_value= REPEAT('a',66000);
|
||||
let $target_value= REPEAT('a',65535);
|
||||
let $can_convert = $if_is_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
# This failed before the fix
|
||||
let $source_type= LONGBLOB;
|
||||
let $target_type= MEDIUMBLOB;
|
||||
let $source_value= REPEAT('a',66000);
|
||||
let $target_value= REPEAT('a',66000);
|
||||
let $can_convert = $if_is_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
let $source_type= LONGBLOB;
|
||||
let $target_type= VARBINARY(65500);
|
||||
let $source_value= REPEAT('a',66000);
|
||||
let $target_value= REPEAT('a',65500);
|
||||
let $can_convert = $if_is_lossy;
|
||||
source suite/rpl/include/check_type.inc;
|
||||
|
||||
--echo # End of MDEV-15833
|
||||
|
||||
--source include/rpl_reset.inc
|
||||
enable_query_log;
|
||||
|
@ -42,6 +42,10 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS='';
|
||||
#
|
||||
# MDEV-15821 Row format replication from LONGBLOB COMPRESSED to LONGBLOB does not work
|
||||
#
|
||||
# End of MDEV-15821
|
||||
#
|
||||
# MDEV-15833 Row format replication between LONGBLOB and MEDIUMBLOB does not work for long values
|
||||
#
|
||||
# End of MDEV-15833
|
||||
include/rpl_reset.inc
|
||||
connection slave;
|
||||
@ -50,6 +54,10 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY';
|
||||
#
|
||||
# MDEV-15821 Row format replication from LONGBLOB COMPRESSED to LONGBLOB does not work
|
||||
#
|
||||
# End of MDEV-15821
|
||||
#
|
||||
# MDEV-15833 Row format replication between LONGBLOB and MEDIUMBLOB does not work for long values
|
||||
#
|
||||
# End of MDEV-15833
|
||||
include/rpl_reset.inc
|
||||
connection slave;
|
||||
@ -58,6 +66,10 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY';
|
||||
#
|
||||
# MDEV-15821 Row format replication from LONGBLOB COMPRESSED to LONGBLOB does not work
|
||||
#
|
||||
# End of MDEV-15821
|
||||
#
|
||||
# MDEV-15833 Row format replication between LONGBLOB and MEDIUMBLOB does not work for long values
|
||||
#
|
||||
# End of MDEV-15833
|
||||
include/rpl_reset.inc
|
||||
connection slave;
|
||||
@ -66,6 +78,10 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY,ALL_NON_LOSSY';
|
||||
#
|
||||
# MDEV-15821 Row format replication from LONGBLOB COMPRESSED to LONGBLOB does not work
|
||||
#
|
||||
# End of MDEV-15821
|
||||
#
|
||||
# MDEV-15833 Row format replication between LONGBLOB and MEDIUMBLOB does not work for long values
|
||||
#
|
||||
# End of MDEV-15833
|
||||
include/rpl_reset.inc
|
||||
connection slave;
|
||||
@ -212,6 +228,22 @@ LONGBLOB COMPRE BLOB <Correct error>
|
||||
LONGBLOB COMPRE MEDIUMBLOB <Correct error>
|
||||
LONGBLOB COMPRE LONGBLOB <Correct error>
|
||||
LONGBLOB COMPRE VARBINARY(65500 <Correct error>
|
||||
TINYBLOB BLOB <Correct error>
|
||||
TINYBLOB MEDIUMBLOB <Correct error>
|
||||
TINYBLOB LONGBLOB <Correct error>
|
||||
TINYBLOB VARBINARY(255) <Correct error>
|
||||
BLOB TINYBLOB <Correct error>
|
||||
BLOB MEDIUMBLOB <Correct error>
|
||||
BLOB LONGBLOB <Correct error>
|
||||
BLOB VARBINARY(65500 <Correct error>
|
||||
MEDIUMBLOB TINYBLOB <Correct error>
|
||||
MEDIUMBLOB BLOB <Correct error>
|
||||
MEDIUMBLOB LONGBLOB <Correct error>
|
||||
MEDIUMBLOB VARBINARY(65500 <Correct error>
|
||||
LONGBLOB TINYBLOB <Correct error>
|
||||
LONGBLOB BLOB <Correct error>
|
||||
LONGBLOB MEDIUMBLOB <Correct error>
|
||||
LONGBLOB VARBINARY(65500 <Correct error>
|
||||
TINYBLOB TINYBLOB ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB BLOB ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB MEDIUMBLOB ALL_NON_LOSSY <Correct value>
|
||||
@ -353,6 +385,22 @@ LONGBLOB COMPRE BLOB ALL_NON_LOSSY <Correct error>
|
||||
LONGBLOB COMPRE MEDIUMBLOB ALL_NON_LOSSY <Correct error>
|
||||
LONGBLOB COMPRE LONGBLOB ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB COMPRE VARBINARY(65500 ALL_NON_LOSSY <Correct error>
|
||||
TINYBLOB BLOB ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB MEDIUMBLOB ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB LONGBLOB ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB VARBINARY(255) ALL_NON_LOSSY <Correct value>
|
||||
BLOB TINYBLOB ALL_NON_LOSSY <Correct error>
|
||||
BLOB MEDIUMBLOB ALL_NON_LOSSY <Correct value>
|
||||
BLOB LONGBLOB ALL_NON_LOSSY <Correct value>
|
||||
BLOB VARBINARY(65500 ALL_NON_LOSSY <Correct error>
|
||||
MEDIUMBLOB TINYBLOB ALL_NON_LOSSY <Correct error>
|
||||
MEDIUMBLOB BLOB ALL_NON_LOSSY <Correct error>
|
||||
MEDIUMBLOB LONGBLOB ALL_NON_LOSSY <Correct value>
|
||||
MEDIUMBLOB VARBINARY(65500 ALL_NON_LOSSY <Correct error>
|
||||
LONGBLOB TINYBLOB ALL_NON_LOSSY <Correct error>
|
||||
LONGBLOB BLOB ALL_NON_LOSSY <Correct error>
|
||||
LONGBLOB MEDIUMBLOB ALL_NON_LOSSY <Correct error>
|
||||
LONGBLOB VARBINARY(65500 ALL_NON_LOSSY <Correct error>
|
||||
TINYBLOB TINYBLOB ALL_LOSSY <Correct value>
|
||||
TINYBLOB BLOB ALL_LOSSY <Correct error>
|
||||
TINYBLOB MEDIUMBLOB ALL_LOSSY <Correct error>
|
||||
@ -494,6 +542,22 @@ LONGBLOB COMPRE BLOB ALL_LOSSY <Correct value>
|
||||
LONGBLOB COMPRE MEDIUMBLOB ALL_LOSSY <Correct value>
|
||||
LONGBLOB COMPRE LONGBLOB ALL_LOSSY <Correct error>
|
||||
LONGBLOB COMPRE VARBINARY(65500 ALL_LOSSY <Correct value>
|
||||
TINYBLOB BLOB ALL_LOSSY <Correct error>
|
||||
TINYBLOB MEDIUMBLOB ALL_LOSSY <Correct error>
|
||||
TINYBLOB LONGBLOB ALL_LOSSY <Correct error>
|
||||
TINYBLOB VARBINARY(255) ALL_LOSSY <Correct error>
|
||||
BLOB TINYBLOB ALL_LOSSY <Correct value>
|
||||
BLOB MEDIUMBLOB ALL_LOSSY <Correct error>
|
||||
BLOB LONGBLOB ALL_LOSSY <Correct error>
|
||||
BLOB VARBINARY(65500 ALL_LOSSY <Correct value>
|
||||
MEDIUMBLOB TINYBLOB ALL_LOSSY <Correct value>
|
||||
MEDIUMBLOB BLOB ALL_LOSSY <Correct value>
|
||||
MEDIUMBLOB LONGBLOB ALL_LOSSY <Correct error>
|
||||
MEDIUMBLOB VARBINARY(65500 ALL_LOSSY <Correct value>
|
||||
LONGBLOB TINYBLOB ALL_LOSSY <Correct value>
|
||||
LONGBLOB BLOB ALL_LOSSY <Correct value>
|
||||
LONGBLOB MEDIUMBLOB ALL_LOSSY <Correct value>
|
||||
LONGBLOB VARBINARY(65500 ALL_LOSSY <Correct value>
|
||||
TINYBLOB TINYBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
@ -635,6 +699,22 @@ LONGBLOB COMPRE BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB COMPRE MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB COMPRE LONGBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB COMPRE VARBINARY(65500 ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB LONGBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
TINYBLOB VARBINARY(255) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
BLOB TINYBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
BLOB MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
BLOB LONGBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
BLOB VARBINARY(65500 ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
MEDIUMBLOB TINYBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
MEDIUMBLOB BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
MEDIUMBLOB LONGBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
MEDIUMBLOB VARBINARY(65500 ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB TINYBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
LONGBLOB VARBINARY(65500 ALL_LOSSY,ALL_NON_LOSSY <Correct value>
|
||||
DROP TABLE type_conversions;
|
||||
call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t1. cannot be converted from type.* error.* 1677");
|
||||
connection master;
|
||||
|
@ -1,3 +1,3 @@
|
||||
select @@global.host_cache_size;
|
||||
@@global.host_cache_size
|
||||
653
|
||||
632
|
||||
|
@ -27,20 +27,24 @@ SELECT @@global.max_connections;
|
||||
@@global.max_connections
|
||||
65536
|
||||
SET @@global.max_connections = 1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_connections value: '1'
|
||||
SELECT @@global.max_connections;
|
||||
@@global.max_connections
|
||||
1
|
||||
10
|
||||
SET @@global.max_connections = 2;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_connections value: '2'
|
||||
SELECT @@global.max_connections;
|
||||
@@global.max_connections
|
||||
2
|
||||
10
|
||||
'#--------------------FN_DYNVARS_074_04-------------------------#'
|
||||
SET @@global.max_connections = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_connections value: '-1'
|
||||
SELECT @@global.max_connections;
|
||||
@@global.max_connections
|
||||
1
|
||||
10
|
||||
SET @@global.max_connections = 100000000000;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_connections value: '100000000000'
|
||||
@ -57,13 +61,13 @@ Warnings:
|
||||
Warning 1292 Truncated incorrect max_connections value: '-1024'
|
||||
SELECT @@global.max_connections;
|
||||
@@global.max_connections
|
||||
1
|
||||
10
|
||||
SET @@global.max_connections = 0;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_connections value: '0'
|
||||
SELECT @@global.max_connections;
|
||||
@@global.max_connections
|
||||
1
|
||||
10
|
||||
SET @@global.max_connections = 100001;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_connections value: '100001'
|
||||
@ -98,15 +102,17 @@ WHERE VARIABLE_NAME='max_connections';
|
||||
1
|
||||
'#---------------------FN_DYNVARS_074_07----------------------#'
|
||||
SET @@global.max_connections = TRUE;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_connections value: '1'
|
||||
SELECT @@global.max_connections;
|
||||
@@global.max_connections
|
||||
1
|
||||
10
|
||||
SET @@global.max_connections = FALSE;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_connections value: '0'
|
||||
SELECT @@global.max_connections;
|
||||
@@global.max_connections
|
||||
1
|
||||
10
|
||||
'#---------------------FN_DYNVARS_074_08----------------------#'
|
||||
SET @@global.max_connections = 5000;
|
||||
SELECT @@max_connections = @@global.max_connections;
|
||||
|
@ -46,40 +46,40 @@ Warnings:
|
||||
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '100000000000'
|
||||
SELECT @@global.max_prepared_stmt_count;
|
||||
@@global.max_prepared_stmt_count
|
||||
1048576
|
||||
4294967295
|
||||
SET @@global.max_prepared_stmt_count = 10000.01;
|
||||
ERROR 42000: Incorrect argument type to variable 'max_prepared_stmt_count'
|
||||
SELECT @@global.max_prepared_stmt_count;
|
||||
@@global.max_prepared_stmt_count
|
||||
1048576
|
||||
4294967295
|
||||
SET @@global.max_prepared_stmt_count = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '-1024'
|
||||
SELECT @@global.max_prepared_stmt_count;
|
||||
@@global.max_prepared_stmt_count
|
||||
0
|
||||
SET @@global.max_prepared_stmt_count = 1048577;
|
||||
SET @@global.max_prepared_stmt_count = 4294967296;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '1048577'
|
||||
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '4294967296'
|
||||
SELECT @@global.max_prepared_stmt_count;
|
||||
@@global.max_prepared_stmt_count
|
||||
1048576
|
||||
SET @@global.max_prepared_stmt_count = 104857612;
|
||||
4294967295
|
||||
SET @@global.max_prepared_stmt_count = 4294967295*1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '104857612'
|
||||
Warning 1292 Truncated incorrect max_prepared_stmt_count value: '4398046510080'
|
||||
SELECT @@global.max_prepared_stmt_count;
|
||||
@@global.max_prepared_stmt_count
|
||||
1048576
|
||||
4294967295
|
||||
SET @@global.max_prepared_stmt_count = ON;
|
||||
ERROR 42000: Incorrect argument type to variable 'max_prepared_stmt_count'
|
||||
SELECT @@global.max_prepared_stmt_count;
|
||||
@@global.max_prepared_stmt_count
|
||||
1048576
|
||||
4294967295
|
||||
SET @@global.max_prepared_stmt_count = 'test';
|
||||
ERROR 42000: Incorrect argument type to variable 'max_prepared_stmt_count'
|
||||
SELECT @@global.max_prepared_stmt_count;
|
||||
@@global.max_prepared_stmt_count
|
||||
1048576
|
||||
4294967295
|
||||
'#-------------------FN_DYNVARS_081_05----------------------------#'
|
||||
SET @@session.max_prepared_stmt_count = 4096;
|
||||
ERROR HY000: Variable 'max_prepared_stmt_count' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user