diff options
Diffstat (limited to 'mysql-test')
22 files changed, 499 insertions, 959 deletions
diff --git a/mysql-test/r/mysqld--help.result b/mysql-test/r/mysqld--help.result index 09c8bf9813b..564269319cb 100644 --- a/mysql-test/r/mysqld--help.result +++ b/mysql-test/r/mysqld--help.result @@ -271,6 +271,15 @@ The following options may be given as the first argument: height-balanced. --host-cache-size=# How many host names should be cached to avoid resolving. (Automatically configured unless set explicitly) + --idle-readonly-transaction-timeout=# + The number of seconds the server waits for read-only idle + transaction + --idle-readwrite-transaction-timeout=# + The number of seconds the server waits for read-write + idle transaction + --idle-transaction-timeout=# + The number of seconds the server waits for idle + transaction --ignore-builtin-innodb Disable initialization of builtin InnoDB plugin --ignore-db-dirs=name @@ -928,11 +937,7 @@ The following options may be given as the first argument: --session-track-state-change Track changes to the session state. --session-track-system-variables=name - Track changes in registered system variables. For - compatibility with MySQL defaults this variable should be - set to "autocommit, character_set_client, - character_set_connection, character_set_results, - time_zone" + Track changes in registered system variables. --session-track-transaction-info=name Track changes to the transaction attributes. OFF to disable; STATE to track just transaction state (Is there @@ -1259,6 +1264,9 @@ help TRUE histogram-size 0 histogram-type SINGLE_PREC_HB host-cache-size 279 +idle-readonly-transaction-timeout 0 +idle-readwrite-transaction-timeout 0 +idle-transaction-timeout 0 ignore-builtin-innodb FALSE ignore-db-dirs init-connect @@ -1445,7 +1453,7 @@ secure-file-priv (No default value) server-id 1 session-track-schema TRUE session-track-state-change FALSE -session-track-system-variables +session-track-system-variables autocommit,character_set_client,character_set_connection,character_set_results,time_zone session-track-transaction-info OFF show-slave-auth-info FALSE silent-startup FALSE diff --git a/mysql-test/r/timeout.result b/mysql-test/r/timeout.result new file mode 100644 index 00000000000..8d1ca137043 --- /dev/null +++ b/mysql-test/r/timeout.result @@ -0,0 +1,67 @@ +# +# MDEV-11379 - AliSQL: [Feature] Issue#8: SELECT FOR UPDATE WAIT +# MDEV-11388 - AliSQL: [Feature] Issue#15 DDL FAST FAIL +# +CREATE TABLE t1(a INT, b TEXT, c MULTIPOLYGON NOT NULL); +CREATE INDEX i1 ON t1(a) WAIT 1; +CREATE FULLTEXT INDEX i2 ON t1(b) WAIT 1; +CREATE SPATIAL INDEX i3 ON t1(c) WAIT 1; +ALTER TABLE t1 WAIT 1 COMMENT='test'; +OPTIMIZE TABLE t1 WAIT 1; +Table Op Msg_type Msg_text +test.t1 optimize status OK +DROP INDEX i1 ON t1 WAIT 1; +TRUNCATE TABLE t1 WAIT 1; +RENAME TABLE t1 WAIT 1 TO t2; +RENAME TABLE t2 NOWAIT TO t1; +connect con1, localhost, root,,; +LOCK TABLE t1 WRITE WAIT 31536001; +Warnings: +Warning 1292 Truncated incorrect lock_wait_timeout value: '31536001' +connection default; +CREATE INDEX i1 ON t1(a) WAIT 0; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +CREATE INDEX i1 ON t1(a) NOWAIT; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +CREATE FULLTEXT INDEX i2 ON t1(b) WAIT 0; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +CREATE FULLTEXT INDEX i2 ON t1(b) NOWAIT; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +CREATE SPATIAL INDEX i3 ON t1(c) WAIT 0; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +CREATE SPATIAL INDEX i3 ON t1(c) NOWAIT; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +ALTER TABLE t1 WAIT 0 COMMENT='test'; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +ALTER TABLE t1 NOWAIT COMMENT='test'; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +OPTIMIZE TABLE t1 WAIT 0; +Table Op Msg_type Msg_text +test.t1 optimize Error Lock wait timeout exceeded; try restarting transaction +test.t1 optimize status Operation failed +OPTIMIZE TABLE t1 NOWAIT; +Table Op Msg_type Msg_text +test.t1 optimize Error Lock wait timeout exceeded; try restarting transaction +test.t1 optimize status Operation failed +DROP INDEX i1 ON t1 WAIT 0; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +DROP INDEX i1 ON t1 NOWAIT; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +TRUNCATE TABLE t1 WAIT 0; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +TRUNCATE TABLE t1 NOWAIT; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +RENAME TABLE t1 WAIT 0 TO t2; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +RENAME TABLE t1 NOWAIT TO t2; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +DROP TABLE t1 WAIT 0; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +DROP TABLE t1 NOWAIT; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +LOCK TABLE t1 WRITE WAIT 0; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +LOCK TABLE t1 WRITE NOWAIT; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +disconnect con1; +DROP TABLE t1 WAIT 1; diff --git a/mysql-test/r/transaction_timeout.result b/mysql-test/r/transaction_timeout.result new file mode 100644 index 00000000000..c8db4a0e744 --- /dev/null +++ b/mysql-test/r/transaction_timeout.result @@ -0,0 +1,51 @@ +CREATE TABLE t1 (a INT) ENGINE=InnoDB; +# Test idle_transaction_timeout +connect c0,localhost,root,,test,,; +SHOW VARIABLES LIKE 'idle_%transaction_timeout'; +Variable_name Value +idle_readonly_transaction_timeout 0 +idle_readwrite_transaction_timeout 0 +idle_transaction_timeout 0 +SET autocommit=0; +SET idle_transaction_timeout=1; +BEGIN; +SELECT * FROM t1; +a +SELECT * FROM t1; +Got one of the listed errors +disconnect c0; +# Test idle_readonly_transaction_timeout +connect c1,localhost,root,,test,,; +SHOW VARIABLES LIKE 'idle_%transaction_timeout'; +Variable_name Value +idle_readonly_transaction_timeout 0 +idle_readwrite_transaction_timeout 0 +idle_transaction_timeout 0 +SET autocommit=0; +SET idle_readonly_transaction_timeout=1; +BEGIN; +SELECT * FROM t1; +a +SELECT * FROM t1; +Got one of the listed errors +disconnect c1; +# Test idle_readwrite_transaction_timeout +connect c2,localhost,root,,test,,; +SHOW VARIABLES LIKE 'idle_%transaction_timeout'; +Variable_name Value +idle_readonly_transaction_timeout 0 +idle_readwrite_transaction_timeout 0 +idle_transaction_timeout 0 +SET autocommit=0; +SET idle_readwrite_transaction_timeout=1; +BEGIN; +SELECT * FROM t1; +a +SELECT * FROM t1; +a +INSERT INTO t1 VALUES (1); +SELECT * FROM t1; +Got one of the listed errors +disconnect c2; +connection default; +DROP TABLE t1; diff --git a/mysql-test/suite/innodb/r/innodb-timeout.result b/mysql-test/suite/innodb/r/innodb-timeout.result index f252ebac314..52ed1a6f9b4 100644 --- a/mysql-test/suite/innodb/r/innodb-timeout.result +++ b/mysql-test/suite/innodb/r/innodb-timeout.result @@ -57,3 +57,63 @@ disconnect a; connection default; drop table t1; set global innodb_lock_wait_timeout=<initial_timeout>; +# +# MDEV-11379 - AliSQL: [Feature] Issue#8: SELECT FOR UPDATE WAIT +# +CREATE TABLE t1 (c1 INT, c2 INT) ENGINE=InnoDB; +INSERT INTO t1 (c1,c2) values (1,1),(2,2),(3,3),(4,4); +CREATE VIEW v1 AS SELECT * FROM t1 WHERE c1=4 FOR UPDATE NOWAIT; +ERROR HY000: View's SELECT contains a '[NO]WAIT' clause +CREATE VIEW v1 AS SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 0; +ERROR HY000: View's SELECT contains a '[NO]WAIT' clause +CREATE PROCEDURE p1() SELECT * FROM t1 WHERE c1=4 FOR UPDATE NOWAIT; +ERROR 0A000: [NO]WAIT is not allowed in stored procedures +CREATE PROCEDURE p1() SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 0; +ERROR 0A000: [NO]WAIT is not allowed in stored procedures +connect con1,localhost,root,,; +LOCK TABLE t1 WRITE; +connect con2,localhost,root,,; +SELECT * FROM t1 WHERE c1=4 FOR UPDATE NOWAIT; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 0; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +PREPARE stmt FROM 'SELECT * FROM t1 WHERE c1=4 FOR UPDATE NOWAIT'; +EXECUTE stmt; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +DEALLOCATE PREPARE stmt; +PREPARE stmt FROM 'SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 0'; +EXECUTE stmt; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +DEALLOCATE PREPARE stmt; +connection con1; +INSERT INTO t1 VALUES(5,5); +UNLOCK TABLES; +set AUTOCOMMIT=0; +SELECT * FROM t1 WHERE c1=4 FOR UPDATE; +connection con2; +set AUTOCOMMIT=0; +SET INNODB_LOCK_WAIT_TIMEOUT=1; +SELECT * FROM t1 WHERE c1=4 FOR UPDATE; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +SELECT * FROM t1 WHERE c1=4 FOR UPDATE NOWAIT; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 0; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +connection con1; +UPDATE t1 SET c2=5 WHERE c1=4; +COMMIT; +set AUTOCOMMIT=0; +SELECT * FROM t1 WHERE c1=4 FOR UPDATE; +c1 c2 +4 5 +connection con2; +set AUTOCOMMIT=0; +SET INNODB_LOCK_WAIT_TIMEOUT=1; +SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 10; +connection con1; +COMMIT; +connection con2; +disconnect con1; +disconnect con2; +connection default; +DROP TABLE t1; diff --git a/mysql-test/suite/innodb/t/innodb-timeout.test b/mysql-test/suite/innodb/t/innodb-timeout.test index 0beeea8f39e..0f8bbbec559 100644 --- a/mysql-test/suite/innodb/t/innodb-timeout.test +++ b/mysql-test/suite/innodb/t/innodb-timeout.test @@ -1,3 +1,5 @@ +# Save the initial number of concurrent sessions. +--source include/count_sessions.inc --source include/have_innodb.inc let $initial_timeout=`select @@innodb_lock_wait_timeout`; @@ -115,3 +117,84 @@ connection default; drop table t1; --replace_result $initial_timeout <initial_timeout> eval set global innodb_lock_wait_timeout=$initial_timeout; + +--echo # +--echo # MDEV-11379 - AliSQL: [Feature] Issue#8: SELECT FOR UPDATE WAIT +--echo # +CREATE TABLE t1 (c1 INT, c2 INT) ENGINE=InnoDB; +INSERT INTO t1 (c1,c2) values (1,1),(2,2),(3,3),(4,4); + +# Not supported in view/sp +--error ER_VIEW_SELECT_CLAUSE +CREATE VIEW v1 AS SELECT * FROM t1 WHERE c1=4 FOR UPDATE NOWAIT; +--error ER_VIEW_SELECT_CLAUSE +CREATE VIEW v1 AS SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 0; +--error ER_SP_BADSTATEMENT +CREATE PROCEDURE p1() SELECT * FROM t1 WHERE c1=4 FOR UPDATE NOWAIT; +--error ER_SP_BADSTATEMENT +CREATE PROCEDURE p1() SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 0; + +connect(con1,localhost,root,,); +LOCK TABLE t1 WRITE; + +connect(con2,localhost,root,,); +# The following statement should hang because con1 is locking the table +--error ER_LOCK_WAIT_TIMEOUT +SELECT * FROM t1 WHERE c1=4 FOR UPDATE NOWAIT; +--error ER_LOCK_WAIT_TIMEOUT +SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 0; +PREPARE stmt FROM 'SELECT * FROM t1 WHERE c1=4 FOR UPDATE NOWAIT'; +--error ER_LOCK_WAIT_TIMEOUT +EXECUTE stmt; +DEALLOCATE PREPARE stmt; +PREPARE stmt FROM 'SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 0'; +--error ER_LOCK_WAIT_TIMEOUT +EXECUTE stmt; +DEALLOCATE PREPARE stmt; + +connection con1; +INSERT INTO t1 VALUES(5,5); +UNLOCK TABLES; +set AUTOCOMMIT=0; +--disable_result_log +SELECT * FROM t1 WHERE c1=4 FOR UPDATE; +--enable_result_log + +connection con2; +set AUTOCOMMIT=0; +SET INNODB_LOCK_WAIT_TIMEOUT=1; +--error ER_LOCK_WAIT_TIMEOUT +SELECT * FROM t1 WHERE c1=4 FOR UPDATE; +--error ER_LOCK_WAIT_TIMEOUT +SELECT * FROM t1 WHERE c1=4 FOR UPDATE NOWAIT; +--error ER_LOCK_WAIT_TIMEOUT +SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 0; + +connection con1; +UPDATE t1 SET c2=5 WHERE c1=4; +COMMIT; +set AUTOCOMMIT=0; +SELECT * FROM t1 WHERE c1=4 FOR UPDATE; + +connection con2; +set AUTOCOMMIT=0; +SET INNODB_LOCK_WAIT_TIMEOUT=1; +--send +--disable_result_log +SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 10; + +connection con1; +COMMIT; + +connection con2; +--reap + + +disconnect con1; +disconnect con2; + +# clear +connection default; +DROP TABLE t1; + +--source include/wait_until_count_sessions.inc diff --git a/mysql-test/suite/innodb/t/innodb-trim.opt b/mysql-test/suite/innodb/t/innodb-trim.opt deleted file mode 100644 index c33d075b002..00000000000 --- a/mysql-test/suite/innodb/t/innodb-trim.opt +++ /dev/null @@ -1 +0,0 @@ ---loose-innodb-use-trim=1 diff --git a/mysql-test/suite/sys_vars/r/innodb_instrument_semaphores_basic.result b/mysql-test/suite/sys_vars/r/innodb_instrument_semaphores_basic.result deleted file mode 100644 index 561ddeb5a84..00000000000 --- a/mysql-test/suite/sys_vars/r/innodb_instrument_semaphores_basic.result +++ /dev/null @@ -1,57 +0,0 @@ -# -# innodb_instrument_semaphores -# -# save the initial value -SET @innodb_instrument_semaphores_global_saved = @@global.innodb_instrument_semaphores; -# default -SELECT @@global.innodb_instrument_semaphores; -@@global.innodb_instrument_semaphores -0 - -# scope -SELECT @@session.innodb_instrument_semaphores; -ERROR HY000: Variable 'innodb_instrument_semaphores' is a GLOBAL variable -SET @@global.innodb_instrument_semaphores=OFF; -Warnings: -Warning 131 Using innodb_instrument_semaphores is deprecated and the parameter will be removed in MariaDB 10.3. -SELECT @@global.innodb_instrument_semaphores; -@@global.innodb_instrument_semaphores -0 -SET @@global.innodb_instrument_semaphores=ON; -Warnings: -Warning 131 Using innodb_instrument_semaphores is deprecated and the parameter will be removed in MariaDB 10.3. -SELECT @@global.innodb_instrument_semaphores; -@@global.innodb_instrument_semaphores -1 - -# valid values -SET @@global.innodb_instrument_semaphores='OFF'; -Warnings: -Warning 131 Using innodb_instrument_semaphores is deprecated and the parameter will be removed in MariaDB 10.3. -SELECT @@global.innodb_instrument_semaphores; -@@global.innodb_instrument_semaphores -0 -SET @@global.innodb_instrument_semaphores=ON; -Warnings: -Warning 131 Using innodb_instrument_semaphores is deprecated and the parameter will be removed in MariaDB 10.3. -SELECT @@global.innodb_instrument_semaphores; -@@global.innodb_instrument_semaphores -1 -SET @@global.innodb_instrument_semaphores=default; -Warnings: -Warning 131 Using innodb_instrument_semaphores is deprecated and the parameter will be removed in MariaDB 10.3. -SELECT @@global.innodb_instrument_semaphores; -@@global.innodb_instrument_semaphores -0 - -# invalid values -SET @@global.innodb_instrument_semaphores=NULL; -ERROR 42000: Variable 'innodb_instrument_semaphores' can't be set to the value of 'NULL' -SET @@global.innodb_instrument_semaphores='junk'; -ERROR 42000: Variable 'innodb_instrument_semaphores' can't be set to the value of 'junk' - -# restore the initial value -SET @@global.innodb_instrument_semaphores = @innodb_instrument_semaphores_global_saved; -Warnings: -Warning 131 Using innodb_instrument_semaphores is deprecated and the parameter will be removed in MariaDB 10.3. -# End of test diff --git a/mysql-test/suite/sys_vars/r/innodb_lock_wait_timeout_basic.result b/mysql-test/suite/sys_vars/r/innodb_lock_wait_timeout_basic.result index 74b1d21d475..3218c096c2b 100644 --- a/mysql-test/suite/sys_vars/r/innodb_lock_wait_timeout_basic.result +++ b/mysql-test/suite/sys_vars/r/innodb_lock_wait_timeout_basic.result @@ -99,7 +99,7 @@ Warnings: Warning 1292 Truncated incorrect innodb_lock_wait_timeout value: '-1024' SELECT @@global.innodb_lock_wait_timeout; @@global.innodb_lock_wait_timeout -1 +0 SET @@global.innodb_lock_wait_timeout=1073741825; Warnings: Warning 1292 Truncated incorrect innodb_lock_wait_timeout value: '1073741825' @@ -131,7 +131,7 @@ Warnings: Warning 1292 Truncated incorrect innodb_lock_wait_timeout value: '-1024' SELECT @@session.innodb_lock_wait_timeout; @@session.innodb_lock_wait_timeout -1 +0 SET @@session.innodb_lock_wait_timeout=1073999999; Warnings: Warning 1292 Truncated incorrect innodb_lock_wait_timeout value: '1073999999' diff --git a/mysql-test/suite/sys_vars/r/innodb_support_xa_basic.result b/mysql-test/suite/sys_vars/r/innodb_support_xa_basic.result deleted file mode 100644 index 8384ee3d361..00000000000 --- a/mysql-test/suite/sys_vars/r/innodb_support_xa_basic.result +++ /dev/null @@ -1,227 +0,0 @@ -SET @session_start_value = @@session.innodb_support_xa; -SELECT @session_start_value; -@session_start_value -1 -SET @global_start_value = @@global.innodb_support_xa; -SELECT @global_start_value; -@global_start_value -1 -'#--------------------FN_DYNVARS_046_01------------------------#' -SET @@session.innodb_support_xa = 0; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -SET @@session.innodb_support_xa = DEFAULT; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -SELECT @@session.innodb_support_xa; -@@session.innodb_support_xa -1 -SET @@global.innodb_support_xa = 0; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -SET @@global.innodb_support_xa = DEFAULT; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -SELECT @@global.innodb_support_xa; -@@global.innodb_support_xa -1 -'#---------------------FN_DYNVARS_046_02-------------------------#' -SET innodb_support_xa = 1; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -SELECT @@innodb_support_xa; -@@innodb_support_xa -1 -SELECT session.innodb_support_xa; -ERROR 42S02: Unknown table 'session' in field list -SELECT local.innodb_support_xa; -ERROR 42S02: Unknown table 'local' in field list -SELECT global.innodb_support_xa; -ERROR 42S02: Unknown table 'global' in field list -SET session innodb_support_xa = 0; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -SELECT @@session.innodb_support_xa; -@@session.innodb_support_xa -1 -SET global innodb_support_xa = 0; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -SELECT @@global.innodb_support_xa; -@@global.innodb_support_xa -1 -'#--------------------FN_DYNVARS_046_03------------------------#' -SET @@session.innodb_support_xa = 0; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -SELECT @@session.innodb_support_xa; -@@session.innodb_support_xa -1 -SET @@session.innodb_support_xa = 1; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -SELECT @@session.innodb_support_xa; -@@session.innodb_support_xa -1 -SET @@global.innodb_support_xa = 0; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -SELECT @@global.innodb_support_xa; -@@global.innodb_support_xa -1 -SET @@global.innodb_support_xa = 1; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -SELECT @@global.innodb_support_xa; -@@global.innodb_support_xa -1 -'#--------------------FN_DYNVARS_046_04-------------------------#' -SET @@session.innodb_support_xa = -0.6; -ERROR 42000: Incorrect argument type to variable 'innodb_support_xa' -SET @@session.innodb_support_xa = 1.6; -ERROR 42000: Incorrect argument type to variable 'innodb_support_xa' -SET @@session.innodb_support_xa = "T"; -ERROR 42000: Variable 'innodb_support_xa' can't be set to the value of 'T' -SET @@session.innodb_support_xa = "Y"; -ERROR 42000: Variable 'innodb_support_xa' can't be set to the value of 'Y' -SET @@session.innodb_support_xa = TRÜE; -ERROR 42000: Variable 'innodb_support_xa' can't be set to the value of 'TRÜE' -SET @@session.innodb_support_xa = ÕN; -ERROR 42000: Variable 'innodb_support_xa' can't be set to the value of 'ÕN' -SET @@session.innodb_support_xa = OF; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -SELECT @@session.innodb_support_xa; -@@session.innodb_support_xa -1 -SET @@session.innodb_support_xa = ÓFF; -ERROR 42000: Variable 'innodb_support_xa' can't be set to the value of 'ÓFF' -SET @@global.innodb_support_xa = -1; -ERROR 42000: Variable 'innodb_support_xa' can't be set to the value of '-1' -SELECT @@global.innodb_support_xa; -@@global.innodb_support_xa -1 -SET @@global.innodb_support_xa = 2; -ERROR 42000: Variable 'innodb_support_xa' can't be set to the value of '2' -SET @@global.innodb_support_xa = "T"; -ERROR 42000: Variable 'innodb_support_xa' can't be set to the value of 'T' -SET @@global.innodb_support_xa = "Y"; -ERROR 42000: Variable 'innodb_support_xa' can't be set to the value of 'Y' -SET @@global.innodb_support_xa = TRÜE; -ERROR 42000: Variable 'innodb_support_xa' can't be set to the value of 'TRÜE' -SET @@global.innodb_support_xa = ÕN; -ERROR 42000: Variable 'innodb_support_xa' can't be set to the value of 'ÕN' -SET @@global.innodb_support_xa = OF; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -SELECT @@global.innodb_support_xa; -@@global.innodb_support_xa -1 -SET @@global.innodb_support_xa = ÓFF; -ERROR 42000: Variable 'innodb_support_xa' can't be set to the value of 'ÓFF' -'#-------------------FN_DYNVARS_046_05----------------------------#' -SET @@global.innodb_support_xa = 0; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -SET @@session.innodb_support_xa = 1; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -SELECT @@global.innodb_support_xa AS res_is_0; -res_is_0 -1 -SET @@global.innodb_support_xa = 0; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -SELECT @@session.innodb_support_xa AS res_is_1; -res_is_1 -1 -'#----------------------FN_DYNVARS_046_06------------------------#' -SELECT IF(@@global.innodb_support_xa, "ON", "OFF") = -VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES -WHERE VARIABLE_NAME='innodb_support_xa'; -IF(@@global.innodb_support_xa, "ON", "OFF") = -VARIABLE_VALUE -1 -SELECT @@global.innodb_support_xa; -@@global.innodb_support_xa -1 -SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES -WHERE VARIABLE_NAME='innodb_support_xa'; -VARIABLE_VALUE -ON -'#----------------------FN_DYNVARS_046_07------------------------#' -SELECT IF(@@session.innodb_support_xa, "ON", "OFF") = -VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES -WHERE VARIABLE_NAME='innodb_support_xa'; -IF(@@session.innodb_support_xa, "ON", "OFF") = -VARIABLE_VALUE -1 -SELECT @@session.innodb_support_xa; -@@session.innodb_support_xa -1 -SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES -WHERE VARIABLE_NAME='innodb_support_xa'; -VARIABLE_VALUE -ON -'#---------------------FN_DYNVARS_046_08-------------------------#' -SET @@session.innodb_support_xa = OFF; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -SELECT @@session.innodb_support_xa; -@@session.innodb_support_xa -1 -SET @@session.innodb_support_xa = ON; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -SELECT @@session.innodb_support_xa; -@@session.innodb_support_xa -1 -SET @@global.innodb_support_xa = OFF; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -SELECT @@global.innodb_support_xa; -@@global.innodb_support_xa -1 -SET @@global.innodb_support_xa = ON; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -SELECT @@global.innodb_support_xa; -@@global.innodb_support_xa -1 -'#---------------------FN_DYNVARS_046_09----------------------#' -SET @@session.innodb_support_xa = TRUE; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -SELECT @@session.innodb_support_xa; -@@session.innodb_support_xa -1 -SET @@session.innodb_support_xa = FALSE; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -SELECT @@session.innodb_support_xa; -@@session.innodb_support_xa -1 -SET @@global.innodb_support_xa = TRUE; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -SELECT @@global.innodb_support_xa; -@@global.innodb_support_xa -1 -SET @@global.innodb_support_xa = FALSE; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -SELECT @@global.innodb_support_xa; -@@global.innodb_support_xa -1 -SET @@session.innodb_support_xa = @session_start_value; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -SELECT @@session.innodb_support_xa; -@@session.innodb_support_xa -1 -SET @@global.innodb_support_xa = @global_start_value; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -SELECT @@global.innodb_support_xa; -@@global.innodb_support_xa -1 diff --git a/mysql-test/suite/sys_vars/r/innodb_support_xa_func.result b/mysql-test/suite/sys_vars/r/innodb_support_xa_func.result deleted file mode 100644 index 376cc7dd076..00000000000 --- a/mysql-test/suite/sys_vars/r/innodb_support_xa_func.result +++ /dev/null @@ -1,90 +0,0 @@ -'#--------------------FN_DYNVARS_046_01-------------------------#' -SET @@global.innodb_support_xa = OFF; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -connect con1,localhost,root,,,,; -connection con1; -SELECT @@global.innodb_support_xa; -@@global.innodb_support_xa -1 -SELECT @@session.innodb_support_xa; -@@session.innodb_support_xa -1 -disconnect con1; -'#--------------------FN_DYNVARS_046_01-------------------------#' -connection default; -SET @@global.innodb_support_xa = 1; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -drop table if exists t1, t2; -create table t1 (a int) engine=innodb; -'---check when innodb_support_xa is 1---' -SET @@innodb_support_xa = 1; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -xa start 'test1'; -INSERT t1 values (10); -xa end 'test1'; -xa prepare 'test1'; -xa rollback 'test1'; -SELECT * from t1; -a -'---check when innodb_support_xa is 0---' -SET @@innodb_support_xa = 0; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. Only innodb_support_xa=ON is allowed. -xa start 'test1'; -INSERT t1 values (10); -xa end 'test1'; -xa prepare 'test1'; -xa rollback 'test1'; -SELECT * from t1; -a -'------general xa testing--------' -SET @@global.innodb_support_xa = 1; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -SET @@innodb_support_xa = 1; -Warnings: -Warning 131 Using innodb_support_xa is deprecated and the parameter may be removed in future releases. -xa start 'testa','testb'; -INSERT t1 values (30); -COMMIT; -ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the ACTIVE state -xa end 'testa','testb'; -BEGIN; -ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state -CREATE table t2 (a int); -ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state -CONNECT con1,localhost,root,,,,; -connection con1; -xa start 'testa','testb'; -ERROR XAE08: XAER_DUPID: The XID already exists -xa start 'testa','testb', 123; -ERROR XAE08: XAER_DUPID: The XID already exists -xa start 0x7465737462, 0x2030405060, 0xb; -INSERT t1 values (40); -xa end 'testb',' 0@P`',11; -xa prepare 'testb',0x2030405060,11; -START TRANSACTION; -ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the PREPARED state -xa recover; -formatID gtrid_length bqual_length data -11 5 5 testb 0@P` -connection default; -xa prepare 'testa','testb'; -xa recover; -formatID gtrid_length bqual_length data -11 5 5 testb 0@P` -1 5 5 testatestb -xa commit 'testb',0x2030405060,11; -ERROR XAE04: XAER_NOTA: Unknown XID -xa commit 'testa','testb'; -connection con1; -xa rollback 'testb',0x2030405060,11; -SELECT * from t1; -a -30 -disconnect con1; -connection default; -DROP table t1; diff --git a/mysql-test/suite/sys_vars/r/innodb_use_trim_basic.result b/mysql-test/suite/sys_vars/r/innodb_use_trim_basic.result deleted file mode 100644 index 855bccad522..00000000000 --- a/mysql-test/suite/sys_vars/r/innodb_use_trim_basic.result +++ /dev/null @@ -1,37 +0,0 @@ -SET @start_use_trim = @@global.innodb_use_trim; -SELECT @start_use_trim; -@start_use_trim -1 -SELECT COUNT(@@GLOBAL.innodb_use_trim); -COUNT(@@GLOBAL.innodb_use_trim) -1 -1 Expected -SET @@GLOBAL.innodb_use_trim=1; -Warnings: -Warning 131 Using innodb_use_trim is deprecated and the parameter will be removed in MariaDB 10.3. -SELECT COUNT(@@GLOBAL.innodb_use_trim); -COUNT(@@GLOBAL.innodb_use_trim) -1 -1 Expected -SELECT IF(@@GLOBAL.innodb_use_trim, 'ON', 'OFF') = VARIABLE_VALUE -FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES -WHERE VARIABLE_NAME='innodb_use_trim'; -IF(@@GLOBAL.innodb_use_trim, 'ON', 'OFF') = VARIABLE_VALUE -1 -1 Expected -SELECT COUNT(@@GLOBAL.innodb_use_trim); -COUNT(@@GLOBAL.innodb_use_trim) -1 -1 Expected -SELECT COUNT(VARIABLE_VALUE) -FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES -WHERE VARIABLE_NAME='innodb_use_trim'; -COUNT(VARIABLE_VALUE) -1 -1 Expected -SET @@global.innodb_use_trim = @start_use_trim; -Warnings: -Warning 131 Using innodb_use_trim is deprecated and the parameter will be removed in MariaDB 10.3. -SELECT @@global.innodb_use_trim; -@@global.innodb_use_trim -1 diff --git a/mysql-test/suite/sys_vars/r/lock_wait_timeout_basic.result b/mysql-test/suite/sys_vars/r/lock_wait_timeout_basic.result index bc127bf339a..f5d66b7c561 100644 --- a/mysql-test/suite/sys_vars/r/lock_wait_timeout_basic.result +++ b/mysql-test/suite/sys_vars/r/lock_wait_timeout_basic.result @@ -54,17 +54,15 @@ SELECT @@session.lock_wait_timeout; 65535 '#------------------FN_DYNVARS_002_05-----------------------#' SET @@global.lock_wait_timeout = 0; -Warnings: -Warning 1292 Truncated incorrect lock_wait_timeout value: '0' SELECT @@global.lock_wait_timeout; @@global.lock_wait_timeout -1 +0 SET @@global.lock_wait_timeout = -1024; Warnings: Warning 1292 Truncated incorrect lock_wait_timeout value: '-1024' SELECT @@global.lock_wait_timeout; @@global.lock_wait_timeout -1 +0 SET @@global.lock_wait_timeout = 31536001; Warnings: Warning 1292 Truncated incorrect lock_wait_timeout value: '31536001' @@ -87,17 +85,15 @@ SELECT @@global.lock_wait_timeout; @@global.lock_wait_timeout 31536000 SET @@session.lock_wait_timeout = 0; -Warnings: -Warning 1292 Truncated incorrect lock_wait_timeout value: '0' SELECT @@session.lock_wait_timeout; @@session.lock_wait_timeout -1 +0 SET @@session.lock_wait_timeout = -2; Warnings: Warning 1292 Truncated incorrect lock_wait_timeout value: '-2' SELECT @@session.lock_wait_timeout; @@session.lock_wait_timeout -1 +0 SET @@session.lock_wait_timeout = 31537000; Warnings: Warning 1292 Truncated incorrect lock_wait_timeout value: '31537000' @@ -137,11 +133,9 @@ SELECT @@global.lock_wait_timeout; @@global.lock_wait_timeout 1 SET @@global.lock_wait_timeout = FALSE; -Warnings: -Warning 1292 Truncated incorrect lock_wait_timeout value: '0' SELECT @@global.lock_wait_timeout; @@global.lock_wait_timeout -1 +0 '#---------------------FN_DYNVARS_001_09----------------------#' SET @@global.lock_wait_timeout = 10; SET @@session.lock_wait_timeout = 11; diff --git a/mysql-test/suite/sys_vars/r/session_track_system_variables_basic.result b/mysql-test/suite/sys_vars/r/session_track_system_variables_basic.result index 7162e40ef6b..78ca8ca4ad1 100644 --- a/mysql-test/suite/sys_vars/r/session_track_system_variables_basic.result +++ b/mysql-test/suite/sys_vars/r/session_track_system_variables_basic.result @@ -5,25 +5,25 @@ # Global - default SELECT @@global.session_track_system_variables; @@global.session_track_system_variables - +autocommit,character_set_client,character_set_connection,character_set_results,time_zone # Session - default SELECT @@session.session_track_system_variables; @@session.session_track_system_variables - +autocommit,character_set_client,character_set_connection,character_set_results,time_zone # via INFORMATION_SCHEMA.GLOBAL_VARIABLES SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'session_track%' ORDER BY VARIABLE_NAME; VARIABLE_NAME VARIABLE_VALUE SESSION_TRACK_SCHEMA ON SESSION_TRACK_STATE_CHANGE OFF -SESSION_TRACK_SYSTEM_VARIABLES +SESSION_TRACK_SYSTEM_VARIABLES autocommit,character_set_client,character_set_connection,character_set_results,time_zone SESSION_TRACK_TRANSACTION_INFO OFF # via INFORMATION_SCHEMA.SESSION_VARIABLES SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE 'session_track%' ORDER BY VARIABLE_NAME; VARIABLE_NAME VARIABLE_VALUE SESSION_TRACK_SCHEMA ON SESSION_TRACK_STATE_CHANGE OFF -SESSION_TRACK_SYSTEM_VARIABLES +SESSION_TRACK_SYSTEM_VARIABLES autocommit,character_set_client,character_set_connection,character_set_results,time_zone SESSION_TRACK_TRANSACTION_INFO OFF SET @global_saved_tmp = @@global.session_track_system_variables; @@ -34,7 +34,7 @@ SELECT @@global.session_track_system_variables; autocommit SELECT @@session.session_track_system_variables; @@session.session_track_system_variables - +autocommit,character_set_client,character_set_connection,character_set_results,time_zone # Altering session variable's value SET @@session.session_track_system_variables='autocommit'; @@ -72,25 +72,25 @@ SET @@session.session_track_system_variables = DEFAULT; SELECT @@global.session_track_system_variables; @@global.session_track_system_variables - +autocommit,character_set_client,character_set_connection,character_set_results,time_zone SELECT @@session.session_track_system_variables; @@session.session_track_system_variables - +autocommit,character_set_client,character_set_connection,character_set_results,time_zone # Variables' values in a new session (con2). connect con2,"127.0.0.1",root,,test,$MASTER_MYPORT,; SELECT @@global.session_track_system_variables; @@global.session_track_system_variables - +autocommit,character_set_client,character_set_connection,character_set_results,time_zone SELECT @@session.session_track_system_variables; @@session.session_track_system_variables - +autocommit,character_set_client,character_set_connection,character_set_results,time_zone # Altering session should not affect global. SET @@session.session_track_system_variables = 'sql_mode'; SELECT @@global.session_track_system_variables; @@global.session_track_system_variables - +autocommit,character_set_client,character_set_connection,character_set_results,time_zone SELECT @@session.session_track_system_variables; @@session.session_track_system_variables sql_mode @@ -104,7 +104,7 @@ SELECT @@global.session_track_system_variables; sql_mode SELECT @@session.session_track_system_variables; @@session.session_track_system_variables - +autocommit,character_set_client,character_set_connection,character_set_results,time_zone # Switching to the default connection. connection default; diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb.result b/mysql-test/suite/sys_vars/r/sysvars_innodb.result index 4822f43fbb2..a17d17929be 100644 --- a/mysql-test/suite/sys_vars/r/sysvars_innodb.result +++ b/mysql-test/suite/sys_vars/r/sysvars_innodb.result @@ -1308,20 +1308,6 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED -VARIABLE_NAME INNODB_INSTRUMENT_SEMAPHORES -SESSION_VALUE NULL -GLOBAL_VALUE OFF -GLOBAL_VALUE_ORIGIN COMPILE-TIME -DEFAULT_VALUE OFF -VARIABLE_SCOPE GLOBAL -VARIABLE_TYPE BOOLEAN -VARIABLE_COMMENT DEPRECATED. This setting has no effect. -NUMERIC_MIN_VALUE NULL -NUMERIC_MAX_VALUE NULL -NUMERIC_BLOCK_SIZE NULL -ENUM_VALUE_LIST OFF,ON -READ_ONLY NO -COMMAND_LINE_ARGUMENT OPTIONAL VARIABLE_NAME INNODB_IO_CAPACITY SESSION_VALUE NULL GLOBAL_VALUE 200 @@ -1414,7 +1400,7 @@ DEFAULT_VALUE 50 VARIABLE_SCOPE SESSION VARIABLE_TYPE BIGINT UNSIGNED VARIABLE_COMMENT Timeout in seconds an InnoDB transaction may wait for a lock before being rolled back. Values above 100000000 disable the timeout. -NUMERIC_MIN_VALUE 1 +NUMERIC_MIN_VALUE 0 NUMERIC_MAX_VALUE 1073741824 NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL @@ -2302,20 +2288,6 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY NO COMMAND_LINE_ARGUMENT OPTIONAL -VARIABLE_NAME INNODB_SUPPORT_XA -SESSION_VALUE ON -GLOBAL_VALUE ON -GLOBAL_VALUE_ORIGIN COMPILE-TIME -DEFAULT_VALUE ON -VARIABLE_SCOPE SESSION -VARIABLE_TYPE BOOLEAN -VARIABLE_COMMENT Enable InnoDB support for the XA two-phase commit -NUMERIC_MIN_VALUE NULL -NUMERIC_MAX_VALUE NULL -NUMERIC_BLOCK_SIZE NULL -ENUM_VALUE_LIST OFF,ON -READ_ONLY NO -COMMAND_LINE_ARGUMENT OPTIONAL VARIABLE_NAME INNODB_SYNC_ARRAY_SIZE SESSION_VALUE NULL GLOBAL_VALUE 1 @@ -2519,21 +2491,7 @@ GLOBAL_VALUE_ORIGIN COMPILE-TIME DEFAULT_VALUE ON VARIABLE_SCOPE GLOBAL VARIABLE_TYPE BOOLEAN -VARIABLE_COMMENT Enable atomic writes, instead of using the doublewrite buffer, for files on devices that supports atomic writes. To use this option one must use file_per_table=1, flush_method=O_DIRECT and use_fallocate=1. This option only works on Linux with either FusionIO cards using the directFS filesystem or with Shannon cards using any file system. -NUMERIC_MIN_VALUE NULL -NUMERIC_MAX_VALUE NULL -NUMERIC_BLOCK_SIZE NULL -ENUM_VALUE_LIST OFF,ON -READ_ONLY YES -COMMAND_LINE_ARGUMENT NONE -VARIABLE_NAME INNODB_USE_FALLOCATE -SESSION_VALUE NULL -GLOBAL_VALUE OFF -GLOBAL_VALUE_ORIGIN COMPILE-TIME -DEFAULT_VALUE OFF -VARIABLE_SCOPE GLOBAL -VARIABLE_TYPE BOOLEAN -VARIABLE_COMMENT Use posix_fallocate() to allocate files. DEPRECATED, has no effect. +VARIABLE_COMMENT Enable atomic writes, instead of using the doublewrite buffer, for files on devices that supports atomic writes. To use this option one must use innodb_file_per_table=1, innodb_flush_method=O_DIRECT. This option only works on Linux with either FusionIO cards using the directFS filesystem or with Shannon cards using any file system. NUMERIC_MIN_VALUE NULL NUMERIC_MAX_VALUE NULL NUMERIC_BLOCK_SIZE NULL @@ -2554,20 +2512,6 @@ NUMERIC_BLOCK_SIZE NULL ENUM_VALUE_LIST OFF,ON READ_ONLY YES COMMAND_LINE_ARGUMENT NONE -VARIABLE_NAME INNODB_USE_TRIM -SESSION_VALUE NULL -GLOBAL_VALUE ON -GLOBAL_VALUE_ORIGIN COMPILE-TIME -DEFAULT_VALUE ON -VARIABLE_SCOPE GLOBAL -VARIABLE_TYPE BOOLEAN -VARIABLE_COMMENT Deallocate (punch_hole|trim) unused portions of the page compressed page (on by default) -NUMERIC_MIN_VALUE NULL -NUMERIC_MAX_VALUE NULL -NUMERIC_BLOCK_SIZE NULL -ENUM_VALUE_LIST OFF,ON -READ_ONLY NO -COMMAND_LINE_ARGUMENT OPTIONAL VARIABLE_NAME INNODB_VERSION SESSION_VALUE NULL GLOBAL_VALUE 5.7.14 diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result b/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result index 7885cde4ad1..7ceea1a295c 100644 --- a/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result +++ b/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result @@ -1213,6 +1213,48 @@ NUMERIC_BLOCK_SIZE 1 ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT NULL +VARIABLE_NAME IDLE_READONLY_TRANSACTION_TIMEOUT +SESSION_VALUE 0 +GLOBAL_VALUE 0 +GLOBAL_VALUE_ORIGIN COMPILE-TIME +DEFAULT_VALUE 0 +VARIABLE_SCOPE SESSION +VARIABLE_TYPE INT UNSIGNED +VARIABLE_COMMENT The number of seconds the server waits for read-only idle transaction +NUMERIC_MIN_VALUE 0 +NUMERIC_MAX_VALUE 31536000 +NUMERIC_BLOCK_SIZE 1 +ENUM_VALUE_LIST NULL +READ_ONLY NO +COMMAND_LINE_ARGUMENT REQUIRED +VARIABLE_NAME IDLE_READWRITE_TRANSACTION_TIMEOUT +SESSION_VALUE 0 +GLOBAL_VALUE 0 +GLOBAL_VALUE_ORIGIN COMPILE-TIME +DEFAULT_VALUE 0 +VARIABLE_SCOPE SESSION +VARIABLE_TYPE INT UNSIGNED +VARIABLE_COMMENT The number of seconds the server waits for read-write idle transaction +NUMERIC_MIN_VALUE 0 +NUMERIC_MAX_VALUE 31536000 +NUMERIC_BLOCK_SIZE 1 +ENUM_VALUE_LIST NULL +READ_ONLY NO +COMMAND_LINE_ARGUMENT REQUIRED +VARIABLE_NAME IDLE_TRANSACTION_TIMEOUT +SESSION_VALUE 0 +GLOBAL_VALUE 0 +GLOBAL_VALUE_ORIGIN COMPILE-TIME +DEFAULT_VALUE 0 +VARIABLE_SCOPE SESSION +VARIABLE_TYPE INT UNSIGNED +VARIABLE_COMMENT The number of seconds the server waits for idle transaction +NUMERIC_MIN_VALUE 0 +NUMERIC_MAX_VALUE 31536000 +NUMERIC_BLOCK_SIZE 1 +ENUM_VALUE_LIST NULL +READ_ONLY NO +COMMAND_LINE_ARGUMENT REQUIRED VARIABLE_NAME IGNORE_BUILTIN_INNODB SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -1599,7 +1641,7 @@ DEFAULT_VALUE 86400 VARIABLE_SCOPE SESSION VARIABLE_TYPE BIGINT UNSIGNED VARIABLE_COMMENT Timeout in seconds to wait for a lock before returning an error. -NUMERIC_MIN_VALUE 1 +NUMERIC_MIN_VALUE 0 NUMERIC_MAX_VALUE 31536000 NUMERIC_BLOCK_SIZE 1 ENUM_VALUE_LIST NULL diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result index 0c8647fc946..957485b4e4b 100644 --- a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result +++ b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result @@ -1325,6 +1325,48 @@ NUMERIC_BLOCK_SIZE 1 ENUM_VALUE_LIST NULL READ_ONLY NO COMMAND_LINE_ARGUMENT NULL +VARIABLE_NAME IDLE_READONLY_TRANSACTION_TIMEOUT +SESSION_VALUE 0 +GLOBAL_VALUE 0 +GLOBAL_VALUE_ORIGIN COMPILE-TIME +DEFAULT_VALUE 0 +VARIABLE_SCOPE SESSION +VARIABLE_TYPE INT UNSIGNED +VARIABLE_COMMENT The number of seconds the server waits for read-only idle transaction +NUMERIC_MIN_VALUE 0 +NUMERIC_MAX_VALUE 31536000 +NUMERIC_BLOCK_SIZE 1 +ENUM_VALUE_LIST NULL +READ_ONLY NO +COMMAND_LINE_ARGUMENT REQUIRED +VARIABLE_NAME IDLE_READWRITE_TRANSACTION_TIMEOUT +SESSION_VALUE 0 +GLOBAL_VALUE 0 +GLOBAL_VALUE_ORIGIN COMPILE-TIME +DEFAULT_VALUE 0 +VARIABLE_SCOPE SESSION +VARIABLE_TYPE INT UNSIGNED +VARIABLE_COMMENT The number of seconds the server waits for read-write idle transaction +NUMERIC_MIN_VALUE 0 +NUMERIC_MAX_VALUE 31536000 +NUMERIC_BLOCK_SIZE 1 +ENUM_VALUE_LIST NULL +READ_ONLY NO +COMMAND_LINE_ARGUMENT REQUIRED +VARIABLE_NAME IDLE_TRANSACTION_TIMEOUT +SESSION_VALUE 0 +GLOBAL_VALUE 0 +GLOBAL_VALUE_ORIGIN COMPILE-TIME +DEFAULT_VALUE 0 +VARIABLE_SCOPE SESSION +VARIABLE_TYPE INT UNSIGNED +VARIABLE_COMMENT The number of seconds the server waits for idle transaction +NUMERIC_MIN_VALUE 0 +NUMERIC_MAX_VALUE 31536000 +NUMERIC_BLOCK_SIZE 1 +ENUM_VALUE_LIST NULL +READ_ONLY NO +COMMAND_LINE_ARGUMENT REQUIRED VARIABLE_NAME IGNORE_BUILTIN_INNODB SESSION_VALUE NULL GLOBAL_VALUE OFF @@ -1725,7 +1767,7 @@ DEFAULT_VALUE 86400 VARIABLE_SCOPE SESSION VARIABLE_TYPE BIGINT UNSIGNED VARIABLE_COMMENT Timeout in seconds to wait for a lock before returning an error. -NUMERIC_MIN_VALUE 1 +NUMERIC_MIN_VALUE 0 NUMERIC_MAX_VALUE 31536000 NUMERIC_BLOCK_SIZE 1 ENUM_VALUE_LIST NULL @@ -3888,13 +3930,13 @@ ENUM_VALUE_LIST OFF,ON READ_ONLY NO COMMAND_LINE_ARGUMENT OPTIONAL VARIABLE_NAME SESSION_TRACK_SYSTEM_VARIABLES -SESSION_VALUE -GLOBAL_VALUE +SESSION_VALUE autocommit,character_set_client,character_set_connection,character_set_results,time_zone +GLOBAL_VALUE autocommit,character_set_client,character_set_connection,character_set_results,time_zone GLOBAL_VALUE_ORIGIN COMPILE-TIME -DEFAULT_VALUE +DEFAULT_VALUE autocommit,character_set_client,character_set_connection,character_set_results,time_zone VARIABLE_SCOPE SESSION VARIABLE_TYPE VARCHAR -VARIABLE_COMMENT Track changes in registered system variables. For compatibility with MySQL defaults this variable should be set to "autocommit, character_set_client, character_set_connection, character_set_results, time_zone" +VARIABLE_COMMENT Track changes in registered system variables. NUMERIC_MIN_VALUE NULL NUMERIC_MAX_VALUE NULL NUMERIC_BLOCK_SIZE NULL diff --git a/mysql-test/suite/sys_vars/t/innodb_instrument_semaphores_basic.test b/mysql-test/suite/sys_vars/t/innodb_instrument_semaphores_basic.test deleted file mode 100644 index 9b302be79b5..00000000000 --- a/mysql-test/suite/sys_vars/t/innodb_instrument_semaphores_basic.test +++ /dev/null @@ -1,42 +0,0 @@ ---source include/have_innodb.inc - ---echo # ---echo # innodb_instrument_semaphores ---echo # - ---echo # save the initial value -SET @innodb_instrument_semaphores_global_saved = @@global.innodb_instrument_semaphores; - ---echo # default -SELECT @@global.innodb_instrument_semaphores; - ---echo ---echo # scope ---error ER_INCORRECT_GLOBAL_LOCAL_VAR -SELECT @@session.innodb_instrument_semaphores; -SET @@global.innodb_instrument_semaphores=OFF; -SELECT @@global.innodb_instrument_semaphores; -SET @@global.innodb_instrument_semaphores=ON; -SELECT @@global.innodb_instrument_semaphores; - ---echo ---echo # valid values -SET @@global.innodb_instrument_semaphores='OFF'; -SELECT @@global.innodb_instrument_semaphores; -SET @@global.innodb_instrument_semaphores=ON; -SELECT @@global.innodb_instrument_semaphores; -SET @@global.innodb_instrument_semaphores=default; -SELECT @@global.innodb_instrument_semaphores; - ---echo ---echo # invalid values ---error ER_WRONG_VALUE_FOR_VAR -SET @@global.innodb_instrument_semaphores=NULL; ---error ER_WRONG_VALUE_FOR_VAR -SET @@global.innodb_instrument_semaphores='junk'; - ---echo ---echo # restore the initial value -SET @@global.innodb_instrument_semaphores = @innodb_instrument_semaphores_global_saved; - ---echo # End of test diff --git a/mysql-test/suite/sys_vars/t/innodb_support_xa_basic.test b/mysql-test/suite/sys_vars/t/innodb_support_xa_basic.test deleted file mode 100644 index 30f3b0ef46b..00000000000 --- a/mysql-test/suite/sys_vars/t/innodb_support_xa_basic.test +++ /dev/null @@ -1,240 +0,0 @@ -################# mysql-test\t\innodb_support_xa_basic.test ################### -# # -# Variable Name: innodb_support_xa # -# Scope: GLOBAL | SESSION # -# Access Type: Dynamic # -# Data Type: boolean # -# Default Value: 1 # -# Range: 0,1 # -# # -# # -# Creation Date: 2008-02-20 # -# Author: Rizwan # -# # -# Description: Test Cases of Dynamic System Variable innodb_support_xa # -# that checks the behavior of this variable in the following ways# -# * Default Value # -# * Valid & Invalid values # -# * Scope & Access method # -# * Data Integrity # -# # -# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # -# server-system-variables.html # -# # -############################################################################### - ---source include/have_innodb.inc ---source include/load_sysvars.inc - -######################################################################## -# START OF innodb_support_xa TESTS # -######################################################################## - - -################################################################################ -# Saving initial value of innodb_support_xa in a temporary variable # -################################################################################ - - -SET @session_start_value = @@session.innodb_support_xa; -SELECT @session_start_value; - - -SET @global_start_value = @@global.innodb_support_xa; -SELECT @global_start_value; - - - ---echo '#--------------------FN_DYNVARS_046_01------------------------#' -######################################################################## -# Display the DEFAULT value of innodb_support_xa # -######################################################################## - -SET @@session.innodb_support_xa = 0; -SET @@session.innodb_support_xa = DEFAULT; -SELECT @@session.innodb_support_xa; - -SET @@global.innodb_support_xa = 0; -SET @@global.innodb_support_xa = DEFAULT; -SELECT @@global.innodb_support_xa; - ---echo '#---------------------FN_DYNVARS_046_02-------------------------#' -########################################################################## -# Check if innodb_support_xa can be accessed with and without @@ sign # -########################################################################## - -SET innodb_support_xa = 1; -SELECT @@innodb_support_xa; - ---Error ER_UNKNOWN_TABLE -SELECT session.innodb_support_xa; - ---Error ER_UNKNOWN_TABLE -SELECT local.innodb_support_xa; - ---Error ER_UNKNOWN_TABLE -SELECT global.innodb_support_xa; -#using another syntax for accessing system variables -SET session innodb_support_xa = 0; -SELECT @@session.innodb_support_xa; - -SET global innodb_support_xa = 0; -SELECT @@global.innodb_support_xa; - - ---echo '#--------------------FN_DYNVARS_046_03------------------------#' -########################################################################## -# change the value of innodb_support_xa to a valid value # -########################################################################## -# for session -SET @@session.innodb_support_xa = 0; -SELECT @@session.innodb_support_xa; -SET @@session.innodb_support_xa = 1; -SELECT @@session.innodb_support_xa; - -# for global -SET @@global.innodb_support_xa = 0; -SELECT @@global.innodb_support_xa; -SET @@global.innodb_support_xa = 1; -SELECT @@global.innodb_support_xa; - - ---echo '#--------------------FN_DYNVARS_046_04-------------------------#' -########################################################################### -# Change the value of innodb_support_xa to invalid value # -########################################################################### - -# for session ---Error ER_WRONG_TYPE_FOR_VAR -SET @@session.innodb_support_xa = -0.6; ---Error ER_WRONG_TYPE_FOR_VAR -SET @@session.innodb_support_xa = 1.6; ---Error ER_WRONG_VALUE_FOR_VAR -SET @@session.innodb_support_xa = "T"; ---Error ER_WRONG_VALUE_FOR_VAR -SET @@session.innodb_support_xa = "Y"; ---Error ER_WRONG_VALUE_FOR_VAR -SET @@session.innodb_support_xa = TRÜE; ---Error ER_WRONG_VALUE_FOR_VAR -SET @@session.innodb_support_xa = ÕN; - -SET @@session.innodb_support_xa = OF; -SELECT @@session.innodb_support_xa; - ---Error ER_WRONG_VALUE_FOR_VAR -SET @@session.innodb_support_xa = ÓFF; - -# for global - - ---Error ER_WRONG_VALUE_FOR_VAR -SET @@global.innodb_support_xa = -1; -SELECT @@global.innodb_support_xa; - ---Error ER_WRONG_VALUE_FOR_VAR -SET @@global.innodb_support_xa = 2; ---Error ER_WRONG_VALUE_FOR_VAR -SET @@global.innodb_support_xa = "T"; ---Error ER_WRONG_VALUE_FOR_VAR -SET @@global.innodb_support_xa = "Y"; ---Error ER_WRONG_VALUE_FOR_VAR -SET @@global.innodb_support_xa = TRÜE; ---Error ER_WRONG_VALUE_FOR_VAR -SET @@global.innodb_support_xa = ÕN; - -SET @@global.innodb_support_xa = OF; -SELECT @@global.innodb_support_xa; - ---Error ER_WRONG_VALUE_FOR_VAR -SET @@global.innodb_support_xa = ÓFF; - - ---echo '#-------------------FN_DYNVARS_046_05----------------------------#' -########################################################################### -# Test if changing global variable effects session and vice versa # -########################################################################### - -SET @@global.innodb_support_xa = 0; -SET @@session.innodb_support_xa = 1; -SELECT @@global.innodb_support_xa AS res_is_0; - -SET @@global.innodb_support_xa = 0; -SELECT @@session.innodb_support_xa AS res_is_1; - ---echo '#----------------------FN_DYNVARS_046_06------------------------#' -######################################################################### -# Check if the value in GLOBAL Table matches value in variable # -######################################################################### - ---disable_warnings -SELECT IF(@@global.innodb_support_xa, "ON", "OFF") = - VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES - WHERE VARIABLE_NAME='innodb_support_xa'; ---enable_warnings -SELECT @@global.innodb_support_xa; ---disable_warnings -SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES - WHERE VARIABLE_NAME='innodb_support_xa'; ---enable_warnings - - ---echo '#----------------------FN_DYNVARS_046_07------------------------#' -######################################################################### -# Check if the value in SESSION Table matches value in variable # -######################################################################### - ---disable_warnings -SELECT IF(@@session.innodb_support_xa, "ON", "OFF") = - VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES - WHERE VARIABLE_NAME='innodb_support_xa'; ---enable_warnings -SELECT @@session.innodb_support_xa; ---disable_warnings -SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES - WHERE VARIABLE_NAME='innodb_support_xa'; ---enable_warnings - - ---echo '#---------------------FN_DYNVARS_046_08-------------------------#' -################################################################### -# Check if ON and OFF values can be used on variable # -################################################################### - -SET @@session.innodb_support_xa = OFF; -SELECT @@session.innodb_support_xa; -SET @@session.innodb_support_xa = ON; -SELECT @@session.innodb_support_xa; - -SET @@global.innodb_support_xa = OFF; -SELECT @@global.innodb_support_xa; -SET @@global.innodb_support_xa = ON; -SELECT @@global.innodb_support_xa; - ---echo '#---------------------FN_DYNVARS_046_09----------------------#' -################################################################### -# Check if TRUE and FALSE values can be used on variable # -################################################################### - -SET @@session.innodb_support_xa = TRUE; -SELECT @@session.innodb_support_xa; -SET @@session.innodb_support_xa = FALSE; -SELECT @@session.innodb_support_xa; - -SET @@global.innodb_support_xa = TRUE; -SELECT @@global.innodb_support_xa; -SET @@global.innodb_support_xa = FALSE; -SELECT @@global.innodb_support_xa; - -############################## -# Restore initial value # -############################## - -SET @@session.innodb_support_xa = @session_start_value; -SELECT @@session.innodb_support_xa; - -SET @@global.innodb_support_xa = @global_start_value; -SELECT @@global.innodb_support_xa; - -############################################################### -# END OF innodb_support_xa TESTS # -############################################################### diff --git a/mysql-test/suite/sys_vars/t/innodb_support_xa_func.test b/mysql-test/suite/sys_vars/t/innodb_support_xa_func.test deleted file mode 100644 index a6875ec780d..00000000000 --- a/mysql-test/suite/sys_vars/t/innodb_support_xa_func.test +++ /dev/null @@ -1,135 +0,0 @@ -################# mysql-test\t\innodb_support_xa_func.test ################### -# # -# Variable Name: innodb_support_xa # -# Scope: GLOBAL | SESSION # -# Access Type: Dynamic # -# Data Type: boolean # -# Default Value: 1 # -# Range: 0,1 # -# # -# # -# Creation Date: 2008-03-08 # -# Author: Rizwan # -# # -# Description: Test Cases of Dynamic System Variable innodb_support_xa # -# that checks the behavior of this variable in the following ways# -# # -# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # -# server-system-variables.html # -# # -############################################################################### - ---source include/have_innodb.inc ---source include/count_sessions.inc ---echo '#--------------------FN_DYNVARS_046_01-------------------------#' -#################################################################### -# Check if setting innodb_support_xa is changed in new connection # -#################################################################### - -SET @@global.innodb_support_xa = OFF; -connect (con1,localhost,root,,,,); -connection con1; -SELECT @@global.innodb_support_xa; -SELECT @@session.innodb_support_xa; -disconnect con1; - - ---echo '#--------------------FN_DYNVARS_046_01-------------------------#' -########################################################### -# Begin the functionality Testing of innodb_support_xa # -########################################################### - -connection default; -SET @@global.innodb_support_xa = 1; - ---disable_warnings -drop table if exists t1, t2; ---enable_warnings - -create table t1 (a int) engine=innodb; - -#==================================================== ---echo '---check when innodb_support_xa is 1---' -#==================================================== - - -SET @@innodb_support_xa = 1; - -xa start 'test1'; -INSERT t1 values (10); -xa end 'test1'; -xa prepare 'test1'; -xa rollback 'test1'; -SELECT * from t1; - -#==================================================== ---echo '---check when innodb_support_xa is 0---' -#==================================================== - -SET @@innodb_support_xa = 0; -# -xa start 'test1'; -INSERT t1 values (10); -xa end 'test1'; -xa prepare 'test1'; -xa rollback 'test1'; -SELECT * from t1; - -#==================================================== ---echo '------general xa testing--------' -#==================================================== - -SET @@global.innodb_support_xa = 1; -SET @@innodb_support_xa = 1; - -xa start 'testa','testb'; -INSERT t1 values (30); ---Error ER_XAER_RMFAIL -COMMIT; -xa end 'testa','testb'; ---Error ER_XAER_RMFAIL -BEGIN; ---Error ER_XAER_RMFAIL -CREATE table t2 (a int); -CONNECT (con1,localhost,root,,,,); -connection con1; - ---Error ER_XAER_DUPID -xa start 'testa','testb'; ---Error ER_XAER_DUPID -xa start 'testa','testb', 123; - -# gtrid [ , bqual [ , formatID ] ] -xa start 0x7465737462, 0x2030405060, 0xb; -INSERT t1 values (40); -xa end 'testb',' 0@P`',11; -xa prepare 'testb',0x2030405060,11; - ---Error ER_XAER_RMFAIL -START TRANSACTION; -xa recover; - -# uncomment the line below when binlog will be able to prepare -#disconnect con1; - -CONNECTION default; -xa prepare 'testa','testb'; -xa recover; ---Error ER_XAER_NOTA -xa commit 'testb',0x2030405060,11; -xa commit 'testa','testb'; - -CONNECTION con1; -xa rollback 'testb',0x2030405060,11; - -SELECT * from t1; - -disconnect con1; -connection default; -DROP table t1; ---source include/wait_until_count_sessions.inc - -######################################################## -# End of functionality Testing for innodb_support_xa # -######################################################## - diff --git a/mysql-test/suite/sys_vars/t/innodb_use_trim_basic.test b/mysql-test/suite/sys_vars/t/innodb_use_trim_basic.test deleted file mode 100644 index c1b0f142179..00000000000 --- a/mysql-test/suite/sys_vars/t/innodb_use_trim_basic.test +++ /dev/null @@ -1,36 +0,0 @@ ---source include/have_innodb.inc - -SET @start_use_trim = @@global.innodb_use_trim; -SELECT @start_use_trim; - -SELECT COUNT(@@GLOBAL.innodb_use_trim); ---echo 1 Expected - -#################################################################### -# Check if Value can set # -#################################################################### - -SET @@GLOBAL.innodb_use_trim=1; - -SELECT COUNT(@@GLOBAL.innodb_use_trim); ---echo 1 Expected - -################################################################# -# Check if the value in GLOBAL Table matches value in variable # -################################################################# - -SELECT IF(@@GLOBAL.innodb_use_trim, 'ON', 'OFF') = VARIABLE_VALUE -FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES -WHERE VARIABLE_NAME='innodb_use_trim'; ---echo 1 Expected - -SELECT COUNT(@@GLOBAL.innodb_use_trim); ---echo 1 Expected - -SELECT COUNT(VARIABLE_VALUE) -FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES -WHERE VARIABLE_NAME='innodb_use_trim'; ---echo 1 Expected - -SET @@global.innodb_use_trim = @start_use_trim; -SELECT @@global.innodb_use_trim;
\ No newline at end of file diff --git a/mysql-test/t/timeout.test b/mysql-test/t/timeout.test new file mode 100644 index 00000000000..9f6e692b148 --- /dev/null +++ b/mysql-test/t/timeout.test @@ -0,0 +1,60 @@ +--echo # +--echo # MDEV-11379 - AliSQL: [Feature] Issue#8: SELECT FOR UPDATE WAIT +--echo # MDEV-11388 - AliSQL: [Feature] Issue#15 DDL FAST FAIL +--echo # +CREATE TABLE t1(a INT, b TEXT, c MULTIPOLYGON NOT NULL); +CREATE INDEX i1 ON t1(a) WAIT 1; +CREATE FULLTEXT INDEX i2 ON t1(b) WAIT 1; +CREATE SPATIAL INDEX i3 ON t1(c) WAIT 1; +ALTER TABLE t1 WAIT 1 COMMENT='test'; +OPTIMIZE TABLE t1 WAIT 1; +DROP INDEX i1 ON t1 WAIT 1; +TRUNCATE TABLE t1 WAIT 1; +RENAME TABLE t1 WAIT 1 TO t2; +RENAME TABLE t2 NOWAIT TO t1; + +connect(con1, localhost, root,,); +LOCK TABLE t1 WRITE WAIT 31536001; + +connection default; +--error ER_LOCK_WAIT_TIMEOUT +CREATE INDEX i1 ON t1(a) WAIT 0; +--error ER_LOCK_WAIT_TIMEOUT +CREATE INDEX i1 ON t1(a) NOWAIT; +--error ER_LOCK_WAIT_TIMEOUT +CREATE FULLTEXT INDEX i2 ON t1(b) WAIT 0; +--error ER_LOCK_WAIT_TIMEOUT +CREATE FULLTEXT INDEX i2 ON t1(b) NOWAIT; +--error ER_LOCK_WAIT_TIMEOUT +CREATE SPATIAL INDEX i3 ON t1(c) WAIT 0; +--error ER_LOCK_WAIT_TIMEOUT +CREATE SPATIAL INDEX i3 ON t1(c) NOWAIT; +--error ER_LOCK_WAIT_TIMEOUT +ALTER TABLE t1 WAIT 0 COMMENT='test'; +--error ER_LOCK_WAIT_TIMEOUT +ALTER TABLE t1 NOWAIT COMMENT='test'; +OPTIMIZE TABLE t1 WAIT 0; +OPTIMIZE TABLE t1 NOWAIT; +--error ER_LOCK_WAIT_TIMEOUT +DROP INDEX i1 ON t1 WAIT 0; +--error ER_LOCK_WAIT_TIMEOUT +DROP INDEX i1 ON t1 NOWAIT; +--error ER_LOCK_WAIT_TIMEOUT +TRUNCATE TABLE t1 WAIT 0; +--error ER_LOCK_WAIT_TIMEOUT +TRUNCATE TABLE t1 NOWAIT; +--error ER_LOCK_WAIT_TIMEOUT +RENAME TABLE t1 WAIT 0 TO t2; +--error ER_LOCK_WAIT_TIMEOUT +RENAME TABLE t1 NOWAIT TO t2; +--error ER_LOCK_WAIT_TIMEOUT +DROP TABLE t1 WAIT 0; +--error ER_LOCK_WAIT_TIMEOUT +DROP TABLE t1 NOWAIT; +--error ER_LOCK_WAIT_TIMEOUT +LOCK TABLE t1 WRITE WAIT 0; +--error ER_LOCK_WAIT_TIMEOUT +LOCK TABLE t1 WRITE NOWAIT; + +disconnect con1; +DROP TABLE t1 WAIT 1; diff --git a/mysql-test/t/transaction_timeout.test b/mysql-test/t/transaction_timeout.test new file mode 100644 index 00000000000..36d835cc381 --- /dev/null +++ b/mysql-test/t/transaction_timeout.test @@ -0,0 +1,54 @@ +--source include/no_protocol.inc +--source include/have_innodb.inc +--source include/not_embedded.inc + +CREATE TABLE t1 (a INT) ENGINE=InnoDB; + +--echo # Test idle_transaction_timeout +connect (c0,localhost,root,,test,,); +SHOW VARIABLES LIKE 'idle_%transaction_timeout'; +SET autocommit=0; +SET idle_transaction_timeout=1; + +BEGIN; +SELECT * FROM t1; +sleep 2; + +--error 2006,2013 +SELECT * FROM t1; +disconnect c0; + +--echo # Test idle_readonly_transaction_timeout +connect (c1,localhost,root,,test,,); +SHOW VARIABLES LIKE 'idle_%transaction_timeout'; +SET autocommit=0; +SET idle_readonly_transaction_timeout=1; + +BEGIN; +SELECT * FROM t1; +sleep 2; + +--error 2006,2013 # Gone away +SELECT * FROM t1; +disconnect c1; + +--echo # Test idle_readwrite_transaction_timeout +connect (c2,localhost,root,,test,,); +SHOW VARIABLES LIKE 'idle_%transaction_timeout'; +SET autocommit=0; +SET idle_readwrite_transaction_timeout=1; + +BEGIN; +SELECT * FROM t1; +sleep 2; + +SELECT * FROM t1; +INSERT INTO t1 VALUES (1); +sleep 2; + +--error 2006, 2013 # Gone away +SELECT * FROM t1; +disconnect c2; + +connection default; +DROP TABLE t1; |
