summaryrefslogtreecommitdiff
path: root/mysql-test/t
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/t')
-rw-r--r--mysql-test/t/column_compression.inc125
-rw-r--r--mysql-test/t/column_compression.test81
-rw-r--r--mysql-test/t/column_compression_parts.test182
-rw-r--r--mysql-test/t/column_compression_rpl.test16
-rw-r--r--mysql-test/t/ctype_utf8mb4_innodb-master.opt1
-rw-r--r--mysql-test/t/information_schema-big.test8
-rw-r--r--mysql-test/t/mysql_client_test-master.opt1
-rw-r--r--mysql-test/t/mysql_client_test.test1
-rw-r--r--mysql-test/t/mysql_client_test_comp-master.opt1
-rw-r--r--mysql-test/t/mysql_client_test_comp.test2
-rw-r--r--mysql-test/t/mysql_client_test_nonblock-master.opt1
-rw-r--r--mysql-test/t/mysql_client_test_nonblock.test1
-rw-r--r--mysql-test/t/partition_innodb-master.opt1
-rw-r--r--mysql-test/t/show_check.test4
-rw-r--r--mysql-test/t/sp.test29
-rw-r--r--mysql-test/t/timeout.test60
-rw-r--r--mysql-test/t/transaction_timeout.test54
17 files changed, 556 insertions, 12 deletions
diff --git a/mysql-test/t/column_compression.inc b/mysql-test/t/column_compression.inc
new file mode 100644
index 00000000000..89a96ef67ad
--- /dev/null
+++ b/mysql-test/t/column_compression.inc
@@ -0,0 +1,125 @@
+FLUSH STATUS;
+
+--error ER_COMPRESSED_COLUMN_USED_AS_KEY
+eval CREATE TABLE t1(a $typec, KEY(a(10)));
+
+eval CREATE TABLE t1(a $typec);
+--error ER_COMPRESSED_COLUMN_USED_AS_KEY
+ALTER TABLE t1 ADD KEY(a(10));
+SHOW CREATE TABLE t1;
+
+--echo # Make sure column was actually compressed
+INSERT INTO t1 VALUES(REPEAT('a', 1000));
+SELECT LEFT(a, 10), LENGTH(a) FROM t1;
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME IN('Column_compressions', 'Column_decompressions');
+SELECT DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
+
+--echo # Make sure ALTER TABLE rebuilds table
+eval ALTER TABLE t1 MODIFY COLUMN a $typeu;
+SHOW CREATE TABLE t1;
+SELECT LEFT(a, 10), LENGTH(a) FROM t1;
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME IN('Column_compressions', 'Column_decompressions');
+SELECT DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
+
+--echo # Rebuild back
+eval ALTER TABLE t1 MODIFY COLUMN a $typec;
+SHOW CREATE TABLE t1;
+SELECT LEFT(a, 10), LENGTH(a) FROM t1;
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME IN('Column_compressions', 'Column_decompressions');
+SELECT DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
+
+--echo # Make sure CREATE TABLE ... LIKE inherits compression
+CREATE TABLE t2 LIKE t1;
+SHOW CREATE TABLE t2;
+DROP TABLE t2;
+
+--echo # Make sure implicit CREATE TABLE ... SELECT inherits compression
+CREATE TABLE t2 SELECT * FROM t1;
+SHOW CREATE TABLE t2;
+SELECT LEFT(a, 10), LENGTH(a) FROM t2;
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME IN('Column_compressions', 'Column_decompressions');
+SELECT DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t2';
+DROP TABLE t2;
+
+--echo # Make sure explicit CREATE TABLE ... SELECT doesn't inherit compression
+eval CREATE TABLE t2(a $typeu) SELECT * FROM t1;
+SHOW CREATE TABLE t2;
+SELECT LEFT(a, 10), LENGTH(a) FROM t2;
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME IN('Column_compressions', 'Column_decompressions');
+SELECT DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t2';
+DROP TABLE t2;
+
+--echo # Make sure engine change works
+ALTER TABLE t1 ENGINE=InnoDB;
+SHOW CREATE TABLE t1;
+SELECT LEFT(a, 10), LENGTH(a) FROM t1;
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME IN('Column_compressions', 'Column_decompressions');
+
+--echo # Make sure online add column works (requires InnoDB)
+eval ALTER TABLE t1 ADD COLUMN b $typec DEFAULT "must be visible";
+SELECT LEFT(a, 10), LENGTH(a), b FROM t1;
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME IN('Column_compressions', 'Column_decompressions');
+ALTER TABLE t1 DROP COLUMN b;
+
+ALTER TABLE t1 ENGINE=MyISAM;
+TRUNCATE TABLE t1;
+
+--echo # Make sure column_compression_zlib_level works
+SET column_compression_zlib_level= 1;
+INSERT INTO t1 VALUES(REPEAT('ab', 1000));
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME IN('Column_compressions', 'Column_decompressions');
+SELECT DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
+TRUNCATE TABLE t1;
+
+SET column_compression_zlib_level= 9;
+INSERT INTO t1 VALUES(REPEAT('ab', 1000));
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME IN('Column_compressions', 'Column_decompressions');
+SELECT DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
+
+SET column_compression_zlib_level= DEFAULT;
+TRUNCATE TABLE t1;
+
+--echo # No compression, original data shorter than compressed
+INSERT INTO t1 VALUES('a');
+SELECT a, LENGTH(a) FROM t1;
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME IN('Column_compressions', 'Column_decompressions');
+SELECT DATA_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
+
+--echo # Coverage for store(double) and store(longlong)
+INSERT INTO t1 VALUES(3.14),(CAST(9.8 AS DOUBLE)),(1),(''),(NULL);
+--echo # and for sort_string()
+SELECT * FROM t1 ORDER BY a;
+
+--echo # Coverage for val_real() and val_int()
+SELECT a+1 FROM t1 ORDER BY 1;
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME IN('Column_compressions', 'Column_decompressions');
+
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-13540 - Server crashes in copy or Assertion `0' failed in virtual
+--echo # Field* Field_varstring_compressed::new_key_field
+--echo #
+eval CREATE TABLE t1 (c1 $typec) ENGINE=MyISAM;
+INSERT IGNORE INTO t1 VALUES ('foo'),('bar');
+
+eval CREATE TABLE t2 (c2 $typec) ENGINE=MyISAM; # Compression is optional
+INSERT IGNORE INTO t2 VALUES ('qux'),('abc'); # Optional
+
+SELECT * FROM t1 WHERE c1 NOT IN ( SELECT c2 FROM t2 WHERE c2 = c1 );
+
+# Cleanup
+DROP TABLE t1, t2;
+
+
+--echo #
+--echo # MDEV-13541 - Server crashes in next_breadth_first_tab or Assertion `0'
+--echo # failed in Field_varstring_compressed::new_key_field
+--echo #
+eval CREATE TABLE t1 (c $typec) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ('foo'),('bar');
+
+SELECT DISTINCT c FROM t1;
+
+# Cleanup
+DROP TABLE t1;
diff --git a/mysql-test/t/column_compression.test b/mysql-test/t/column_compression.test
new file mode 100644
index 00000000000..d3f848144b6
--- /dev/null
+++ b/mysql-test/t/column_compression.test
@@ -0,0 +1,81 @@
+--source include/have_innodb.inc
+--source include/have_csv.inc
+
+let $MYSQLD_DATADIR= `select @@datadir`;
+
+SET column_compression_zlib_wrap=true;
+let $typec= BLOB COMPRESSED;
+let $typeu= BLOB;
+--source column_compression.inc
+
+let $typec= TEXT COMPRESSED;
+let $typeu= TEXT;
+--source column_compression.inc
+
+let $typec= VARBINARY(10000) COMPRESSED;
+let $typeu= VARBINARY(10000);
+--source column_compression.inc
+
+let $typec= VARCHAR(10000) COMPRESSED;
+let $typeu= VARCHAR(10000);
+--source column_compression.inc
+
+let $typec= TEXT CHARSET ucs2 COMPRESSED;
+let $typeu= TEXT;
+--source column_compression.inc
+
+SET column_compression_zlib_wrap=DEFAULT;
+let $typec= BLOB COMPRESSED;
+let $typeu= BLOB;
+--source column_compression.inc
+
+--error ER_WRONG_FIELD_SPEC
+CREATE TABLE t1(a CHAR(100) COMPRESSED);
+--error ER_WRONG_FIELD_SPEC
+CREATE TABLE t1(a INT COMPRESSED);
+--error ER_UNKNOWN_COMPRESSION_METHOD
+CREATE TABLE t1(a BLOB COMPRESSED=unknown);
+CREATE TABLE t1(a BLOB COMPRESSED COMPRESSED);
+DROP TABLE t1;
+CREATE TABLE t1(a INT);
+--error ER_WRONG_FIELD_SPEC
+ALTER TABLE t1 MODIFY a INT COMPRESSED;
+DROP TABLE t1;
+
+--echo # Test CSV
+CREATE TABLE t1(a BLOB NOT NULL COMPRESSED) ENGINE=CSV;
+INSERT INTO t1 VALUES(REPEAT('a', 110));
+SELECT LENGTH(a) FROM t1;
+ALTER TABLE t1 ENGINE=MyISAM;
+SELECT LENGTH(a) FROM t1;
+ALTER TABLE t1 ENGINE=CSV;
+SELECT LENGTH(a) FROM t1;
+SHOW CREATE TABLE t1;
+--cat_file $MYSQLD_DATADIR/test/t1.CSV
+DROP TABLE t1;
+
+--echo # Test fields that don't fit data
+CREATE TABLE t1(a VARCHAR(9) COMPRESSED);
+--error ER_DATA_TOO_LONG
+INSERT INTO t1 VALUES(REPEAT('a', 10));
+INSERT INTO t1 VALUES(REPEAT(' ', 10));
+SELECT a, LENGTH(a) FROM t1;
+DROP TABLE t1;
+
+CREATE TABLE t1(a TINYTEXT COMPRESSED);
+SET column_compression_threshold=300;
+--error ER_DATA_TOO_LONG
+INSERT INTO t1 VALUES(REPEAT('a', 255));
+INSERT INTO t1 VALUES(REPEAT(' ', 255));
+SET column_compression_threshold=DEFAULT;
+SELECT a, LENGTH(a) FROM t1;
+DROP TABLE t1;
+
+--echo # Corner case: VARCHAR(255) COMPRESSED must have 2 bytes pack length
+CREATE TABLE t1(a VARCHAR(255) COMPRESSED);
+SHOW CREATE TABLE t1;
+SET column_compression_threshold=300;
+INSERT INTO t1 VALUES(REPEAT('a', 255));
+SET column_compression_threshold=DEFAULT;
+SELECT a, LENGTH(a) FROM t1;
+DROP TABLE t1;
diff --git a/mysql-test/t/column_compression_parts.test b/mysql-test/t/column_compression_parts.test
new file mode 100644
index 00000000000..9a6f63d0cde
--- /dev/null
+++ b/mysql-test/t/column_compression_parts.test
@@ -0,0 +1,182 @@
+--source include/have_partition.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1,t2,t3,t4;
+--enable_warnings
+FLUSH STATUS;
+
+echo ---------------------------------------by range------------------------------------------;
+
+CREATE TABLE t1 (i int, a VARCHAR(1000) COMPRESSED DEFAULT "AAA")
+ PARTITION BY RANGE COLUMNS (a)(
+ PARTITION p0 VALUES LESS THAN ('g') COMMENT "p0",
+ PARTITION p1 VALUES LESS THAN ('m'),
+ PARTITION p2 VALUES LESS THAN ('t'),
+ PARTITION p3 VALUES LESS THAN ('w'));
+
+ALTER TABLE t1 ADD PARTITION (PARTITION p4 VALUES LESS THAN (MAXVALUE));
+
+INSERT INTO t1 VALUES (1,REPEAT('a',100)),(2,REPEAT('v',200)),(3,REPEAT('r',300)),(4,NULL);
+INSERT INTO t1 VALUES (5,REPEAT('k',500)),(6,'April'),(7,7),(8,""),(9,"M"),(10,DEFAULT);
+
+ALTER TABLE t1 ANALYZE PARTITION p1;
+ALTER TABLE t1 CHECK PARTITION p2;
+
+SELECT i,SUBSTRING(a,1,10) FROM t1 PARTITION (p2) ORDER BY i;
+SELECT i,SUBSTRING(a,1,10) FROM t1 where length(a)>=300 ORDER BY i;
+SELECT i,SUBSTRING(a,1,10) FROM t1 where a like "%k" ORDER BY i;
+
+DELETE FROM t1 where a="";
+DELETE FROM t1 where a=(REPEAT('a',100));
+DELETE FROM t1 where a like "%v";
+
+SELECT i,SUBSTRING(a,1,10) FROM t1 ORDER BY i;
+SELECT i,SUBSTRING(a,1,10) FROM t1 where a not like "%k" ORDER BY i;
+SELECT i,SUBSTRING(a,1,10) FROM t1 where (a>'m') ORDER BY i;
+SELECT i,SUBSTRING(a,1,10) FROM t1 where (a between 'h' and 'z') and (i=9) ORDER BY i;
+
+EXPLAIN PARTITIONS SELECT i,SUBSTRING(a,1,10) FROM t1 where (a>'m');
+EXPLAIN PARTITIONS SELECT i,SUBSTRING(a,1,10) FROM t1 where (a<'w');
+
+ALTER TABLE t1 TRUNCATE PARTITION p2;
+ALTER TABLE t1 DROP PARTITION p0;
+SHOW CREATE TABLE t1;
+
+ALTER TABLE t1 MODIFY COLUMN a VARCHAR(1000);
+SHOW CREATE TABLE t1;
+
+DROP TABLE t1;
+
+echo ---------------------------------------------------------------------------------------------;
+
+CREATE TABLE t1 (a VARCHAR(1000) COMPRESSED NOT NULL, id INT)
+ PARTITION BY RANGE COLUMNS(id,a)(
+ PARTITION p0 VALUES LESS THAN (100,'sss'),
+ PARTITION p1 VALUES LESS THAN (MAXVALUE,MAXVALUE));
+
+INSERT INTO t1 VALUES (REPEAT('a',100), 23),(REPEAT('v',100),123),(REPEAT('z',100),24),(REPEAT('k',100),124);
+SELECT id,SUBSTRING(a,1,10) FROM t1 order by id;
+SELECT * from t1 partition (p0);
+SELECT * from t1 partition (p1);
+INSERT INTO t1 VALUES (REPEAT('a',100),101);
+SELECT * from t1 partition (p0);
+SELECT * from t1 partition (p1);
+ALTER TABLE t1 DROP PARTITION p1;
+SELECT id,SUBSTRING(a,1,10) FROM t1 WHERE id<50 order by id;
+--error ER_NO_PARTITION_FOR_GIVEN_VALUE
+INSERT INTO t1 VALUES (REPEAT('a',100),101);
+
+ALTER TABLE t1 ALTER COLUMN a SET DEFAULT 'qwerty';
+ALTER TABLE t1 ALTER COLUMN a DROP DEFAULT;
+
+ALTER TABLE t1 MODIFY COLUMN a VARCHAR(1000);
+ALTER TABLE t1 ALTER COLUMN a DROP DEFAULT;
+INSERT INTO t1 VALUES (REPEAT('b',100),11);
+--error ER_NO_DEFAULT_FOR_FIELD
+INSERT INTO t1 VALUES (default,10);
+
+ALTER TABLE t1 MODIFY COLUMN a VARCHAR(1000) COMPRESSED;
+SHOW CREATE TABLE t1;
+SELECT * from t1 ORDER BY id;
+
+DROP TABLE t1;
+
+echo ----------------------------1 partition--------------------------------------------------;
+
+CREATE TABLE t1 (a VARCHAR(1000) COMPRESSED DEFAULT "10-12-2010")
+ PARTITION BY RANGE COLUMNS (a) (partition p0 VALUES LESS THAN (MAXVALUE));
+INSERT INTO t1 VALUES (REPEAT('a',100)), (REPEAT('v',200)), (REPEAT('Z',300)),(NULL),(DEFAULT);
+INSERT INTO t1 VALUES (DEFAULT),(REPEAT('b',200)),(REPEAT('q',300)),(DEFAULT),("MAY");
+
+--sorted_result
+SELECT SUBSTRING(a,1,10) FROM t1;
+
+echo -----------------------------------------by key------------------------------------------;
+
+ALTER TABLE t1 PARTITION BY KEY(a) PARTITIONS 6;
+SHOW CREATE TABLE t1;
+UPDATE t1 SET a="NEW" where length(a)<20;
+--sorted_result
+SELECT SUBSTRING(a,1,10) FROM t1;
+
+CREATE TABLE t2 (a VARBINARY(1000) COMPRESSED)
+ PARTITION BY KEY(a) PARTITIONS 3;
+ALTER TABLE t2 PARTITION BY LINEAR KEY ALGORITHM=2 (a) PARTITIONS 32;
+
+INSERT INTO t2 VALUES (REPEAT('a',100)),(REPEAT('v',6)),(REPEAT('z',13)),(REPEAT('k',900));
+--sorted_result
+SELECT SUBSTRING(a,1,10) FROM t2;
+
+CREATE TABLE t3 ( a VARCHAR(1000) COMPRESSED DEFAULT NULL)
+ PARTITION BY LINEAR KEY(a) PARTITIONS 3;
+INSERT INTO t3 VALUES (REPEAT('a',100)),(REPEAT('v',100)),(NULL),(REPEAT('k',100)),(DEFAULT);
+--sorted_result
+SELECT SUBSTRING(a,1,10) FROM t3 where a<>NULL;
+
+CREATE TABLE t4 (a VARBINARY(1000) COMPRESSED NOT NULL DEFAULT 0 COMMENT "QQ")
+ PARTITION BY LINEAR KEY(a)
+ PARTITIONS 3;
+INSERT INTO t4 VALUES (REPEAT('a',100)),('0'),(DEFAULT),(DEFAULT),(REPEAT('v',100)),(REPEAT('k',100));
+--sorted_result
+SELECT SUBSTRING(a,1,10) FROM t4 where length(a)>3;
+
+DROP TABLE t1,t2,t3,t4;
+
+echo -----------------------------------subpartitions------------------------------------------;
+
+CREATE TABLE t1 (a VARCHAR(1000) COMPRESSED, id INT NOT NULL)
+ PARTITION BY RANGE(id)
+ SUBPARTITION BY KEY(a) SUBPARTITIONS 4
+ (PARTITION p0 VALUES LESS THAN (5),
+ PARTITION p1 VALUES LESS THAN (MAXVALUE));
+INSERT INTO t1 VALUES (REPEAT('a',100),23),(REPEAT('v',100),123),(REPEAT('z',100),24),(REPEAT('k',100),124);
+SELECT id,SUBSTRING(a,1,10) FROM t1 where a=(REPEAT('k',100)) order by id;
+DROP TABLE t1;
+
+echo -------------------------------------------------------------------------------------------;
+
+--error ER_BLOB_FIELD_IN_PART_FUNC_ERROR
+CREATE TABLE t1 (a BLOB COMPRESSED)
+ PARTITION BY KEY(a) partitions 30;
+
+CREATE TABLE t1 (a VARCHAR(200) COMPRESSED) PARTITION BY KEY(a) partitions 30;
+ALTER TABLE t1 COALESCE PARTITION 20;
+#ALTER TABLE t1 ADD PARTITION (PARTITION pm TABLESPACE = `innodb_file_per_table`); --mdev MDEV-13584
+ALTER TABLE t1 ADD PARTITION (PARTITION pm);
+CREATE TABLE t2 like t1;
+ALTER TABLE t2 REMOVE PARTITIONING;
+SHOW CREATE TABLE t1;
+SHOW CREATE TABLE t2;
+
+ALTER TABLE t1 EXCHANGE PARTITION pm WITH TABLE t2;
+DROP TABLE t1,t2;
+echo -------------------------------------------------------------------------------------------;
+
+CREATE TABLE t1 (a BLOB COMPRESSED default 5,i int);
+INSERT INTO t1 VALUES (REPEAT('a',100),1),(REPEAT('v',100),2),(REPEAT('z',100),3),(REPEAT('k',100),2),(2,2);
+
+--error ER_BLOB_FIELD_IN_PART_FUNC_ERROR
+ALTER TABLE t1 PARTITION BY KEY(a) partitions 3;
+
+ALTER TABLE t1 PARTITION BY HASH(i) PARTITIONS 8;
+--error ER_PARTITION_WRONG_VALUES_ERROR
+ALTER TABLE t1 REORGANIZE PARTITION p0 INTO (
+ PARTITION s0 VALUES LESS THAN (1960),
+ PARTITION s1 VALUES LESS THAN (1970)
+);
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 REMOVE PARTITIONING;
+DROP TABLE t1;
+
+CREATE TABLE t1 (a VARCHAR(500) COMPRESSED default 5,i int)
+ PARTITION BY RANGE COLUMNS(i)(
+ PARTITION p0 VALUES LESS THAN (10),
+ PARTITION p1 VALUES LESS THAN (100),
+ PARTITION p2 VALUES LESS THAN (1000));
+INSERT INTO t1 VALUES (REPEAT('a',100),1),("one",21),(REPEAT('3',100),34),(REPEAT('k',100),267),(2,278);
+
+ALTER TABLE t1 REORGANIZE PARTITION p2 INTO (PARTITION p22 VALUES LESS THAN (MAXVALUE));
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 REBUILD PARTITION p22;
+
+DROP TABLE t1; \ No newline at end of file
diff --git a/mysql-test/t/column_compression_rpl.test b/mysql-test/t/column_compression_rpl.test
new file mode 100644
index 00000000000..86c73a77dbd
--- /dev/null
+++ b/mysql-test/t/column_compression_rpl.test
@@ -0,0 +1,16 @@
+--source include/have_innodb.inc
+--source include/master-slave.inc
+
+--let $engine_type= myisam
+--let $engine_type2= innodb
+--source include/column_compression_rpl.inc
+
+--let $engine_type= innodb
+--let $engine_type2= innodb
+--source include/column_compression_rpl.inc
+
+--let $engine_type= myisam
+--let $engine_type2= myisam
+--source include/column_compression_rpl.inc
+
+--source include/rpl_end.inc
diff --git a/mysql-test/t/ctype_utf8mb4_innodb-master.opt b/mysql-test/t/ctype_utf8mb4_innodb-master.opt
index 56d40323eae..96f0ce3f36c 100644
--- a/mysql-test/t/ctype_utf8mb4_innodb-master.opt
+++ b/mysql-test/t/ctype_utf8mb4_innodb-master.opt
@@ -1,2 +1 @@
--default-storage-engine=MyISAM
---loose-innodb-large-prefix=OFF
diff --git a/mysql-test/t/information_schema-big.test b/mysql-test/t/information_schema-big.test
index 717c22f8f6a..9212348649e 100644
--- a/mysql-test/t/information_schema-big.test
+++ b/mysql-test/t/information_schema-big.test
@@ -1,18 +1,12 @@
# This test uses grants, which can't get tested for embedded server
-- source include/big_test.inc
-- source include/not_embedded.inc
--- source include/have_xtradb.inc
+-- source include/have_innodb.inc
# check that CSV engine was compiled in, as the result of the test depends
# on the presence of the log tables (which are CSV-based).
--source include/have_csv.inc
---disable_warnings
-DROP TABLE IF EXISTS t0,t1,t2,t3,t4,t5;
-DROP VIEW IF EXISTS v1;
---enable_warnings
-
-
--echo #
--echo # Bug#18925: subqueries with MIN/MAX functions on INFORMATION_SCHEMA
--echo #
diff --git a/mysql-test/t/mysql_client_test-master.opt b/mysql-test/t/mysql_client_test-master.opt
index fcaf2b69fbc..8d49abf6a10 100644
--- a/mysql-test/t/mysql_client_test-master.opt
+++ b/mysql-test/t/mysql_client_test-master.opt
@@ -2,3 +2,4 @@
--general-log-file=$MYSQLTEST_VARDIR/log/master.log
--log-output=FILE,TABLE
--max-allowed-packet=32000000
+--proxy-protocol-networks=*
diff --git a/mysql-test/t/mysql_client_test.test b/mysql-test/t/mysql_client_test.test
index bf5331ca4f9..260473aa0d0 100644
--- a/mysql-test/t/mysql_client_test.test
+++ b/mysql-test/t/mysql_client_test.test
@@ -7,6 +7,7 @@ SET @old_general_log= @@global.general_log;
SET @old_slow_query_log= @@global.slow_query_log;
call mtr.add_suppression(" Error reading file './client_test_db/test_frm_bug.frm'");
+call mtr.add_suppression(" IP address .* could not be resolved");
# We run with different binaries for normal and --embedded-server
#
diff --git a/mysql-test/t/mysql_client_test_comp-master.opt b/mysql-test/t/mysql_client_test_comp-master.opt
index 783093c900b..6c4a5e4c782 100644
--- a/mysql-test/t/mysql_client_test_comp-master.opt
+++ b/mysql-test/t/mysql_client_test_comp-master.opt
@@ -1,2 +1,3 @@
--loose-enable-performance-schema
--max-allowed-packet=32000000
+--proxy-protocol-networks=::1/32,127.0.0.0/8,localhost
diff --git a/mysql-test/t/mysql_client_test_comp.test b/mysql-test/t/mysql_client_test_comp.test
index 0a6b0ba1130..13a9d4944a4 100644
--- a/mysql-test/t/mysql_client_test_comp.test
+++ b/mysql-test/t/mysql_client_test_comp.test
@@ -9,7 +9,7 @@
SET @old_slow_query_log= @@global.slow_query_log;
call mtr.add_suppression(" Error reading file './client_test_db/test_frm_bug.frm'");
-
+call mtr.add_suppression(" IP address .* could not be resolved");
--exec echo "$MYSQL_CLIENT_TEST" > $MYSQLTEST_VARDIR/log/mysql_client_test_comp.out.log 2>&1
--exec $MYSQL_CLIENT_TEST --getopt-ll-test=25600M >> $MYSQLTEST_VARDIR/log/mysql_client_test_comp.out.log 2>&1
diff --git a/mysql-test/t/mysql_client_test_nonblock-master.opt b/mysql-test/t/mysql_client_test_nonblock-master.opt
index 5775e707c5f..a39d0089562 100644
--- a/mysql-test/t/mysql_client_test_nonblock-master.opt
+++ b/mysql-test/t/mysql_client_test_nonblock-master.opt
@@ -1,2 +1,3 @@
--general-log --general-log-file=$MYSQLTEST_VARDIR/log/master.log --log-output=FILE,TABLE
--max-allowed-packet=32000000
+--proxy-protocol-networks=::1,::ffff:127.0.0.1/97,localhost
diff --git a/mysql-test/t/mysql_client_test_nonblock.test b/mysql-test/t/mysql_client_test_nonblock.test
index 51263854e58..31de14e4178 100644
--- a/mysql-test/t/mysql_client_test_nonblock.test
+++ b/mysql-test/t/mysql_client_test_nonblock.test
@@ -6,6 +6,7 @@
SET @old_general_log= @@global.general_log;
SET @old_slow_query_log= @@global.slow_query_log;
call mtr.add_suppression(" Error reading file './client_test_db/test_frm_bug.frm'");
+call mtr.add_suppression(" IP address .* could not be resolved");
# We run with different binaries for normal and --embedded-server
#
diff --git a/mysql-test/t/partition_innodb-master.opt b/mysql-test/t/partition_innodb-master.opt
deleted file mode 100644
index cf94b2d7dca..00000000000
--- a/mysql-test/t/partition_innodb-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-innodb-large-prefix=OFF
diff --git a/mysql-test/t/show_check.test b/mysql-test/t/show_check.test
index 13ca9a528c6..262013e0d2c 100644
--- a/mysql-test/t/show_check.test
+++ b/mysql-test/t/show_check.test
@@ -954,11 +954,11 @@ flush status;
show variables like "log_queries_not_using_indexes";
select 1 from information_schema.tables limit 1;
show status like 'slow_queries';
-set global log_queries_not_using_indexes=OFF;
+set session log_queries_not_using_indexes=OFF;
show variables like "log_queries_not_using_indexes";
select 1 from information_schema.tables limit 1;
show status like 'slow_queries';
-set global log_queries_not_using_indexes=ON;
+set session log_queries_not_using_indexes=ON;
show variables like "log_queries_not_using_indexes";
select 1 from information_schema.tables limit 1;
show status like 'slow_queries';
diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test
index 6eea228a7c5..94d779de203 100644
--- a/mysql-test/t/sp.test
+++ b/mysql-test/t/sp.test
@@ -9754,3 +9754,32 @@ $$
DELIMITER ;$$
CALL p1();
DROP PROCEDURE p1;
+
+--echo # Test affected rows from an sp
+
+create table t1 (a int);
+
+DELIMITER $$;
+create procedure p1()
+begin
+insert into t1 values(1);
+insert into t1 values(2);
+end;
+$$
+create procedure p2()
+begin
+insert into t1 values(1);
+call p1();
+select row_count();
+insert into t1 values(2);
+insert into t1 values(2);
+end;
+$$
+DELIMITER ;$$
+
+--enable_info
+CALL p2();
+--disable_info
+DROP PROCEDURE p1;
+DROP PROCEDURE p2;
+drop table t1;
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..f2a044497c5
--- /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_write_transaction_timeout
+connect (c2,localhost,root,,test,,);
+SHOW VARIABLES LIKE 'idle_%transaction_timeout';
+SET autocommit=0;
+SET idle_write_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;