diff options
Diffstat (limited to 'mysql-test/t')
-rw-r--r-- | mysql-test/t/column_compression.inc | 125 | ||||
-rw-r--r-- | mysql-test/t/column_compression.test | 81 | ||||
-rw-r--r-- | mysql-test/t/column_compression_parts.test | 182 | ||||
-rw-r--r-- | mysql-test/t/column_compression_rpl.test | 16 | ||||
-rw-r--r-- | mysql-test/t/ctype_utf8mb4_innodb-master.opt | 1 | ||||
-rw-r--r-- | mysql-test/t/information_schema-big.test | 8 | ||||
-rw-r--r-- | mysql-test/t/mysql_client_test-master.opt | 1 | ||||
-rw-r--r-- | mysql-test/t/mysql_client_test.test | 1 | ||||
-rw-r--r-- | mysql-test/t/mysql_client_test_comp-master.opt | 1 | ||||
-rw-r--r-- | mysql-test/t/mysql_client_test_comp.test | 2 | ||||
-rw-r--r-- | mysql-test/t/mysql_client_test_nonblock-master.opt | 1 | ||||
-rw-r--r-- | mysql-test/t/mysql_client_test_nonblock.test | 1 | ||||
-rw-r--r-- | mysql-test/t/partition_innodb-master.opt | 1 | ||||
-rw-r--r-- | mysql-test/t/show_check.test | 4 | ||||
-rw-r--r-- | mysql-test/t/sp.test | 29 | ||||
-rw-r--r-- | mysql-test/t/timeout.test | 60 | ||||
-rw-r--r-- | mysql-test/t/transaction_timeout.test | 54 |
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; |