diff options
author | Sergei Golubchik <sergii@pisem.net> | 2013-12-22 17:06:50 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-12-22 17:06:50 +0100 |
commit | ffa8c4cfcc41d4f160e3bdfca5cfd4b01a7d6e63 (patch) | |
tree | 728585c36f22a5db3cea796430883d0ebc5c05eb /mysql-test | |
parent | e27c34f9e4ca15c797fcd3191ee5679c2f237a09 (diff) | |
parent | 52c26f7a1f675185d2ef1a28aca7f9bcc67c6414 (diff) | |
download | mariadb-git-ffa8c4cfcc41d4f160e3bdfca5cfd4b01a7d6e63.tar.gz |
Percona-Server-5.6.14-rel62.0 merge
support ha_innodb.so as a dynamic plugin.
* remove obsolete *,innodb_plugin.rdiff files
* s/--plugin-load=/--plugin-load-add=/
* MYSQL_PLUGIN_IMPORT glob_hostname[]
* use my_error instead of push_warning_printf(ER_DEFAULT)
* don't use tdc_size and tc_size in a module
update test cases (XtraDB is 5.6.14, InnoDB is 5.6.10)
* copy new tests over
* disable some tests for (old) InnoDB
* delete XtraDB tests that no longer apply
small compatibility changes:
* s/HTON_EXTENDED_KEYS/HTON_SUPPORTS_EXTENDED_KEYS/
* revert unnecessary InnoDB changes to make it a bit closer to the upstream
fix XtraDB to compile on Windows (both as a static and a dynamic plugin)
disable XtraDB on Windows (deadlocks) and where no atomic ops are available (e.g. CentOS 5)
storage/innobase/handler/ha_innodb.cc:
revert few unnecessary changes to make it a bit closer to the original InnoDB
storage/innobase/include/univ.i:
correct the version to match what it was merged from
Diffstat (limited to 'mysql-test')
116 files changed, 2384 insertions, 856 deletions
diff --git a/mysql-test/include/have_innodb.combinations b/mysql-test/include/have_innodb.combinations index b76f783b928..f647f15ddb6 100644 --- a/mysql-test/include/have_innodb.combinations +++ b/mysql-test/include/have_innodb.combinations @@ -9,6 +9,7 @@ innodb-buffer-page innodb-buffer-page-lru innodb-sys-foreign innodb-sys-foreign-col +innodb-metrics [xtradb_plugin] ignore-builtin-innodb @@ -21,6 +22,7 @@ innodb-buffer-page innodb-buffer-page-lru innodb-sys-foreign innodb-sys-foreign-col +innodb-metrics [xtradb] innodb @@ -32,3 +34,4 @@ innodb-buffer-page innodb-buffer-page-lru innodb-sys-foreign innodb-sys-foreign-col +innodb-metrics diff --git a/mysql-test/include/have_semisync.opt b/mysql-test/include/have_semisync.opt index 2888844cdcd..19e29c7e4de 100644 --- a/mysql-test/include/have_semisync.opt +++ b/mysql-test/include/have_semisync.opt @@ -1,4 +1,4 @@ ---plugin-load=$SEMISYNC_MASTER_SO ---plugin-load=$SEMISYNC_SLAVE_SO +--plugin-load-add=$SEMISYNC_MASTER_SO +--plugin-load-add=$SEMISYNC_SLAVE_SO --loose-rpl-semi-sync-master --loose-rpl-semi-sync-slave diff --git a/mysql-test/include/linux.inc b/mysql-test/include/linux.inc new file mode 100644 index 00000000000..f24832ca476 --- /dev/null +++ b/mysql-test/include/linux.inc @@ -0,0 +1,5 @@ +if (`select convert(@@version_compile_os using latin1) LIKE 'Linux' = 0`) +{ + skip Need Linux; +} + diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 124ede14dbb..427cff31547 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -4822,6 +4822,7 @@ sub extract_warning_lines ($$) { qr|Plugin 'FEEDBACK' init function returned error|, qr|Plugin 'FEEDBACK' registration as a INFORMATION SCHEMA failed|, qr|'log-bin-use-v1-row-events' is MySQL 5.6 compatible option|, + qr|InnoDB: Setting thread \d+ nice to \d+ failed, current nice \d+, errno 13|, # setpriority() fails under valgrind ); my $matched_lines= []; diff --git a/mysql-test/r/information_schema-big.result b/mysql-test/r/information_schema-big.result index 55ed95f6452..8ce5c0dad68 100644 --- a/mysql-test/r/information_schema-big.result +++ b/mysql-test/r/information_schema-big.result @@ -57,7 +57,6 @@ TRIGGERS TRIGGER_SCHEMA USER_PRIVILEGES GRANTEE USER_STATISTICS USER VIEWS TABLE_SCHEMA -XTRADB_ADMIN_COMMAND result_message SELECT t.table_name, c1.column_name FROM information_schema.tables t INNER JOIN @@ -112,4 +111,3 @@ TRIGGERS TRIGGER_SCHEMA USER_PRIVILEGES GRANTEE USER_STATISTICS USER VIEWS TABLE_SCHEMA -XTRADB_ADMIN_COMMAND result_message diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index 4ccf3ba1ca4..d27b03e85d3 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -477,7 +477,11 @@ drop table t1; create table t1 (a int null, primary key(a)); alter table t1 add constraint constraint_1 unique (a); alter table t1 add constraint unique key_1(a); +Warnings: +Note 1831 Duplicate index 'key_1' defined on the table 'test.t1'. This is deprecated and will be disallowed in a future release. alter table t1 add constraint constraint_2 unique key_2(a); +Warnings: +Note 1831 Duplicate index 'key_2' defined on the table 'test.t1'. This is deprecated and will be disallowed in a future release. show create table t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -709,6 +713,7 @@ max_questions select,insert,update,references max_connections select,insert,update,references max_user_connections select,insert,update,references authentication_string select,insert,update,references +password_expired select,insert,update,references is_role select,insert,update,references use test; create function sub1(i int) returns int @@ -816,6 +821,14 @@ information_schema ROUTINES ROUTINE_COMMENT information_schema TRIGGERS ACTION_CONDITION information_schema TRIGGERS ACTION_STATEMENT information_schema VIEWS VIEW_DEFINITION +performance_schema events_statements_current SQL_TEXT +performance_schema events_statements_current DIGEST_TEXT +performance_schema events_statements_history SQL_TEXT +performance_schema events_statements_history DIGEST_TEXT +performance_schema events_statements_history_long SQL_TEXT +performance_schema events_statements_history_long DIGEST_TEXT +performance_schema events_statements_summary_by_digest DIGEST_TEXT +performance_schema threads PROCESSLIST_INFO select table_name, column_name, data_type from information_schema.columns where data_type = 'datetime' and table_name not like 'innodb_%'; table_name column_name data_type diff --git a/mysql-test/r/information_schema_all_engines.result b/mysql-test/r/information_schema_all_engines.result index ec9027fa32f..7ced16404a6 100644 --- a/mysql-test/r/information_schema_all_engines.result +++ b/mysql-test/r/information_schema_all_engines.result @@ -16,27 +16,21 @@ FILES GLOBAL_STATUS GLOBAL_VARIABLES INDEX_STATISTICS -INNODB_BUFFER_POOL_PAGES -INNODB_BUFFER_POOL_PAGES_BLOB -INNODB_BUFFER_POOL_PAGES_INDEX INNODB_CHANGED_PAGES INNODB_CMP INNODB_CMPMEM INNODB_CMPMEM_RESET +INNODB_CMP_PER_INDEX INNODB_CMP_RESET -INNODB_INDEX_STATS INNODB_LOCKS INNODB_LOCK_WAITS -INNODB_RSEG INNODB_SYS_COLUMNS INNODB_SYS_FIELDS INNODB_SYS_FOREIGN INNODB_SYS_FOREIGN_COLS INNODB_SYS_INDEXES -INNODB_SYS_STATS INNODB_SYS_TABLES INNODB_SYS_TABLESTATS -INNODB_TABLE_STATS INNODB_TRX KEY_CACHES KEY_COLUMN_USAGE @@ -61,7 +55,9 @@ TRIGGERS USER_PRIVILEGES USER_STATISTICS VIEWS -XTRADB_ADMIN_COMMAND +XTRADB_INTERNAL_HASH_TABLES +XTRADB_READ_VIEW +XTRADB_RSEG SELECT t.table_name, c1.column_name FROM information_schema.tables t INNER JOIN @@ -92,27 +88,21 @@ FILES TABLE_SCHEMA GLOBAL_STATUS VARIABLE_NAME GLOBAL_VARIABLES VARIABLE_NAME INDEX_STATISTICS TABLE_SCHEMA -INNODB_BUFFER_POOL_PAGES page_type -INNODB_BUFFER_POOL_PAGES_BLOB space_id -INNODB_BUFFER_POOL_PAGES_INDEX index_id INNODB_CHANGED_PAGES space_id INNODB_CMP page_size INNODB_CMPMEM page_size INNODB_CMPMEM_RESET page_size +INNODB_CMP_PER_INDEX database_name INNODB_CMP_RESET page_size -INNODB_INDEX_STATS table_schema INNODB_LOCKS lock_id INNODB_LOCK_WAITS requesting_trx_id -INNODB_RSEG rseg_id INNODB_SYS_COLUMNS TABLE_ID INNODB_SYS_FIELDS INDEX_ID INNODB_SYS_FOREIGN ID INNODB_SYS_FOREIGN_COLS ID INNODB_SYS_INDEXES INDEX_ID -INNODB_SYS_STATS INDEX_ID -INNODB_SYS_TABLES SCHEMA -INNODB_SYS_TABLESTATS SCHEMA -INNODB_TABLE_STATS table_schema +INNODB_SYS_TABLES TABLE_ID +INNODB_SYS_TABLESTATS TABLE_ID INNODB_TRX trx_id KEY_CACHES KEY_CACHE_NAME KEY_COLUMN_USAGE CONSTRAINT_SCHEMA @@ -137,7 +127,9 @@ TRIGGERS TRIGGER_SCHEMA USER_PRIVILEGES GRANTEE USER_STATISTICS USER VIEWS TABLE_SCHEMA -XTRADB_ADMIN_COMMAND result_message +XTRADB_INTERNAL_HASH_TABLES INTERNAL_HASH_TABLE_NAME +XTRADB_READ_VIEW READ_VIEW_UNDO_NUMBER +XTRADB_RSEG rseg_id SELECT t.table_name, c1.column_name FROM information_schema.tables t INNER JOIN @@ -168,27 +160,21 @@ FILES TABLE_SCHEMA GLOBAL_STATUS VARIABLE_NAME GLOBAL_VARIABLES VARIABLE_NAME INDEX_STATISTICS TABLE_SCHEMA -INNODB_BUFFER_POOL_PAGES page_type -INNODB_BUFFER_POOL_PAGES_BLOB space_id -INNODB_BUFFER_POOL_PAGES_INDEX index_id INNODB_CHANGED_PAGES space_id INNODB_CMP page_size INNODB_CMPMEM page_size INNODB_CMPMEM_RESET page_size +INNODB_CMP_PER_INDEX database_name INNODB_CMP_RESET page_size -INNODB_INDEX_STATS table_schema INNODB_LOCKS lock_id INNODB_LOCK_WAITS requesting_trx_id -INNODB_RSEG rseg_id INNODB_SYS_COLUMNS TABLE_ID INNODB_SYS_FIELDS INDEX_ID INNODB_SYS_FOREIGN ID INNODB_SYS_FOREIGN_COLS ID INNODB_SYS_INDEXES INDEX_ID -INNODB_SYS_STATS INDEX_ID -INNODB_SYS_TABLES SCHEMA -INNODB_SYS_TABLESTATS SCHEMA -INNODB_TABLE_STATS table_schema +INNODB_SYS_TABLES TABLE_ID +INNODB_SYS_TABLESTATS TABLE_ID INNODB_TRX trx_id KEY_CACHES KEY_CACHE_NAME KEY_COLUMN_USAGE CONSTRAINT_SCHEMA @@ -213,11 +199,13 @@ TRIGGERS TRIGGER_SCHEMA USER_PRIVILEGES GRANTEE USER_STATISTICS USER VIEWS TABLE_SCHEMA -XTRADB_ADMIN_COMMAND result_message -select 1 as f1 from information_schema.tables where "ALL_PLUGINS"= +XTRADB_INTERNAL_HASH_TABLES INTERNAL_HASH_TABLE_NAME +XTRADB_READ_VIEW READ_VIEW_UNDO_NUMBER +XTRADB_RSEG rseg_id +select 1 as "must be 1" from information_schema.tables where "ACCOUNTS"= (select cast(table_name as char) from information_schema.tables order by table_name limit 1) limit 1; -f1 +must be 1 1 select t.table_name, group_concat(t.table_schema, '.', t.table_name), count(*) as num1 @@ -249,27 +237,21 @@ FILES information_schema.FILES 1 GLOBAL_STATUS information_schema.GLOBAL_STATUS 1 GLOBAL_VARIABLES information_schema.GLOBAL_VARIABLES 1 INDEX_STATISTICS information_schema.INDEX_STATISTICS 1 -INNODB_BUFFER_POOL_PAGES information_schema.INNODB_BUFFER_POOL_PAGES 1 -INNODB_BUFFER_POOL_PAGES_BLOB information_schema.INNODB_BUFFER_POOL_PAGES_BLOB 1 -INNODB_BUFFER_POOL_PAGES_INDEX information_schema.INNODB_BUFFER_POOL_PAGES_INDEX 1 INNODB_CHANGED_PAGES information_schema.INNODB_CHANGED_PAGES 1 INNODB_CMP information_schema.INNODB_CMP 1 INNODB_CMPMEM information_schema.INNODB_CMPMEM 1 INNODB_CMPMEM_RESET information_schema.INNODB_CMPMEM_RESET 1 +INNODB_CMP_PER_INDEX information_schema.INNODB_CMP_PER_INDEX 1 INNODB_CMP_RESET information_schema.INNODB_CMP_RESET 1 -INNODB_INDEX_STATS information_schema.INNODB_INDEX_STATS 1 INNODB_LOCKS information_schema.INNODB_LOCKS 1 INNODB_LOCK_WAITS information_schema.INNODB_LOCK_WAITS 1 -INNODB_RSEG information_schema.INNODB_RSEG 1 INNODB_SYS_COLUMNS information_schema.INNODB_SYS_COLUMNS 1 INNODB_SYS_FIELDS information_schema.INNODB_SYS_FIELDS 1 INNODB_SYS_FOREIGN information_schema.INNODB_SYS_FOREIGN 1 INNODB_SYS_FOREIGN_COLS information_schema.INNODB_SYS_FOREIGN_COLS 1 INNODB_SYS_INDEXES information_schema.INNODB_SYS_INDEXES 1 -INNODB_SYS_STATS information_schema.INNODB_SYS_STATS 1 INNODB_SYS_TABLES information_schema.INNODB_SYS_TABLES 1 INNODB_SYS_TABLESTATS information_schema.INNODB_SYS_TABLESTATS 1 -INNODB_TABLE_STATS information_schema.INNODB_TABLE_STATS 1 INNODB_TRX information_schema.INNODB_TRX 1 KEY_CACHES information_schema.KEY_CACHES 1 KEY_COLUMN_USAGE information_schema.KEY_COLUMN_USAGE 1 @@ -294,6 +276,9 @@ TRIGGERS information_schema.TRIGGERS 1 USER_PRIVILEGES information_schema.USER_PRIVILEGES 1 USER_STATISTICS information_schema.USER_STATISTICS 1 VIEWS information_schema.VIEWS 1 +XTRADB_INTERNAL_HASH_TABLES information_schema.XTRADB_INTERNAL_HASH_TABLES 1 +XTRADB_READ_VIEW information_schema.XTRADB_READ_VIEW 1 +XTRADB_RSEG information_schema.XTRADB_RSEG 1 +---------------------------------------+ +---------------------------------------+ +---------------------------------------+ @@ -314,27 +299,21 @@ Database: information_schema | GLOBAL_STATUS | | GLOBAL_VARIABLES | | INDEX_STATISTICS | -| INNODB_BUFFER_POOL_PAGES | -| INNODB_BUFFER_POOL_PAGES_BLOB | -| INNODB_BUFFER_POOL_PAGES_INDEX | | INNODB_CHANGED_PAGES | | INNODB_CMP | | INNODB_CMPMEM | | INNODB_CMPMEM_RESET | +| INNODB_CMP_PER_INDEX | | INNODB_CMP_RESET | -| INNODB_INDEX_STATS | | INNODB_LOCKS | | INNODB_LOCK_WAITS | -| INNODB_RSEG | | INNODB_SYS_COLUMNS | | INNODB_SYS_FIELDS | | INNODB_SYS_FOREIGN | | INNODB_SYS_FOREIGN_COLS | | INNODB_SYS_INDEXES | -| INNODB_SYS_STATS | | INNODB_SYS_TABLES | | INNODB_SYS_TABLESTATS | -| INNODB_TABLE_STATS | | INNODB_TRX | | KEY_CACHES | | KEY_COLUMN_USAGE | @@ -359,7 +338,9 @@ Database: information_schema | USER_PRIVILEGES | | USER_STATISTICS | | VIEWS | -| XTRADB_ADMIN_COMMAND | +| XTRADB_INTERNAL_HASH_TABLES | +| XTRADB_READ_VIEW | +| XTRADB_RSEG | +---------------------------------------+ +---------------------------------------+ +---------------------------------------+ @@ -380,27 +361,21 @@ Database: INFORMATION_SCHEMA | GLOBAL_STATUS | | GLOBAL_VARIABLES | | INDEX_STATISTICS | -| INNODB_BUFFER_POOL_PAGES | -| INNODB_BUFFER_POOL_PAGES_BLOB | -| INNODB_BUFFER_POOL_PAGES_INDEX | | INNODB_CHANGED_PAGES | | INNODB_CMP | | INNODB_CMPMEM | | INNODB_CMPMEM_RESET | +| INNODB_CMP_PER_INDEX | | INNODB_CMP_RESET | -| INNODB_INDEX_STATS | | INNODB_LOCKS | | INNODB_LOCK_WAITS | -| INNODB_RSEG | | INNODB_SYS_COLUMNS | | INNODB_SYS_FIELDS | | INNODB_SYS_FOREIGN | | INNODB_SYS_FOREIGN_COLS | | INNODB_SYS_INDEXES | -| INNODB_SYS_STATS | | INNODB_SYS_TABLES | | INNODB_SYS_TABLESTATS | -| INNODB_TABLE_STATS | | INNODB_TRX | | KEY_CACHES | | KEY_COLUMN_USAGE | @@ -425,7 +400,9 @@ Database: INFORMATION_SCHEMA | USER_PRIVILEGES | | USER_STATISTICS | | VIEWS | -| XTRADB_ADMIN_COMMAND | +| XTRADB_INTERNAL_HASH_TABLES | +| XTRADB_READ_VIEW | +| XTRADB_RSEG | +--------------------+ +--------------------+ +--------------------+ @@ -434,5 +411,5 @@ Wildcard: inf_rmation_schema | information_schema | SELECT table_schema, count(*) FROM information_schema.TABLES WHERE table_schema IN ('mysql', 'INFORMATION_SCHEMA', 'test', 'mysqltest') AND table_name<>'ndb_binlog_index' AND table_name<>'ndb_apply_status' GROUP BY TABLE_SCHEMA; table_schema count(*) -information_schema 61 -mysql 28 +information_schema 57 +mysql 30 diff --git a/mysql-test/r/innodb_bug878769,innodb_plugin.rdiff b/mysql-test/r/innodb_bug878769,innodb_plugin.rdiff deleted file mode 100644 index 0a8ea2d8c67..00000000000 --- a/mysql-test/r/innodb_bug878769,innodb_plugin.rdiff +++ /dev/null @@ -1,11 +0,0 @@ ---- r/innodb_bug878769.result 2011-11-22 18:50:25.000000000 +0100 -+++ r/innodb_bug878769.reject 2012-02-07 12:45:07.000000000 +0100 -@@ -39,7 +39,7 @@ - GROUP BY 1,2; - id select_type table type possible_keys key key_len ref rows Extra - 1 SIMPLE t2 index col_int_key col_int_key 5 NULL 12 Using where; Using index; Using temporary; Using filesort --1 SIMPLE t1 ref col_int_key col_int_key 5 test.t2.col_int_key 1 Using join buffer (flat, BKA join); Key-ordered Rowid-ordered scan -+1 SIMPLE t1 ref col_int_key col_int_key 5 test.t2.col_int_key 1 - SELECT t1.col_time_key, t1.col_varchar_key - FROM t2 STRAIGHT_JOIN t1 ON t1.col_int_key = t2.col_int_key - GROUP BY 1,2; diff --git a/mysql-test/r/innodb_icp,innodb_plugin.rdiff b/mysql-test/r/innodb_icp,innodb_plugin.rdiff deleted file mode 100644 index 3cb85b79ece..00000000000 --- a/mysql-test/r/innodb_icp,innodb_plugin.rdiff +++ /dev/null @@ -1,58 +0,0 @@ ---- r/innodb_icp.result 2013-07-16 17:01:00.000000000 +0400 -+++ r/innodb_icp,innodb_plugin.reject 2013-07-16 17:16:53.000000000 +0400 -@@ -213,7 +213,7 @@ - EXPLAIN - SELECT c1 FROM t3 WHERE c1 >= 'c-1004=w' and c1 <= 'c-1006=w' and i1 > 2; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE t3 range c1 c1 12 NULL 2 Using index condition; Using where -+1 SIMPLE t3 range c1 c1 12 NULL 2 Using where - SELECT c1 FROM t3 WHERE c1 >= 'c-1004=w' and c1 <= 'c-1006=w' and i1 > 2; - c1 - EXPLAIN -@@ -637,7 +637,7 @@ - WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania' - ORDER BY a; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE t1 range b b 13 NULL 2 Using where; Rowid-ordered scan; Using filesort -+1 SIMPLE t1 range b b 13 NULL 2 Using where; Using filesort - SELECT * FROM t1 - WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania' - ORDER BY a; -@@ -649,7 +649,7 @@ - WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania' - ORDER BY a; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE t1 range b b 13 NULL 2 Using index condition; Using where; Rowid-ordered scan; Using filesort -+1 SIMPLE t1 range b b 13 NULL 2 Using where; Using filesort - SELECT * FROM t1 - WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania' - ORDER BY a; -@@ -825,15 +825,15 @@ - 4 4 - show status like "Handler_icp%"; - Variable_name Value --Handler_icp_attempts 2 --Handler_icp_match 1 -+Handler_icp_attempts 0 -+Handler_icp_match 0 - SELECT * FROM t1 WHERE (c2='3' or c2='4') and c2 % 2 = 0 ; - c1 c2 - 4 4 - show status like "Handler_icp%"; - Variable_name Value --Handler_icp_attempts 2 --Handler_icp_match 1 -+Handler_icp_attempts 0 -+Handler_icp_match 0 - DROP TABLE t1; - create table t1 (a int,b char(5),primary key (a), key (b(1))); - insert into t1 values ('a','b'); -@@ -868,7 +868,7 @@ - EXPLAIN - SELECT * FROM t1 FORCE INDEX(idx1) WHERE (c1='aa' AND c2='x') OR (c1='a' AND c2='y'); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE t1 range idx1 idx1 10 NULL 2 Using index condition; Using where -+1 SIMPLE t1 range idx1 idx1 10 NULL 2 Using where - SELECT * FROM t1 FORCE INDEX(idx1) WHERE (c1='aa' AND c2='x') OR (c1='a' AND c2='y'); - c1 c2 - aa x diff --git a/mysql-test/r/innodb_mrr_cpk,innodb_plugin.rdiff b/mysql-test/r/innodb_mrr_cpk,innodb_plugin.rdiff deleted file mode 100644 index ab64fc153cc..00000000000 --- a/mysql-test/r/innodb_mrr_cpk,innodb_plugin.rdiff +++ /dev/null @@ -1,111 +0,0 @@ ---- r/innodb_mrr_cpk.result 2012-02-23 15:57:49.000000000 +0100 -+++ r/innodb_mrr_cpk,innodb_plugin.reject 2012-02-23 19:44:57.000000000 +0100 -@@ -27,13 +27,13 @@ - explain select * from t1, t2 where t1.a=t2.a; - id select_type table type possible_keys key key_len ref rows Extra - 1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where --1 SIMPLE t1 eq_ref PRIMARY PRIMARY 8 test.t2.a 1 Using join buffer (flat, BKA join); Key-ordered scan -+1 SIMPLE t1 eq_ref PRIMARY PRIMARY 8 test.t2.a 1 - This output must be sorted by value of t1.a: - select * from t1, t2 where t1.a=t2.a; - a b filler a - a-1010=A b-1010=B filler a-1010=A --a-1020=A b-1020=B filler a-1020=A - a-1030=A b-1030=B filler a-1030=A -+a-1020=A b-1020=B filler a-1020=A - drop table t1, t2; - create table t1( - a char(8) character set utf8, b int, filler char(100), -@@ -49,24 +49,24 @@ - explain select * from t1, t2 where t1.a=t2.a and t1.b=t2.b; - id select_type table type possible_keys key key_len ref rows Extra - 1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where --1 SIMPLE t1 eq_ref PRIMARY PRIMARY 28 test.t2.a,test.t2.b 1 Using join buffer (flat, BKA join); Key-ordered scan -+1 SIMPLE t1 eq_ref PRIMARY PRIMARY 28 test.t2.a,test.t2.b 1 - select * from t1, t2 where t1.a=t2.a and t1.b=t2.b; - a b filler a b - a-1010=A 1010 filler a-1010=A 1010 --a-1020=A 1020 filler a-1020=A 1020 - a-1030=A 1030 filler a-1030=A 1030 -+a-1020=A 1020 filler a-1020=A 1020 - insert into t2 values ('a-1030=A', 1030), ('a-1020=A', 1020); - explain select * from t1, t2 where t1.a=t2.a and t1.b=t2.b; - id select_type table type possible_keys key key_len ref rows Extra - 1 SIMPLE t2 ALL NULL NULL NULL NULL 5 Using where --1 SIMPLE t1 eq_ref PRIMARY PRIMARY 28 test.t2.a,test.t2.b 1 Using join buffer (flat, BKA join); Key-ordered scan -+1 SIMPLE t1 eq_ref PRIMARY PRIMARY 28 test.t2.a,test.t2.b 1 - select * from t1, t2 where t1.a=t2.a and t1.b=t2.b; - a b filler a b - a-1010=A 1010 filler a-1010=A 1010 --a-1020=A 1020 filler a-1020=A 1020 --a-1020=A 1020 filler a-1020=A 1020 - a-1030=A 1030 filler a-1030=A 1030 -+a-1020=A 1020 filler a-1020=A 1020 - a-1030=A 1030 filler a-1030=A 1030 -+a-1020=A 1020 filler a-1020=A 1020 - drop table t1, t2; - create table t1( - a varchar(8) character set utf8, b int, filler char(100), -@@ -82,21 +82,21 @@ - explain select * from t1, t2 where t1.a=t2.a and t1.b=t2.b; - id select_type table type possible_keys key key_len ref rows Extra - 1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where --1 SIMPLE t1 eq_ref PRIMARY PRIMARY 30 test.t2.a,test.t2.b 1 Using where; Using join buffer (flat, BKA join); Key-ordered scan -+1 SIMPLE t1 eq_ref PRIMARY PRIMARY 30 test.t2.a,test.t2.b 1 Using where - select * from t1, t2 where t1.a=t2.a and t1.b=t2.b; - a b filler a b - a-1010=A 1010 filler a-1010=A 1010 --a-1020=A 1020 filler a-1020=A 1020 - a-1030=A 1030 filler a-1030=A 1030 -+a-1020=A 1020 filler a-1020=A 1020 - explain select * from t1, t2 where t1.a=t2.a; - id select_type table type possible_keys key key_len ref rows Extra - 1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where --1 SIMPLE t1 ref PRIMARY PRIMARY 26 test.t2.a 1 Using where; Using join buffer (flat, BKA join); Key-ordered scan -+1 SIMPLE t1 ref PRIMARY PRIMARY 26 test.t2.a 1 Using where - select * from t1, t2 where t1.a=t2.a; - a b filler a b - a-1010=A 1010 filler a-1010=A 1010 --a-1020=A 1020 filler a-1020=A 1020 - a-1030=A 1030 filler a-1030=A 1030 -+a-1020=A 1020 filler a-1020=A 1020 - drop table t1, t2; - create table t1 (a int, b int, c int, filler char(100), primary key(a,b,c)); - insert into t1 select A.a, B.a, C.a, 'filler' from t0 A, t0 B, t0 C; -@@ -111,15 +111,15 @@ - explain select * from t1, t2 where t1.a=t2.a and t1.b=t2.b; - id select_type table type possible_keys key key_len ref rows Extra - 1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where --1 SIMPLE t1 ref PRIMARY PRIMARY 8 test.t2.a,test.t2.b 1 Using join buffer (flat, BKA join); Key-ordered scan -+1 SIMPLE t1 ref PRIMARY PRIMARY 8 test.t2.a,test.t2.b 1 - select * from t1, t2 where t1.a=t2.a and t1.b=t2.b; - a b c filler a b -+11 33 124 filler 11 33 -+11 33 125 filler 11 33 -+11 22 1234 filler 11 22 - 11 11 11 filler 11 11 - 11 11 12 filler 11 11 - 11 11 13 filler 11 11 --11 22 1234 filler 11 22 --11 33 124 filler 11 33 --11 33 125 filler 11 33 - set join_cache_level=0; - select * from t1, t2 where t1.a=t2.a and t1.b=t2.b; - a b c filler a b -@@ -133,14 +133,14 @@ - explain select * from t1, t2 where t1.a=t2.a and t2.b + t1.b > 100; - id select_type table type possible_keys key key_len ref rows Extra - 1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where --1 SIMPLE t1 ref PRIMARY PRIMARY 4 test.t2.a 1 Using where; Using join buffer (flat, BKA join); Key-ordered scan -+1 SIMPLE t1 ref PRIMARY PRIMARY 4 test.t2.a 1 Using where - select * from t1, t2 where t1.a=t2.a and t2.b + t1.b > 100; - a b c filler a b - set optimizer_switch='index_condition_pushdown=off'; - explain select * from t1, t2 where t1.a=t2.a and t2.b + t1.b > 100; - id select_type table type possible_keys key key_len ref rows Extra - 1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where --1 SIMPLE t1 ref PRIMARY PRIMARY 4 test.t2.a 1 Using where; Using join buffer (flat, BKA join); Key-ordered scan -+1 SIMPLE t1 ref PRIMARY PRIMARY 4 test.t2.a 1 Using where - select * from t1, t2 where t1.a=t2.a and t2.b + t1.b > 100; - a b c filler a b - set optimizer_switch='index_condition_pushdown=on'; diff --git a/mysql-test/r/range_vs_index_merge_innodb,innodb_plugin.rdiff b/mysql-test/r/range_vs_index_merge_innodb,innodb_plugin.rdiff deleted file mode 100644 index ecae2c809c1..00000000000 --- a/mysql-test/r/range_vs_index_merge_innodb,innodb_plugin.rdiff +++ /dev/null @@ -1,280 +0,0 @@ ---- ./r/range_vs_index_merge_innodb.result 2012-11-21 19:35:14.000000000 +0100 -+++ ./r/range_vs_index_merge_innodb,innodb_plugin.reject 2012-11-21 20:56:00.000000000 +0100 -@@ -50,14 +50,14 @@ - WHERE (Population >= 100000 OR Name LIKE 'P%') AND Country='CAN' OR - (Population < 100000 OR Name Like 'T%') AND Country='ARG'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Population,Country,Name Country 3 NULL 106 Using index condition; Using where -+1 SIMPLE City range Population,Country,Name Country 3 NULL 106 Using where - EXPLAIN - SELECT * FROM City - WHERE Population < 200000 AND Name LIKE 'P%' AND - (Population > 300000 OR Name LIKE 'T%') AND - (Population < 100000 OR Name LIKE 'Pa%'); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Population,Name Name 35 NULL 235 Using index condition; Using where -+1 SIMPLE City range Population,Name Name 35 NULL 235 Using where - EXPLAIN - SELECT * FROM City - WHERE Population > 100000 AND Name LIKE 'Aba%' OR -@@ -70,12 +70,12 @@ - SELECT * FROM City - WHERE (Population > 101000 AND Population < 115000); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Population Population 4 NULL 458 Using index condition -+1 SIMPLE City range Population Population 4 NULL 458 Using where - EXPLAIN - SELECT * FROM City - WHERE (Population > 101000 AND Population < 102000); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Population Population 4 NULL 38 Using index condition -+1 SIMPLE City range Population Population 4 NULL 38 Using where - EXPLAIN - SELECT * FROM City - WHERE ((Name > 'Ca' AND Name < 'Cf') OR (Country > 'E' AND Country < 'F')); -@@ -92,7 +92,7 @@ - WHERE ((Name > 'Ca' AND Name < 'Cf') OR (Country > 'E' AND Country < 'F')) - AND (Population > 101000 AND Population < 102000); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Population,Country,Name Population 4 NULL 38 Using index condition; Using where -+1 SIMPLE City range Population,Country,Name Population 4 NULL 38 Using where - SELECT * FROM City USE INDEX () - WHERE ((Name > 'Ca' AND Name < 'Cf') OR (Country > 'E' AND Country < 'F')) - AND (Population > 101000 AND Population < 115000); -@@ -172,37 +172,37 @@ - EXPLAIN - SELECT * FROM City WHERE (Name < 'Ac'); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Name Name 35 NULL 23 Using index condition -+1 SIMPLE City range Name Name 35 NULL 23 Using where - EXPLAIN - SELECT * FROM City WHERE (Name < 'Bb'); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Name Name 35 NULL 373 Using index condition -+1 SIMPLE City range Name Name 35 NULL 373 Using where - EXPLAIN - SELECT * FROM City WHERE (Country > 'A' AND Country < 'B'); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Country Country 3 NULL 106 Using index condition -+1 SIMPLE City range Country Country 3 NULL 106 Using where - EXPLAIN - SELECT * FROM City WHERE (Name BETWEEN 'P' AND 'Pb'); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Name Name 35 NULL 71 Using index condition -+1 SIMPLE City range Name Name 35 NULL 71 Using where - EXPLAIN - SELECT * FROM City WHERE (Name BETWEEN 'P' AND 'S'); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Name Name 35 NULL 384 Using index condition -+1 SIMPLE City range Name Name 35 NULL 384 Using where - EXPLAIN - SELECT * FROM City WHERE (Population > 101000 AND Population < 110000); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Population Population 4 NULL 327 Using index condition -+1 SIMPLE City range Population Population 4 NULL 327 Using where - EXPLAIN - SELECT * FROM City WHERE (Population > 103000 AND Population < 104000); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Population Population 4 NULL 36 Using index condition -+1 SIMPLE City range Population Population 4 NULL 36 Using where - EXPLAIN - SELECT * FROM City - WHERE (Name < 'Ac' AND (Country > 'A' AND Country < 'B')) OR - (Name BETWEEN 'P' AND 'Pb' AND (Population > 101000 AND Population < 110000)); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Population,Country,Name Name 35 NULL 94 Using index condition; Using where -+1 SIMPLE City range Population,Country,Name Name 35 NULL 94 Using where - EXPLAIN - SELECT * FROM City - WHERE (Name < 'Ac' AND (Country > 'A' AND Country < 'B')) OR -@@ -340,15 +340,15 @@ - EXPLAIN - SELECT * FROM City WHERE Country > 'A' AND Country < 'ARG'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Country Country 3 NULL 19 Using index condition -+1 SIMPLE City range Country Country 3 NULL 19 Using where - EXPLAIN - SELECT * FROM City WHERE Name LIKE 'H%' OR Name LIKE 'P%' ; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Name Name 35 NULL 394 Using index condition; Using where -+1 SIMPLE City range Name Name 35 NULL 394 Using where - EXPLAIN - SELECT * FROM City WHERE Name LIKE 'Ha%' OR Name LIKE 'Pa%' ; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Name Name 35 NULL 133 Using index condition; Using where -+1 SIMPLE City range Name Name 35 NULL 133 Using where - EXPLAIN - SELECT * FROM City - WHERE ((ID < 10) AND (Name LIKE 'H%' OR (Country > 'A' AND Country < 'ARG'))) -@@ -577,27 +577,27 @@ - EXPLAIN - SELECT * FROM City WHERE Population > 101000 AND Population < 102000; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Population Population 4 NULL 38 Using index condition -+1 SIMPLE City range Population Population 4 NULL 38 Using where - EXPLAIN - SELECT * FROM City WHERE Population > 101000 AND Population < 110000; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Population Population 4 NULL 327 Using index condition -+1 SIMPLE City range Population Population 4 NULL 327 Using where - EXPLAIN - SELECT * FROM City WHERE Country < 'C'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Country Country 3 NULL 446 Using index condition -+1 SIMPLE City range Country Country 3 NULL 446 Using where - EXPLAIN - SELECT * FROM City WHERE Country < 'AGO'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Country Country 3 NULL 5 Using index condition -+1 SIMPLE City range Country Country 3 NULL 5 Using where - EXPLAIN - SELECT * FROM City WHERE Name BETWEEN 'P' AND 'S'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Name Name 35 NULL 384 Using index condition -+1 SIMPLE City range Name Name 35 NULL 384 Using where - EXPLAIN - SELECT * FROM City WHERE Name BETWEEN 'P' AND 'Pb'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Name Name 35 NULL 71 Using index condition -+1 SIMPLE City range Name Name 35 NULL 71 Using where - EXPLAIN - SELECT * FROM City WHERE ID BETWEEN 3400 AND 3800; - id select_type table type possible_keys key key_len ref rows Extra -@@ -609,7 +609,7 @@ - EXPLAIN - SELECT * FROM City WHERE Name LIKE 'P%'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Name Name 35 NULL 235 Using index condition -+1 SIMPLE City range Name Name 35 NULL 235 Using where - EXPLAIN - SELECT * FROM City - WHERE ((Population > 101000 AND Population < 102000) AND -@@ -680,23 +680,23 @@ - EXPLAIN - SELECT * FROM City WHERE Name LIKE 'Pas%'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Name Name 35 NULL 8 Using index condition -+1 SIMPLE City range Name Name 35 NULL 8 Using where - EXPLAIN - SELECT * FROM City WHERE Name LIKE 'P%'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Name Name 35 NULL 235 Using index condition -+1 SIMPLE City range Name Name 35 NULL 235 Using where - EXPLAIN - SELECT * FROM City WHERE (Population > 101000 AND Population < 103000); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Population Population 4 NULL 80 Using index condition -+1 SIMPLE City range Population Population 4 NULL 80 Using where - EXPLAIN - SELECT * FROM City WHERE Country='USA'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City ref Country,CountryPopulation Country 3 const 274 Using index condition -+1 SIMPLE City ref Country,CountryPopulation Country 3 const 274 Using where - EXPLAIN - SELECT * FROM City WHERE Country='FIN'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City ref Country,CountryPopulation Country 3 const 7 Using index condition -+1 SIMPLE City ref Country,CountryPopulation Country 3 const 7 Using where - EXPLAIN - SELECT * FROM City - WHERE ((Population > 101000 AND Population < 103000) OR Name LIKE 'Pas%') -@@ -708,7 +708,7 @@ - WHERE ((Population > 101000 AND Population < 103000) OR Name LIKE 'P%') - AND Country='FIN'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City ref Population,Country,Name,CountryPopulation Country 3 const 7 Using index condition; Using where -+1 SIMPLE City ref Population,Country,Name,CountryPopulation Country 3 const 7 Using where - SELECT * FROM City - WHERE ((Population > 101000 AND Population < 103000) OR Name LIKE 'Pas%') - AND Country='USA'; -@@ -753,15 +753,15 @@ - EXPLAIN - SELECT * FROM City WHERE Country='USA'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City ref Country,CountryPopulation,CountryName Country 3 const 274 Using index condition -+1 SIMPLE City ref Country,CountryPopulation,CountryName Country 3 const 274 Using where - EXPLAIN - SELECT * FROM City WHERE Country='FIN'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City ref Country,CountryPopulation,CountryName Country 3 const 7 Using index condition -+1 SIMPLE City ref Country,CountryPopulation,CountryName Country 3 const 7 Using where - EXPLAIN - SELECT * FROM City WHERE Country='BRA'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City ref Country,CountryPopulation,CountryName Country 3 const 250 Using index condition -+1 SIMPLE City ref Country,CountryPopulation,CountryName Country 3 const 250 Using where - EXPLAIN - SELECT * FROM City WHERE ID BETWEEN 3790 AND 3800; - id select_type table type possible_keys key key_len ref rows Extra -@@ -789,15 +789,15 @@ - EXPLAIN - SELECT * FROM City WHERE (Population > 101000 AND Population < 102000); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Population Population 4 NULL 38 Using index condition -+1 SIMPLE City range Population Population 4 NULL 38 Using where - EXPLAIN - SELECT * FROM City WHERE (Population > 101000 AND Population < 103000); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Population Population 4 NULL 80 Using index condition -+1 SIMPLE City range Population Population 4 NULL 80 Using where - EXPLAIN - SELECT * FROM City WHERE Name LIKE 'Pa%'; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Name Name 35 NULL 71 Using index condition -+1 SIMPLE City range Name Name 35 NULL 71 Using where - EXPLAIN - SELECT * FROM City - WHERE ((Population > 101000 AND Population < 102000) OR -@@ -818,7 +818,7 @@ - ID BETWEEN 3500 AND 3800) AND Country='FIN' - AND (Name BETWEEN 'P' AND 'T' OR ID BETWEEN 4000 AND 4300); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City ref PRIMARY,Population,Country,Name,CountryPopulation,CountryName Country 3 const 7 Using index condition; Using where -+1 SIMPLE City ref PRIMARY,Population,Country,Name,CountryPopulation,CountryName Country 3 const 7 Using where - SELECT * FROM City USE INDEX () - WHERE ((Population > 101000 AND Population < 102000) OR - ID BETWEEN 3790 AND 3800) AND Country='USA' -@@ -950,14 +950,14 @@ - ID BETWEEN 3500 AND 3800) AND Country='USA' - AND (Name LIKE 'P%' OR ID BETWEEN 4000 AND 4300); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range PRIMARY,Population,Country,Name,CountryPopulation,CountryName CountryName 38 NULL 18 Using index condition; Using where -+1 SIMPLE City range PRIMARY,Population,Country,Name,CountryPopulation,CountryName CountryName 38 NULL 18 Using where - EXPLAIN - SELECT * FROM City - WHERE ((Population > 101000 AND Population < 11000) OR - ID BETWEEN 3500 AND 3800) AND Country='USA' - AND (Name LIKE 'Pho%' OR ID BETWEEN 4000 AND 4300); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range PRIMARY,Population,Country,Name,CountryPopulation,CountryName Name 35 NULL 1 Using index condition; Using where -+1 SIMPLE City range PRIMARY,Population,Country,Name,CountryPopulation,CountryName Name 35 NULL 1 Using where - SELECT * FROM City USE INDEX () - WHERE ((Population > 101000 AND Population < 11000) OR - ID BETWEEN 3500 AND 3800) AND Country='USA' -@@ -1077,7 +1077,7 @@ - (Name='Samara' AND Country='RUS') OR - (Name='Seattle' AND Country='USA'); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Country,CountryPopulation,CountryName,CityName CountryName 38 NULL 27 Using index condition; Using where -+1 SIMPLE City range Country,CountryPopulation,CountryName,CityName CountryName 38 NULL 27 Using where - SELECT Name, Country, Population FROM City WHERE - (Name='Manila' AND Country='PHL') OR - (Name='Addis Abeba' AND Country='ETH') OR -@@ -1164,7 +1164,7 @@ - (Name='Samara' AND Country='RUS') OR - (Name='Seattle' AND Country='USA'); - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Country,CountryPopulation,CountryName,CityName CountryName 38 NULL 27 Using index condition; Using where -+1 SIMPLE City range Country,CountryPopulation,CountryName,CityName CountryName 38 NULL 27 Using where - SELECT Name, Country, Population FROM City WHERE - (Name='Manila' AND Country='PHL') OR - (Name='Addis Abeba' AND Country='ETH') OR -@@ -1346,7 +1346,7 @@ - AND (Population >= 100000 AND Population < 120000) - ORDER BY Population LIMIT 5; - id select_type table type possible_keys key key_len ref rows Extra --1 SIMPLE City range Country,Name,Population Population 4 NULL # Using index condition; Using where -+1 SIMPLE City range Country,Name,Population Population 4 NULL # Using where - FLUSH STATUS; - SELECT * FROM City - WHERE ((Name > 'Ca' AND Name < 'Cf') OR (Country > 'E' AND Country < 'H')) diff --git a/mysql-test/r/subselect_sj2_jcl6,innodb_plugin.rdiff b/mysql-test/r/subselect_sj2_jcl6,innodb_plugin.rdiff deleted file mode 100644 index c32f52fe0c2..00000000000 --- a/mysql-test/r/subselect_sj2_jcl6,innodb_plugin.rdiff +++ /dev/null @@ -1,11 +0,0 @@ ---- r/subselect_sj2_jcl6.result 2012-04-07 12:45:03.000000000 +0200 -+++ r/subselect_sj2_jcl6,innodb_plugin.reject 2012-04-07 13:10:38.000000000 +0200 -@@ -1009,7 +1009,7 @@ - 1 PRIMARY t2 ALL a NULL NULL NULL 38 - 1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 8 func,func 1 - 2 MATERIALIZED alias1 ALL a NULL NULL NULL 19 Using where --2 MATERIALIZED alias2 ref a a 4 test.alias1.a 1 Using where; Using join buffer (flat, BKA join); Key-ordered Rowid-ordered scan -+2 MATERIALIZED alias2 ref a a 4 test.alias1.a 1 Using where - SELECT * FROM t2 - WHERE (a, a) IN (SELECT alias2.b, alias2.a FROM t1 AS alias1, t1 AS alias2 - WHERE diff --git a/mysql-test/suite/funcs_1/r/is_columns_is.result b/mysql-test/suite/funcs_1/r/is_columns_is.result index 0fb2b8988df..6d79be772cb 100644 --- a/mysql-test/suite/funcs_1/r/is_columns_is.result +++ b/mysql-test/suite/funcs_1/r/is_columns_is.result @@ -429,7 +429,20 @@ def information_schema VIEWS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL NULL def information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select -def information_schema XTRADB_ADMIN_COMMAND result_message 1 NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select +def information_schema XTRADB_INTERNAL_HASH_TABLES CONSTANT_MEMORY 3 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select +def information_schema XTRADB_INTERNAL_HASH_TABLES INTERNAL_HASH_TABLE_NAME 1 NO varchar 100 300 NULL NULL NULL utf8 utf8_general_ci varchar(100) select +def information_schema XTRADB_INTERNAL_HASH_TABLES TOTAL_MEMORY 2 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select +def information_schema XTRADB_INTERNAL_HASH_TABLES VARIABLE_MEMORY 4 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select +def information_schema XTRADB_READ_VIEW READ_VIEW_LOW_LIMIT_TRX_ID 4 NO varchar 18 54 NULL NULL NULL utf8 utf8_general_ci varchar(18) select +def information_schema XTRADB_READ_VIEW READ_VIEW_LOW_LIMIT_TRX_NUMBER 2 NO varchar 18 54 NULL NULL NULL utf8 utf8_general_ci varchar(18) select +def information_schema XTRADB_READ_VIEW READ_VIEW_UNDO_NUMBER 1 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select +def information_schema XTRADB_READ_VIEW READ_VIEW_UPPER_LIMIT_TRX_ID 3 NO varchar 18 54 NULL NULL NULL utf8 utf8_general_ci varchar(18) select +def information_schema XTRADB_RSEG curr_size 6 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select +def information_schema XTRADB_RSEG max_size 5 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select +def information_schema XTRADB_RSEG page_no 4 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select +def information_schema XTRADB_RSEG rseg_id 1 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select +def information_schema XTRADB_RSEG space_id 2 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select +def information_schema XTRADB_RSEG zip_size 3 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select ########################################################################## # Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH ########################################################################## @@ -917,4 +930,17 @@ NULL information_schema USER_STATISTICS EMPTY_QUERIES bigint NULL NULL NULL NULL 3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7) 3.0000 information_schema VIEWS CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32) 3.0000 information_schema VIEWS COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32) -3.0000 information_schema XTRADB_ADMIN_COMMAND result_message varchar 1024 3072 utf8 utf8_general_ci varchar(1024) +3.0000 information_schema XTRADB_INTERNAL_HASH_TABLES INTERNAL_HASH_TABLE_NAME varchar 100 300 utf8 utf8_general_ci varchar(100) +NULL information_schema XTRADB_INTERNAL_HASH_TABLES TOTAL_MEMORY bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema XTRADB_INTERNAL_HASH_TABLES CONSTANT_MEMORY bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema XTRADB_INTERNAL_HASH_TABLES VARIABLE_MEMORY bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema XTRADB_READ_VIEW READ_VIEW_UNDO_NUMBER bigint NULL NULL NULL NULL bigint(21) unsigned +3.0000 information_schema XTRADB_READ_VIEW READ_VIEW_LOW_LIMIT_TRX_NUMBER varchar 18 54 utf8 utf8_general_ci varchar(18) +3.0000 information_schema XTRADB_READ_VIEW READ_VIEW_UPPER_LIMIT_TRX_ID varchar 18 54 utf8 utf8_general_ci varchar(18) +3.0000 information_schema XTRADB_READ_VIEW READ_VIEW_LOW_LIMIT_TRX_ID varchar 18 54 utf8 utf8_general_ci varchar(18) +NULL information_schema XTRADB_RSEG rseg_id bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema XTRADB_RSEG space_id bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema XTRADB_RSEG zip_size bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema XTRADB_RSEG page_no bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema XTRADB_RSEG max_size bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema XTRADB_RSEG curr_size bigint NULL NULL NULL NULL bigint(21) unsigned diff --git a/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result b/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result index 76b7571fb7d..f46f1c0ce62 100644 --- a/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result +++ b/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result @@ -429,7 +429,6 @@ def information_schema VIEWS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL NULL def information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) def information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) def information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext -def information_schema XTRADB_ADMIN_COMMAND result_message 1 NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) ########################################################################## # Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH ########################################################################## @@ -917,4 +916,3 @@ NULL information_schema USER_STATISTICS EMPTY_QUERIES bigint NULL NULL NULL NULL 3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7) 3.0000 information_schema VIEWS CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32) 3.0000 information_schema VIEWS COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32) -3.0000 information_schema XTRADB_ADMIN_COMMAND result_message varchar 1024 3072 utf8 utf8_general_ci varchar(1024) diff --git a/mysql-test/suite/funcs_1/t/is_engines_innodb.test b/mysql-test/suite/funcs_1/t/is_engines_innodb.test index 44c7d7652d7..b78cb647514 100644 --- a/mysql-test/suite/funcs_1/t/is_engines_innodb.test +++ b/mysql-test/suite/funcs_1/t/is_engines_innodb.test @@ -11,6 +11,6 @@ let $engine_type= InnoDB; --source include/have_innodb.inc --vertical_results ---replace_regex /XtraDB engine based on InnoDB plugin. // +--replace_regex /Percona-XtraDB, // eval SELECT * FROM information_schema.engines WHERE ENGINE = '$engine_type'; diff --git a/mysql-test/suite/innodb/r/innodb-autoinc-44030.result b/mysql-test/suite/innodb/r/innodb-autoinc-44030.result index 93e6ede30f2..cf3ca93db27 100644 --- a/mysql-test/suite/innodb/r/innodb-autoinc-44030.result +++ b/mysql-test/suite/innodb/r/innodb-autoinc-44030.result @@ -1,4 +1,3 @@ -drop table if exists t1; SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1; CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB; INSERT INTO t1 VALUES (null); @@ -14,14 +13,15 @@ d1 2 INSERT INTO t1 VALUES(null); ALTER TABLE t1 AUTO_INCREMENT = 3; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `d1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`d1`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 INSERT INTO t1 VALUES(null); -ERROR 23000: Duplicate entry '3' for key 'PRIMARY' INSERT INTO t1 VALUES(null); SELECT * FROM t1; d1 @@ -29,4 +29,5 @@ d1 2 3 4 +5 DROP TABLE t1; diff --git a/mysql-test/suite/innodb/r/innodb-index.result b/mysql-test/suite/innodb/r/innodb-index.result index d3c12ee2828..996bc45f7e2 100644 --- a/mysql-test/suite/innodb/r/innodb-index.result +++ b/mysql-test/suite/innodb/r/innodb-index.result @@ -967,12 +967,8 @@ ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca FOREIGN KEY (c3,c2) REFERENCES t1(c1,c2); ERROR HY000: Failed to add the foreign key constaint. Missing index for constraint 'fk_t2_ca' in the referenced table 't1' ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca -FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1); -affected rows: 0 -info: Records: 0 Duplicates: 0 Warnings: 0 -ALTER TABLE t2 DROP FOREIGN KEY fk_t2_ca; -affected rows: 0 -info: Records: 0 Duplicates: 0 Warnings: 0 +FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1), ALGORITHM=INPLACE; +ERROR HY000: Failed to add the foreign key constraint on table 't2'. Incorrect options in FOREIGN KEY constraint 'test/fk_t2_ca' ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1), ALGORITHM=COPY; ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed") diff --git a/mysql-test/suite/innodb/t/innodb-autoinc-44030.test b/mysql-test/suite/innodb/t/innodb-autoinc-44030.test index fd90d5d92de..c3754b47ba5 100644 --- a/mysql-test/suite/innodb/t/innodb-autoinc-44030.test +++ b/mysql-test/suite/innodb/t/innodb-autoinc-44030.test @@ -1,10 +1,11 @@ -- source include/have_innodb.inc -# embedded server ignores 'delayed', so skip this +# embedded server does not support restarting -- source include/not_embedded.inc ---disable_warnings -drop table if exists t1; ---enable_warnings +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} # # 44030: Error: (1500) Couldn't read the MAX(ID) autoinc value from @@ -31,9 +32,12 @@ INSERT INTO t1 VALUES(null); # and effectively set AUTO_INCREMENT to 4, because while copying # it would write values 1,2,3 to the column. # WL#5534 makes this an in-place ALTER, setting AUTO_INCREMENT=3 for real. +# However, to keep compatibility with ALGORITHM=COPY MySQL 5.6.11 will +# go back to the original behaviour, setting AUTO_INCREMENT to 4. +--enable_info ALTER TABLE t1 AUTO_INCREMENT = 3; +--disable_info SHOW CREATE TABLE t1; --- error ER_DUP_ENTRY INSERT INTO t1 VALUES(null); INSERT INTO t1 VALUES(null); SELECT * FROM t1; diff --git a/mysql-test/suite/innodb/t/innodb-index.test b/mysql-test/suite/innodb/t/innodb-index.test index ce2d69b7bba..01592ae9bb8 100644 --- a/mysql-test/suite/innodb/t/innodb-index.test +++ b/mysql-test/suite/innodb/t/innodb-index.test @@ -1,5 +1,10 @@ -- source include/have_innodb.inc +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} + let $innodb_file_format_orig=`select @@innodb_file_format`; let $innodb_file_format_max_orig=`select @@innodb_file_format_max`; @@ -445,10 +450,9 @@ ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca FOREIGN KEY (c3,c2) REFERENCES t1(c1,c2); -# FIXME (WL#6251 problem): this should fail, like the ALGORITHM=COPY below +--error ER_FK_INCORRECT_OPTION ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca - FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1); -ALTER TABLE t2 DROP FOREIGN KEY fk_t2_ca; + FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1), ALGORITHM=INPLACE; # mysqltest first does replace_regex, then replace_result --replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/ diff --git a/mysql-test/suite/innodb_fts/r/fulltext.result b/mysql-test/suite/innodb_fts/r/fulltext.result index 7e965c9ca44..f3c913110d2 100644 --- a/mysql-test/suite/innodb_fts/r/fulltext.result +++ b/mysql-test/suite/innodb_fts/r/fulltext.result @@ -120,8 +120,8 @@ Function MATCH ... AGAINST() is used to do a search Full-text search in MySQL implements vector space model select * from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE); a b -MySQL has now support for full-text search Full-text search in MySQL implements vector space model +MySQL has now support for full-text search select * from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE); a b Function MATCH ... AGAINST() is used to do a search @@ -164,6 +164,7 @@ select * from t1 where MATCH a,b AGAINST ('"text i"' IN BOOLEAN MODE); a b select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE); a b +Full-text indexes are called collections select * from t1 where MATCH a,b AGAINST ('+(support collections) +foobar*' IN BOOLEAN MODE); a b select * from t1 where MATCH a,b AGAINST ('+(+(support collections)) +foobar*' IN BOOLEAN MODE); @@ -201,6 +202,8 @@ a aaa10 bbb20 select * from t1 where match a against ("+(+aaa* +bbb1*)" in boolean mode); a +aaa20 bbb15 +aaa30 bbb10 select * from t1 where match a against ("(+aaa* +bbb1*)" in boolean mode); a aaa20 bbb15 @@ -395,6 +398,7 @@ a testword'' SELECT a FROM t1 WHERE MATCH a AGAINST('testword\'\'' IN BOOLEAN MODE); a +testword'' INSERT INTO t1 VALUES('test\'s'); SELECT a FROM t1 WHERE MATCH a AGAINST('test' IN BOOLEAN MODE); a @@ -440,7 +444,6 @@ CREATE TABLE t1(a VARCHAR(20), FULLTEXT(a)) ENGINE = InnoDB; INSERT INTO t1 VALUES('Offside'),('City Of God'); SELECT a FROM t1 WHERE MATCH a AGAINST ('+city of*' IN BOOLEAN MODE); a -Offside City Of God SELECT a FROM t1 WHERE MATCH a AGAINST ('+city (of*)' IN BOOLEAN MODE); a @@ -448,7 +451,6 @@ Offside City Of God SELECT a FROM t1 WHERE MATCH a AGAINST ('+city* of*' IN BOOLEAN MODE); a -Offside City Of God DROP TABLE t1; create table t1(a text,b date,fulltext index(a)) ENGINE = InnoDB; diff --git a/mysql-test/suite/innodb_fts/r/fulltext2.result b/mysql-test/suite/innodb_fts/r/fulltext2.result index 45a9618b100..2aa7d2a6754 100644 --- a/mysql-test/suite/innodb_fts/r/fulltext2.result +++ b/mysql-test/suite/innodb_fts/r/fulltext2.result @@ -239,5 +239,6 @@ CREATE TABLE t1(a VARCHAR(255), FULLTEXT(a)) ENGINE = INNODB DEFAULT CHARSET=utf INSERT INTO t1 VALUES('„MySQL“'); SELECT a FROM t1 WHERE MATCH a AGAINST('“MySQL„' IN BOOLEAN MODE); a +„MySQL“ DROP TABLE t1; SET NAMES latin1; diff --git a/mysql-test/suite/innodb_fts/r/fulltext_var.result b/mysql-test/suite/innodb_fts/r/fulltext_var.result index 4e4ae3a8380..9fe586210c8 100644 --- a/mysql-test/suite/innodb_fts/r/fulltext_var.result +++ b/mysql-test/suite/innodb_fts/r/fulltext_var.result @@ -13,7 +13,6 @@ insert t1 values ('aaaaaa cccccc'); select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode); b aaaaaa bbbbbb cccccc -bbbbbb cccccc aaaaaa cccccc set ft_boolean_syntax=' +-><()~*:""&|'; ERROR HY000: Variable 'ft_boolean_syntax' is a GLOBAL variable and should be set with SET GLOBAL @@ -21,16 +20,14 @@ set global ft_boolean_syntax=' +-><()~*:""&|'; select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode); b aaaaaa bbbbbb cccccc -bbbbbb cccccc aaaaaa cccccc set global ft_boolean_syntax='@ -><()~*:""&|'; select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode); b aaaaaa bbbbbb cccccc -bbbbbb cccccc aaaaaa cccccc select * from t1 where match b against ('+aaaaaa @bbbbbb' in boolean mode); -b +ERROR 42000: syntax error, unexpected '@', expecting $end set global ft_boolean_syntax='@ -><()~*:""@|'; ERROR 42000: Variable 'ft_boolean_syntax' can't be set to the value of '@ -><()~*:""@|' set global ft_boolean_syntax='+ -><()~*:""@!|'; diff --git a/mysql-test/suite/innodb_fts/r/innodb-fts-basic.result b/mysql-test/suite/innodb_fts/r/innodb-fts-basic.result index 9cfe3119739..fe767476fe6 100644 --- a/mysql-test/suite/innodb_fts/r/innodb-fts-basic.result +++ b/mysql-test/suite/innodb_fts/r/innodb-fts-basic.result @@ -134,12 +134,33 @@ SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('YourSQL + (+MySQL - (Tricks Security))' IN BOOLEAN MODE); id title body 5 MySQL vs. YourSQL In the following database comparison ... +1 MySQL Tutorial DBMS stands for DataBase ... +2 How To Use MySQL Well After you went through a ... +3 Optimizing MySQL In this tutorial we will show ... SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('(+MySQL - (Tricks Security)) - YourSQL' IN BOOLEAN MODE); id title body 1 MySQL Tutorial DBMS stands for DataBase ... 2 How To Use MySQL Well After you went through a ... 3 Optimizing MySQL In this tutorial we will show ... +SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysql - Security&DBMS' IN BOOLEAN MODE); +id title body +2 How To Use MySQL Well After you went through a ... +3 Optimizing MySQL In this tutorial we will show ... +4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ... +5 MySQL vs. YourSQL In the following database comparison ... +SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysql - (Security DBMS)' IN BOOLEAN MODE); +id title body +2 How To Use MySQL Well After you went through a ... +3 Optimizing MySQL In this tutorial we will show ... +4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ... +5 MySQL vs. YourSQL In the following database comparison ... +SELECT * FROM articles WHERE MATCH (title,body) AGAINST (' - Security&DBMS + YourSQL' IN BOOLEAN MODE); +id title body +5 MySQL vs. YourSQL In the following database comparison ... +SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+YourSQL - Security&DBMS' IN BOOLEAN MODE); +id title body +5 MySQL vs. YourSQL In the following database comparison ... SELECT COUNT(*) FROM articles WHERE MATCH (title,body) AGAINST ('database' WITH QUERY EXPANSION); diff --git a/mysql-test/suite/innodb_fts/r/innodb_fts_misc.result b/mysql-test/suite/innodb_fts/r/innodb_fts_misc.result index 2a14adc00d5..3f22e79a384 100644 --- a/mysql-test/suite/innodb_fts/r/innodb_fts_misc.result +++ b/mysql-test/suite/innodb_fts/r/innodb_fts_misc.result @@ -476,6 +476,7 @@ insert into t50 (s2) values ('FGHIJ'),('KLMNO'),('VÐƷWİ'),('ABCD*'); select * from t50 where match(s2) against ('abcd*' in natural language mode); id s2 +4 ABCD* select * from t50 where match(s2) against ('abcd*' in boolean mode); id s2 4 ABCD* @@ -659,16 +660,16 @@ Warnings: Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID INSERT INTO t1 VALUES (1,'ペペペ'),(2,'テテテ'),(3,'ルルル'),(4,'グググ'); DROP TABLE t1; -"----------Test15a--------" -CREATE TABLE t1 (s1 VARCHAR (60) CHARACTER SET UTF8 COLLATE UTF8_UNICODE_CI) ENGINE = MyISAM; +"----------Test15---------" +CREATE TABLE t1 (s1 VARCHAR (60) CHARACTER SET UTF8 COLLATE UTF8_UNICODE_520_CI) ENGINE = MyISAM; CREATE FULLTEXT INDEX i ON t1 (s1); INSERT INTO t1 VALUES -('a'),('b'),('c'),('d'),('ÓÓÓÓ'),('OOOO'),(NULL),('ÓÓÓÓ ÓÓÓÓ'),('OOOOOOOO'); -SELECT * FROM t1 WHERE MATCH(s1) AGAINST ('OOOO' COLLATE UTF8_UNICODE_CI); +('a'),('b'),('c'),('d'),('ŁŁŁŁ'),('LLLL'),(NULL),('ŁŁŁŁ ŁŁŁŁ'),('LLLLLLLL'); +SELECT * FROM t1 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI); s1 -ÓÓÓÓ -OOOO -ÓÓÓÓ ÓÓÓÓ +ŁŁŁŁ +LLLL +ŁŁŁŁ ŁŁŁŁ DROP TABLE if EXISTS t2; Warnings: Note 1051 Unknown table 'test.t2' @@ -677,10 +678,10 @@ CREATE FULLTEXT INDEX i ON t2 ( s1); Warnings: Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID INSERT INTO t2 VALUES -('a'),('b'),('c'),('d'),('ÓÓÓÓ'),('OOOO'),(NULL),('ÓÓÓÓ ÓÓÓÓ'),('OOOOOOOO'); -SELECT * FROM t2 WHERE MATCH(s1) AGAINST ('OOOO' COLLATE UTF8_UNICODE_CI); +('a'),('b'),('c'),('d'),('ŁŁŁŁ'),('LLLL'),(NULL),('ŁŁŁŁ ŁŁŁŁ'),('LLLLLLLL'); +SELECT * FROM t2 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI); s1 -OOOO +LLLL DROP TABLE t1,t2; "----------Test16---------" CREATE TABLE t1 (s1 INT, s2 VARCHAR(50) CHARACTER SET UTF8) ENGINE = InnoDB; @@ -1237,3 +1238,192 @@ DROP TABLE `A B`; CREATE TABLE `t-26`(a VARCHAR(10),FULLTEXT KEY(a)) ENGINE=INNODB; INSERT INTO `t-26` VALUES('117'); DROP TABLE `t-26`; +CREATE TABLE `t1` ( +`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, +`content` TEXT NOT NULL, +PRIMARY KEY (`id`), +FULLTEXT INDEX `IDX_CONTEXT_FULLTEXT`(`content`) +) +ENGINE = InnoDB; +insert into t1 (content) +values +('This is a story which has has a complicated phrase structure here in the +middle'), +('This is a story which doesn''t have that text'), +('This is a story that has complicated the phrase structure'); +select * from t1 +where match(content) against('"complicated phrase structure"' in boolean +mode); +id content +1 This is a story which has has a complicated phrase structure here in the +middle +select * from t1 +where match(content) against('+"complicated phrase structure"' in boolean +mode); +id content +1 This is a story which has has a complicated phrase structure here in the +middle +select * from t1 +where match(content) against('"complicated the phrase structure"' in boolean +mode); +id content +3 This is a story that has complicated the phrase structure +select * from t1 where match(content) against('+"this is a story which" +"complicated the phrase structure"' in boolean mode); +id content +select * from t1 where match(content) against('"the complicated the phrase structure"' in boolean mode); +id content +3 This is a story that has complicated the phrase structure +select * from t1 where match(content) against('"complicated a phrase structure"' in boolean mode); +id content +DROP TABLE t1; +CREATE TABLE my (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, +c VARCHAR(32), FULLTEXT(c)) ENGINE = INNODB; +INSERT INTO my (c) VALUES ('green-iguana'); +SELECT * FROM my WHERE MATCH(c) AGAINST ('green-iguana'); +id c +1 green-iguana +DROP TABLE my; +CREATE TABLE ift ( +`a` int(11) NOT NULL, +`b` text, +PRIMARY KEY (`a`), +FULLTEXT KEY `b` (`b`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +INSERT INTO ift values (1, "skip"); +INSERT INTO ift values (2, "skip and networking"); +INSERT INTO ift values (3, "--skip-networking"); +INSERT INTO ift values (4, "-donot--skip-networking"); +SELECT * FROM ift WHERE MATCH (b) AGAINST ('--skip-networking'); +a b +2 skip and networking +3 --skip-networking +4 -donot--skip-networking +1 skip +SELECT * FROM ift WHERE MATCH (b) AGAINST ('skip-networking'); +a b +2 skip and networking +3 --skip-networking +4 -donot--skip-networking +1 skip +SELECT * FROM ift WHERE MATCH (b) AGAINST ('----'); +a b +SELECT * FROM ift WHERE MATCH (b) AGAINST ('-donot--skip-networking'); +a b +4 -donot--skip-networking +2 skip and networking +3 --skip-networking +1 skip +DROP TABLE ift; +CREATE TABLE articles ( +id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, +title VARCHAR(200), +body TEXT, +FULLTEXT (title,body) +) ENGINE=InnoDB; +INSERT INTO articles (title,body) VALUES +('MySQL Tutorial','DBMS stands for DataBase ...') , +('How To Use MySQL Well','After you went through a ...'), +('Optimizing MySQL','In this tutorial we will show ...'), +('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'), +('MySQL vs. YourSQL','In the following database comparison ...'), +('( that''s me )','When configured properly, MySQL ...'); +SELECT * FROM articles WHERE MATCH (title,body) +AGAINST ('( yours''s* )' IN BOOLEAN MODE); +id title body +5 MySQL vs. YourSQL In the following database comparison ... +SELECT * FROM articles WHERE MATCH (title,body) +AGAINST ('s*' IN BOOLEAN MODE); +id title body +1 MySQL Tutorial DBMS stands for DataBase ... +3 Optimizing MySQL In this tutorial we will show ... +SELECT * FROM articles WHERE MATCH (title,body) +AGAINST ('stands\'] | * | show[@database' IN NATURAL LANGUAGE MODE); +id title body +1 MySQL Tutorial DBMS stands for DataBase ... +3 Optimizing MySQL In this tutorial we will show ... +5 MySQL vs. YourSQL In the following database comparison ... +DROP TABLE articles; +CREATE TABLE t1(a TEXT CHARACTER SET LATIN1, FULLTEXT INDEX(a)) ENGINE=INNODB; +SELECT * FROM t1 WHERE MATCH(a) AGAINST("*"); +ERROR 42000: syntax error, unexpected $end, expecting FTS_TERM or FTS_NUMB or '*' +DROP TABLE t1; +CREATE TABLE t1 ( +id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, +a VARCHAR(200), +FULLTEXT (a) +) ENGINE= InnoDB; +INSERT INTO t1 (a) VALUES +('Do you know MySQL is a good database'), +('How to build a good database'), +('Do you know'), +('Do you know MySQL'), +('How to use MySQL'), +('Do you feel good'), +('MySQL is good'), +('MySQL is good to know'), +('What is database'); +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know mysql"' IN BOOLEAN MODE); +id a +1 Do you know MySQL is a good database +4 Do you know MySQL +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql")' IN BOOLEAN MODE); +id a +1 Do you know MySQL is a good database +4 Do you know MySQL +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('("know mysql" good)' IN BOOLEAN MODE); +id a +1 Do you know MySQL is a good database +4 Do you know MySQL +2 How to build a good database +6 Do you feel good +7 MySQL is good +8 MySQL is good to know +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql" good)' IN BOOLEAN MODE); +id a +1 Do you know MySQL is a good database +4 Do you know MySQL +2 How to build a good database +6 Do you feel good +7 MySQL is good +8 MySQL is good to know +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('(good "know mysql")' IN BOOLEAN MODE); +id a +1 Do you know MySQL is a good database +4 Do you know MySQL +2 How to build a good database +6 Do you feel good +7 MySQL is good +8 MySQL is good to know +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+(good "know mysql")' IN BOOLEAN MODE); +id a +1 Do you know MySQL is a good database +4 Do you know MySQL +2 How to build a good database +6 Do you feel good +7 MySQL is good +8 MySQL is good to know +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql" "good database")' IN BOOLEAN MODE); +id a +1 Do you know MySQL is a good database +2 How to build a good database +4 Do you know MySQL +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know mysql" +"good database"' IN BOOLEAN MODE); +id a +1 Do you know MySQL is a good database +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know database"@4' IN BOOLEAN MODE); +id a +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know database"@8' IN BOOLEAN MODE); +id a +1 Do you know MySQL is a good database +DROP TABLE t1; +CREATE TABLE t1 ( +id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, +a VARCHAR(200), +FULLTEXT (a) +) ENGINE= InnoDB; +INSERT INTO t1 (a) VALUES +('know mysql good database'); +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"good database"' IN BOOLEAN MODE); +id a +1 know mysql good database +DROP TABLE t1; diff --git a/mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result b/mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result index 5b2255e2b03..0f50d6943a8 100644 --- a/mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result +++ b/mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result @@ -485,7 +485,7 @@ select * from t1 where MATCH(a,b) AGAINST("+tutorial +VÐƷWİ" IN BOOLEAN MODE) id a b 1 MySQL Tutorial DBMS stands for DataBase VÐƷWİ... select * from t1 where MATCH(a,b) AGAINST("+-VÐƷWİ" IN BOOLEAN MODE); -id a b +ERROR 42000: syntax error, unexpected '-' select * from t1 where MATCH(a,b) AGAINST("+Mysql +(tricks never)" IN BOOLEAN MODE); id a b 4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ... @@ -669,11 +669,13 @@ SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+tutorial +(Мога τίποτα)" I id a b SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("あさきゆめみじ ゑひもせず"); id a b +7 いろはにほへど ちりぬる あさきゆめみじ ゑひもせず SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("ちりぬる" WITH QUERY EXPANSION); id a b 7 いろはにほへど ちりぬる あさきゆめみじ ゑひもせず SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("+あさきゆめみじ +ゑひもせず" IN BOOLEAN MODE); id a b +7 いろはにほへど ちりぬる あさきゆめみじ ゑひもせず SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("うゐのおく*" IN BOOLEAN MODE); id a b 6 うゐのおくやま けふこえて diff --git a/mysql-test/suite/innodb_fts/r/innodb_fts_proximity.result b/mysql-test/suite/innodb_fts/r/innodb_fts_proximity.result index 3336af3a092..a61ff47c9a1 100644 --- a/mysql-test/suite/innodb_fts/r/innodb_fts_proximity.result +++ b/mysql-test/suite/innodb_fts/r/innodb_fts_proximity.result @@ -51,6 +51,7 @@ SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"request docteam@oraclehelp.com"@10' IN BOOLEAN MODE); id a b +4 MySQL Tutorial request docteam@oraclehelp.com ... SELECT * FROM t1 WHERE MATCH (a,b) AGAINST ('"1255 minute"@1' IN BOOLEAN MODE); diff --git a/mysql-test/suite/innodb_fts/t/fulltext.test b/mysql-test/suite/innodb_fts/t/fulltext.test index db8b1bb29eb..d75a650ca4d 100644 --- a/mysql-test/suite/innodb_fts/t/fulltext.test +++ b/mysql-test/suite/innodb_fts/t/fulltext.test @@ -4,6 +4,11 @@ --source include/have_innodb.inc +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} + --disable_warnings drop table if exists t1,t2,t3; --enable_warnings diff --git a/mysql-test/suite/innodb_fts/t/fulltext2.test b/mysql-test/suite/innodb_fts/t/fulltext2.test index b9da4e334ac..33b6a7ac88e 100644 --- a/mysql-test/suite/innodb_fts/t/fulltext2.test +++ b/mysql-test/suite/innodb_fts/t/fulltext2.test @@ -11,6 +11,11 @@ DROP TABLE IF EXISTS t1; --enable_warnings +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} + CREATE TABLE t1 ( i int(10) unsigned not null auto_increment primary key, a varchar(255) not null, diff --git a/mysql-test/suite/innodb_fts/t/fulltext_var.test b/mysql-test/suite/innodb_fts/t/fulltext_var.test index 27b5e8c3130..03eab7e8557 100644 --- a/mysql-test/suite/innodb_fts/t/fulltext_var.test +++ b/mysql-test/suite/innodb_fts/t/fulltext_var.test @@ -7,6 +7,10 @@ drop table if exists t1; --enable_warnings +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} # Save ft_boolean_syntax variable let $saved_ft_boolean_syntax=`select @@global.ft_boolean_syntax`; @@ -27,6 +31,8 @@ set global ft_boolean_syntax=' +-><()~*:""&|'; select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode); set global ft_boolean_syntax='@ -><()~*:""&|'; select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode); + +--error ER_PARSE_ERROR select * from t1 where match b against ('+aaaaaa @bbbbbb' in boolean mode); -- error 1231 set global ft_boolean_syntax='@ -><()~*:""@|'; diff --git a/mysql-test/suite/innodb_fts/t/innodb-fts-basic.test b/mysql-test/suite/innodb_fts/t/innodb-fts-basic.test index 43e5912e61c..095713130f1 100644 --- a/mysql-test/suite/innodb_fts/t/innodb-fts-basic.test +++ b/mysql-test/suite/innodb_fts/t/innodb-fts-basic.test @@ -2,6 +2,11 @@ -- source include/have_innodb.inc +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} + # Create FTS table CREATE TABLE articles ( id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, @@ -113,6 +118,16 @@ SELECT * FROM articles WHERE MATCH (title,body) SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('(+MySQL - (Tricks Security)) - YourSQL' IN BOOLEAN MODE); +# Test non-word delimiter combined with negate "-" operator +# This should return the same result as 'mysql - (Security DBMS)' +SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysql - Security&DBMS' IN BOOLEAN MODE); +SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysql - (Security DBMS)' IN BOOLEAN MODE); + +# Again, the operator sequence should not matter +SELECT * FROM articles WHERE MATCH (title,body) AGAINST (' - Security&DBMS + YourSQL' IN BOOLEAN MODE); + +SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+YourSQL - Security&DBMS' IN BOOLEAN MODE); + # Test query expansion SELECT COUNT(*) FROM articles WHERE MATCH (title,body) diff --git a/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test b/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test index 803895d20fc..934d52f764f 100644 --- a/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test +++ b/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test @@ -9,6 +9,11 @@ let collation=UTF8_UNICODE_CI; drop table if exists t1; --enable_warnings +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} + # Create FTS table CREATE TABLE t1 ( id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, @@ -600,35 +605,18 @@ INSERT INTO t1 VALUES (1,'ペペペ'),(2,'テテテ'),(3,'ルルル'),(4,'ググ DROP TABLE t1; -# TODO: uncomment this when utf8_unicode_520_ci is merged -#--echo "----------Test15---------" -#CREATE TABLE t1 (s1 VARCHAR (60) CHARACTER SET UTF8 COLLATE UTF8_UNICODE_520_CI) ENGINE = MyISAM; -#CREATE FULLTEXT INDEX i ON t1 (s1); -#INSERT INTO t1 VALUES -#('a'),('b'),('c'),('d'),('ŁŁŁŁ'),('LLLL'),(NULL),('ŁŁŁŁ ŁŁŁŁ'),('LLLLLLLL'); -#SELECT * FROM t1 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI); -#DROP TABLE if EXISTS t2; -#CREATE TABLE t2 (s1 VARCHAR(60) CHARACTER SET UTF8 COLLATE UTF8_POLISH_CI) ENGINE = InnoDB; -#CREATE FULLTEXT INDEX i ON t2 ( s1); -#INSERT INTO t2 VALUES -#('a'),('b'),('c'),('d'),('ŁŁŁŁ'),('LLLL'),(NULL),('ŁŁŁŁ ŁŁŁŁ'),('LLLLLLLL'); -#SELECT * FROM t2 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI); -#--disable_warnings -#DROP TABLE t1,t2; -#--enable_warnings - ---echo "----------Test15a--------" -CREATE TABLE t1 (s1 VARCHAR (60) CHARACTER SET UTF8 COLLATE UTF8_UNICODE_CI) ENGINE = MyISAM; +--echo "----------Test15---------" +CREATE TABLE t1 (s1 VARCHAR (60) CHARACTER SET UTF8 COLLATE UTF8_UNICODE_520_CI) ENGINE = MyISAM; CREATE FULLTEXT INDEX i ON t1 (s1); INSERT INTO t1 VALUES -('a'),('b'),('c'),('d'),('ÓÓÓÓ'),('OOOO'),(NULL),('ÓÓÓÓ ÓÓÓÓ'),('OOOOOOOO'); -SELECT * FROM t1 WHERE MATCH(s1) AGAINST ('OOOO' COLLATE UTF8_UNICODE_CI); +('a'),('b'),('c'),('d'),('ŁŁŁŁ'),('LLLL'),(NULL),('ŁŁŁŁ ŁŁŁŁ'),('LLLLLLLL'); +SELECT * FROM t1 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI); DROP TABLE if EXISTS t2; CREATE TABLE t2 (s1 VARCHAR(60) CHARACTER SET UTF8 COLLATE UTF8_POLISH_CI) ENGINE = InnoDB; CREATE FULLTEXT INDEX i ON t2 ( s1); INSERT INTO t2 VALUES -('a'),('b'),('c'),('d'),('ÓÓÓÓ'),('OOOO'),(NULL),('ÓÓÓÓ ÓÓÓÓ'),('OOOOOOOO'); -SELECT * FROM t2 WHERE MATCH(s1) AGAINST ('OOOO' COLLATE UTF8_UNICODE_CI); +('a'),('b'),('c'),('d'),('ŁŁŁŁ'),('LLLL'),(NULL),('ŁŁŁŁ ŁŁŁŁ'),('LLLLLLLL'); +SELECT * FROM t2 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI); --disable_warnings DROP TABLE t1,t2; --enable_warnings @@ -1179,3 +1167,170 @@ DROP TABLE `A B`; CREATE TABLE `t-26`(a VARCHAR(10),FULLTEXT KEY(a)) ENGINE=INNODB; INSERT INTO `t-26` VALUES('117'); DROP TABLE `t-26`; + +# Test on phrase search with stopwords contained in the search string +CREATE TABLE `t1` ( + `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `content` TEXT NOT NULL, + PRIMARY KEY (`id`), + FULLTEXT INDEX `IDX_CONTEXT_FULLTEXT`(`content`) +) +ENGINE = InnoDB; + +insert into t1 (content) +values +('This is a story which has has a complicated phrase structure here in the +middle'), +('This is a story which doesn''t have that text'), +('This is a story that has complicated the phrase structure'); + +select * from t1 +where match(content) against('"complicated phrase structure"' in boolean +mode); + +# Test single phrase search with "+" symbol, one row should be returned +select * from t1 +where match(content) against('+"complicated phrase structure"' in boolean +mode); + +# Test phrase search with stopwords in between, one row should be returned +select * from t1 +where match(content) against('"complicated the phrase structure"' in boolean +mode); + +# Test phrase search with multiple "+" symbols +select * from t1 where match(content) against('+"this is a story which" +"complicated the phrase structure"' in boolean mode); + +# Test phrase search with leading word is a stopword, such stopword would be +# ignored +select * from t1 where match(content) against('"the complicated the phrase structure"' in boolean mode); + +# Test phrase search with non-matching stopword in between, no row should be +# returned +select * from t1 where match(content) against('"complicated a phrase structure"' in boolean mode); + +DROP TABLE t1; + +CREATE TABLE my (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, +c VARCHAR(32), FULLTEXT(c)) ENGINE = INNODB; + +INSERT INTO my (c) VALUES ('green-iguana'); + +SELECT * FROM my WHERE MATCH(c) AGAINST ('green-iguana'); + +DROP TABLE my; + +CREATE TABLE ift ( + `a` int(11) NOT NULL, + `b` text, + PRIMARY KEY (`a`), + FULLTEXT KEY `b` (`b`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +INSERT INTO ift values (1, "skip"); +INSERT INTO ift values (2, "skip and networking"); +INSERT INTO ift values (3, "--skip-networking"); +INSERT INTO ift values (4, "-donot--skip-networking"); + +SELECT * FROM ift WHERE MATCH (b) AGAINST ('--skip-networking'); +SELECT * FROM ift WHERE MATCH (b) AGAINST ('skip-networking'); +SELECT * FROM ift WHERE MATCH (b) AGAINST ('----'); +SELECT * FROM ift WHERE MATCH (b) AGAINST ('-donot--skip-networking'); + +DROP TABLE ift; + +# Test special cases of wildword. +# Create FTS table +CREATE TABLE articles ( + id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, + title VARCHAR(200), + body TEXT, + FULLTEXT (title,body) + ) ENGINE=InnoDB; + +# Insert six rows +INSERT INTO articles (title,body) VALUES + ('MySQL Tutorial','DBMS stands for DataBase ...') , + ('How To Use MySQL Well','After you went through a ...'), + ('Optimizing MySQL','In this tutorial we will show ...'), + ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'), + ('MySQL vs. YourSQL','In the following database comparison ...'), + ('( that''s me )','When configured properly, MySQL ...'); + +SELECT * FROM articles WHERE MATCH (title,body) + AGAINST ('( yours''s* )' IN BOOLEAN MODE); + +SELECT * FROM articles WHERE MATCH (title,body) + AGAINST ('s*' IN BOOLEAN MODE); + +SELECT * FROM articles WHERE MATCH (title,body) + AGAINST ('stands\'] | * | show[@database' IN NATURAL LANGUAGE MODE); + +DROP TABLE articles; + +# Test for BUG#16429688 - FTS: SYNTAX ERROR, UNEXPECTED '*', EXPECTING $END +CREATE TABLE t1(a TEXT CHARACTER SET LATIN1, FULLTEXT INDEX(a)) ENGINE=INNODB; + +--error ER_PARSE_ERROR +SELECT * FROM t1 WHERE MATCH(a) AGAINST("*"); + +DROP TABLE t1; + +# Test for BUG#16516193 - LITERAL PHRASES CANNOT BE COMBINED WITH + OR - OPERATOR +# Create FTS table +CREATE TABLE t1 ( + id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, + a VARCHAR(200), + FULLTEXT (a) + ) ENGINE= InnoDB; + +# Insert rows +INSERT INTO t1 (a) VALUES + ('Do you know MySQL is a good database'), + ('How to build a good database'), + ('Do you know'), + ('Do you know MySQL'), + ('How to use MySQL'), + ('Do you feel good'), + ('MySQL is good'), + ('MySQL is good to know'), + ('What is database'); + +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know mysql"' IN BOOLEAN MODE); + +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql")' IN BOOLEAN MODE); + +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('("know mysql" good)' IN BOOLEAN MODE); + +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql" good)' IN BOOLEAN MODE); + +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('(good "know mysql")' IN BOOLEAN MODE); + +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+(good "know mysql")' IN BOOLEAN MODE); + +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql" "good database")' IN BOOLEAN MODE); + +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know mysql" +"good database"' IN BOOLEAN MODE); + +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know database"@4' IN BOOLEAN MODE); + +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know database"@8' IN BOOLEAN MODE); + +# Drop table +DROP TABLE t1; + +# Test for BUG#16885178 - INNODB FULLTEXT PHRASE SEARCH VALGRIND ERROR +CREATE TABLE t1 ( + id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, + a VARCHAR(200), + FULLTEXT (a) + ) ENGINE= InnoDB; + +# Insert a special row +INSERT INTO t1 (a) VALUES + ('know mysql good database'); + +# This phrase search fails in valgrind test before the fix. +SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"good database"' IN BOOLEAN MODE); + +DROP TABLE t1; diff --git a/mysql-test/suite/innodb_fts/t/innodb_fts_misc_1.test b/mysql-test/suite/innodb_fts/t/innodb_fts_misc_1.test index 80c39a048d7..6ef0452f4c6 100644 --- a/mysql-test/suite/innodb_fts/t/innodb_fts_misc_1.test +++ b/mysql-test/suite/innodb_fts/t/innodb_fts_misc_1.test @@ -3,6 +3,11 @@ #------------------------------------------------------------------------------- --source include/have_innodb.inc +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} + --disable_warnings drop table if exists t2,t1; --enable_warnings @@ -475,6 +480,7 @@ SELECT * FROM t1 WHERE MATCH (a,b) # boolean mode select * from t1 where MATCH(a,b) AGAINST("+tutorial +VÐƷWİ" IN BOOLEAN MODE); +--error ER_PARSE_ERROR select * from t1 where MATCH(a,b) AGAINST("+-VÐƷWİ" IN BOOLEAN MODE); select * from t1 where MATCH(a,b) AGAINST("+Mysql +(tricks never)" IN BOOLEAN MODE); select * from t1 where MATCH(a,b) AGAINST("+mysql -(tricks never)" IN BOOLEAN MODE); diff --git a/mysql-test/suite/innodb_fts/t/innodb_fts_proximity.test b/mysql-test/suite/innodb_fts/t/innodb_fts_proximity.test index 3dc05be3365..b2ac81e2840 100644 --- a/mysql-test/suite/innodb_fts/t/innodb_fts_proximity.test +++ b/mysql-test/suite/innodb_fts/t/innodb_fts_proximity.test @@ -3,6 +3,11 @@ # and try search default words --source include/have_innodb.inc +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} + --disable_warnings drop table if exists t1; --enable_warnings diff --git a/mysql-test/suite/percona/innodb_fix_misc_bug51325.result b/mysql-test/suite/percona/innodb_fix_misc_bug51325.result deleted file mode 100644 index c63a33accdd..00000000000 --- a/mysql-test/suite/percona/innodb_fix_misc_bug51325.result +++ /dev/null @@ -1,13 +0,0 @@ -DROP TABLE IF EXISTS t1; -SET GLOBAL innodb_file_per_table=ON; -SHOW VARIABLES LIKE 'innodb_lazy_drop_table'; -Variable_name Value -innodb_lazy_drop_table 0 -SET GLOBAL innodb_lazy_drop_table=1; -SHOW VARIABLES LIKE 'innodb_lazy_drop_table'; -Variable_name Value -innodb_lazy_drop_table 1 -CREATE TABLE t1 (a INT) ENGINE=InnoDB; -DROP TABLE t1; -SET GLOBAL innodb_lazy_drop_table=default; -SET GLOBAL innodb_file_per_table=default; diff --git a/mysql-test/suite/percona/innodb_fix_misc_bug51325.test b/mysql-test/suite/percona/innodb_fix_misc_bug51325.test deleted file mode 100644 index 54fa3a80179..00000000000 --- a/mysql-test/suite/percona/innodb_fix_misc_bug51325.test +++ /dev/null @@ -1,13 +0,0 @@ -# Test for 'innodb_lazy_drop_table' variable ---source include/have_xtradb.inc ---disable_warnings -DROP TABLE IF EXISTS t1; ---enable_warnings -SET GLOBAL innodb_file_per_table=ON; -SHOW VARIABLES LIKE 'innodb_lazy_drop_table'; -SET GLOBAL innodb_lazy_drop_table=1; -SHOW VARIABLES LIKE 'innodb_lazy_drop_table'; -CREATE TABLE t1 (a INT) ENGINE=InnoDB; -DROP TABLE t1; -SET GLOBAL innodb_lazy_drop_table=default; -SET GLOBAL innodb_file_per_table=default; diff --git a/mysql-test/suite/percona/innodb_sys_index.result b/mysql-test/suite/percona/innodb_sys_index.result index 8bf4fa745ba..67604236366 100644 --- a/mysql-test/suite/percona/innodb_sys_index.result +++ b/mysql-test/suite/percona/innodb_sys_index.result @@ -1,6 +1,6 @@ drop table if exists t1; Warnings: -Note 1051 Unknown table 't1' +Note 1051 Unknown table 'test.t1' select @@version_comment limit 1 ; @@version_comment Source distribution diff --git a/mysql-test/suite/percona/percona_innodb_doublewrite_file-master.opt b/mysql-test/suite/percona/percona_innodb_doublewrite_file-master.opt deleted file mode 100644 index 54f9f550277..00000000000 --- a/mysql-test/suite/percona/percona_innodb_doublewrite_file-master.opt +++ /dev/null @@ -1 +0,0 @@ ---loose-innodb_doublewrite_file=ib_doublewrite diff --git a/mysql-test/suite/percona/percona_innodb_doublewrite_file.result b/mysql-test/suite/percona/percona_innodb_doublewrite_file.result deleted file mode 100644 index 4d086cc4498..00000000000 --- a/mysql-test/suite/percona/percona_innodb_doublewrite_file.result +++ /dev/null @@ -1,4 +0,0 @@ -show variables like 'innodb_doublewrite%'; -Variable_name Value -innodb_doublewrite ON -innodb_doublewrite_file ib_doublewrite diff --git a/mysql-test/suite/percona/percona_innodb_doublewrite_file.test b/mysql-test/suite/percona/percona_innodb_doublewrite_file.test deleted file mode 100644 index d9e94db8463..00000000000 --- a/mysql-test/suite/percona/percona_innodb_doublewrite_file.test +++ /dev/null @@ -1,2 +0,0 @@ ---source include/have_xtradb.inc -show variables like 'innodb_doublewrite%'; diff --git a/mysql-test/suite/percona/percona_innodb_fake_changes.result b/mysql-test/suite/percona/percona_innodb_fake_changes.result index 434b7283146..95f0c07cd11 100644 --- a/mysql-test/suite/percona/percona_innodb_fake_changes.result +++ b/mysql-test/suite/percona/percona_innodb_fake_changes.result @@ -45,7 +45,7 @@ BEGIN; CREATE TABLE t2 (a INT) ENGINE=InnoDB; ERROR HY000: Can't create table `test`.`t2` (errno: 131 "Command not supported by database") DROP TABLE t1; -ERROR 42S02: Unknown table 't1' +ERROR 42S02: Unknown table 'test.t1' TRUNCATE TABLE t1; ERROR HY000: Got error 131 "Command not supported by database" during COMMIT ALTER TABLE t1 ENGINE=MyISAM; diff --git a/mysql-test/suite/percona/percona_innodb_use_sys_stats_table-master.opt b/mysql-test/suite/percona/percona_innodb_use_sys_stats_table-master.opt deleted file mode 100644 index 7479e2036aa..00000000000 --- a/mysql-test/suite/percona/percona_innodb_use_sys_stats_table-master.opt +++ /dev/null @@ -1 +0,0 @@ ---loose-innodb_use_sys_stats_table diff --git a/mysql-test/suite/percona/percona_innodb_use_sys_stats_table.result b/mysql-test/suite/percona/percona_innodb_use_sys_stats_table.result deleted file mode 100644 index cb64de41901..00000000000 --- a/mysql-test/suite/percona/percona_innodb_use_sys_stats_table.result +++ /dev/null @@ -1,3 +0,0 @@ -show variables like 'innodb_use_sys_stats%'; -Variable_name Value -innodb_use_sys_stats_table ON diff --git a/mysql-test/suite/percona/percona_innodb_use_sys_stats_table.test b/mysql-test/suite/percona/percona_innodb_use_sys_stats_table.test deleted file mode 100644 index 534b26a3b45..00000000000 --- a/mysql-test/suite/percona/percona_innodb_use_sys_stats_table.test +++ /dev/null @@ -1,2 +0,0 @@ ---source include/have_xtradb.inc -show variables like 'innodb_use_sys_stats%'; diff --git a/mysql-test/suite/percona/percona_xtradb_admin_command.result b/mysql-test/suite/percona/percona_xtradb_admin_command.result deleted file mode 100644 index 26ba14f2f3b..00000000000 --- a/mysql-test/suite/percona/percona_xtradb_admin_command.result +++ /dev/null @@ -1,6 +0,0 @@ -select * from information_schema.XTRADB_ADMIN_COMMAND; -result_message -No XTRA_* command in the SQL statement. Please add /*!XTRA_xxxx*/ to the SQL. -select * from information_schema.XTRADB_ADMIN_COMMAND /*!XTRA_HELLO*/; -result_message -Hello! diff --git a/mysql-test/suite/percona/percona_xtradb_admin_command.test b/mysql-test/suite/percona/percona_xtradb_admin_command.test deleted file mode 100644 index b675c2afa21..00000000000 --- a/mysql-test/suite/percona/percona_xtradb_admin_command.test +++ /dev/null @@ -1,3 +0,0 @@ ---source include/have_xtradb.inc -select * from information_schema.XTRADB_ADMIN_COMMAND; -select * from information_schema.XTRADB_ADMIN_COMMAND /*!XTRA_HELLO*/; diff --git a/mysql-test/suite/plugins/t/cassandra.opt b/mysql-test/suite/plugins/t/cassandra.opt index 98a4a081de5..76639e7d3e2 100644 --- a/mysql-test/suite/plugins/t/cassandra.opt +++ b/mysql-test/suite/plugins/t/cassandra.opt @@ -1 +1 @@ ---plugin-load=$HA_CASSANDRA_SO --loose-cassandra=on +--plugin-load-add=$HA_CASSANDRA_SO --loose-cassandra=on diff --git a/mysql-test/suite/plugins/t/cassandra_qcache.opt b/mysql-test/suite/plugins/t/cassandra_qcache.opt index 98a4a081de5..76639e7d3e2 100644 --- a/mysql-test/suite/plugins/t/cassandra_qcache.opt +++ b/mysql-test/suite/plugins/t/cassandra_qcache.opt @@ -1 +1 @@ ---plugin-load=$HA_CASSANDRA_SO --loose-cassandra=on +--plugin-load-add=$HA_CASSANDRA_SO --loose-cassandra=on diff --git a/mysql-test/suite/plugins/t/locales.opt b/mysql-test/suite/plugins/t/locales.opt index 594283f8c65..21f53ca3f0b 100644 --- a/mysql-test/suite/plugins/t/locales.opt +++ b/mysql-test/suite/plugins/t/locales.opt @@ -1,3 +1,3 @@ --loose-locale ---plugin-load=$LOCALES_SO +--plugin-load-add=$LOCALES_SO diff --git a/mysql-test/suite/plugins/t/qc_info_init.opt b/mysql-test/suite/plugins/t/qc_info_init.opt index 663de4da7d7..53b4ff314df 100644 --- a/mysql-test/suite/plugins/t/qc_info_init.opt +++ b/mysql-test/suite/plugins/t/qc_info_init.opt @@ -1,2 +1,2 @@ --loose-query_cache_info ---plugin-load=$QUERY_CACHE_INFO_SO +--plugin-load-add=$QUERY_CACHE_INFO_SO diff --git a/mysql-test/suite/rpl/r/rpl_mdev382.result b/mysql-test/suite/rpl/r/rpl_mdev382.result index b339188f8b8..6cd6aa09ede 100644 --- a/mysql-test/suite/rpl/r/rpl_mdev382.result +++ b/mysql-test/suite/rpl/r/rpl_mdev382.result @@ -315,7 +315,7 @@ CREATE TABLE `t``1` ( `a``` INT PRIMARY KEY) ENGINE=innodb; CREATE TABLE `t``2` ( `b``` INT PRIMARY KEY, `c``` INT NOT NULL, FOREIGN KEY fk (`c```) REFERENCES `t``1`(`a```)) ENGINE=innodb; TRUNCATE `t``1`; -ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`db1``; select 'oops!'`.`t``2`, CONSTRAINT `t@00602_ibfk_1` FOREIGN KEY (`c```) REFERENCES `db1``; select 'oops!'`.`t``1` (`a```)) +ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`db1``; select 'oops!'`.`t``2`, CONSTRAINT `t``2_ibfk_1` FOREIGN KEY (`c```) REFERENCES `db1``; select 'oops!'`.`t``1` (`a```)) DROP TABLE `t``2`; DROP TABLE `t``1`; *** Test correct quoting of DELETE FROM statement binlogged for HEAP table that is emptied due to server restart diff --git a/mysql-test/suite/rpl/t/rpl_mdev382.test b/mysql-test/suite/rpl/t/rpl_mdev382.test index 3ec877cdb1a..cb67052b47d 100644 --- a/mysql-test/suite/rpl/t/rpl_mdev382.test +++ b/mysql-test/suite/rpl/t/rpl_mdev382.test @@ -2,6 +2,11 @@ --source include/have_binlog_format_statement.inc --source include/master-slave.inc +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} + # MDEV-382: multiple SQL injections in replication code. # Test previous SQL injection attack against binlog for SAVEPOINT statement. diff --git a/mysql-test/suite/sys_vars/r/innodb_cleaner_eviction_factor_basic.result b/mysql-test/suite/sys_vars/r/innodb_cleaner_eviction_factor_basic.result new file mode 100644 index 00000000000..8f017ea40ec --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_cleaner_eviction_factor_basic.result @@ -0,0 +1,31 @@ +SET @start_value = @@GLOBAL.innodb_cleaner_eviction_factor; +SELECT @@GLOBAL.innodb_cleaner_eviction_factor; +@@GLOBAL.innodb_cleaner_eviction_factor +0 +SELECT @@SESSION.innodb_cleaner_eviction_factor; +ERROR HY000: Variable 'innodb_cleaner_eviction_factor' is a GLOBAL variable +SET GLOBAL innodb_cleaner_eviction_factor='OFF'; +SELECT @@GLOBAL.innodb_cleaner_eviction_factor; +@@GLOBAL.innodb_cleaner_eviction_factor +0 +SET GLOBAL innodb_cleaner_eviction_factor='ON'; +SELECT @@GLOBAL.innodb_cleaner_eviction_factor; +@@GLOBAL.innodb_cleaner_eviction_factor +1 +SET GLOBAL innodb_cleaner_eviction_factor=0; +SELECT @@GLOBAL.innodb_cleaner_eviction_factor; +@@GLOBAL.innodb_cleaner_eviction_factor +0 +SET GLOBAL innodb_cleaner_eviction_factor=1; +SELECT @@GLOBAL.innodb_cleaner_eviction_factor; +@@GLOBAL.innodb_cleaner_eviction_factor +1 +SET GLOBAL innodb_cleaner_eviction_factor=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_eviction_factor' +SET GLOBAL innodb_cleaner_eviction_factor=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_eviction_factor' +SET GLOBAL innodb_cleaner_eviction_factor=2; +ERROR 42000: Variable 'innodb_cleaner_eviction_factor' can't be set to the value of '2' +SET GLOBAL innodb_cleaner_eviction_factor='foo'; +ERROR 42000: Variable 'innodb_cleaner_eviction_factor' can't be set to the value of 'foo' +SET GLOBAL innodb_cleaner_eviction_factor = @start_value; diff --git a/mysql-test/suite/sys_vars/r/innodb_cleaner_flush_chunk_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_cleaner_flush_chunk_size_basic.result new file mode 100644 index 00000000000..651023d7a38 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_cleaner_flush_chunk_size_basic.result @@ -0,0 +1,31 @@ +SET @start_value = @@GLOBAL.innodb_cleaner_flush_chunk_size; +SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size; +@@GLOBAL.innodb_cleaner_flush_chunk_size +100 +SELECT @@SESSION.innodb_cleaner_flush_chunk_size; +ERROR HY000: Variable 'innodb_cleaner_flush_chunk_size' is a GLOBAL variable +SET GLOBAL innodb_cleaner_flush_chunk_size=1; +SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size; +@@GLOBAL.innodb_cleaner_flush_chunk_size +1 +SET GLOBAL innodb_cleaner_flush_chunk_size=1000; +SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size; +@@GLOBAL.innodb_cleaner_flush_chunk_size +1000 +SET GLOBAL innodb_cleaner_flush_chunk_size=4294967295; +SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size; +@@GLOBAL.innodb_cleaner_flush_chunk_size +4294967295 +SET GLOBAL innodb_cleaner_flush_chunk_size=0; +Warnings: +Warning 1292 Truncated incorrect innodb_cleaner_flush_chunk_size value: '0' +SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size; +@@GLOBAL.innodb_cleaner_flush_chunk_size +1 +SET GLOBAL innodb_cleaner_flush_chunk_size=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_flush_chunk_size' +SET GLOBAL innodb_cleaner_flush_chunk_size=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_flush_chunk_size' +SET GLOBAL innodb_cleaner_flush_chunk_size='foo'; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_flush_chunk_size' +SET GLOBAL innodb_cleaner_flush_chunk_size = @start_value; diff --git a/mysql-test/suite/sys_vars/r/innodb_cleaner_free_list_lwm_basic.result b/mysql-test/suite/sys_vars/r/innodb_cleaner_free_list_lwm_basic.result new file mode 100644 index 00000000000..2d7883b7d83 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_cleaner_free_list_lwm_basic.result @@ -0,0 +1,35 @@ +SET @start_value = @@GLOBAL.innodb_cleaner_free_list_lwm; +SELECT @@GLOBAL.innodb_cleaner_free_list_lwm; +@@GLOBAL.innodb_cleaner_free_list_lwm +10 +SELECT @@SESSION.innodb_cleaner_free_list_lwm; +ERROR HY000: Variable 'innodb_cleaner_free_list_lwm' is a GLOBAL variable +SET GLOBAL innodb_cleaner_free_list_lwm=0; +SELECT @@GLOBAL.innodb_cleaner_free_list_lwm; +@@GLOBAL.innodb_cleaner_free_list_lwm +0 +SET GLOBAL innodb_cleaner_free_list_lwm=1; +SELECT @@GLOBAL.innodb_cleaner_free_list_lwm; +@@GLOBAL.innodb_cleaner_free_list_lwm +1 +SET GLOBAL innodb_cleaner_free_list_lwm=99; +SELECT @@GLOBAL.innodb_cleaner_free_list_lwm; +@@GLOBAL.innodb_cleaner_free_list_lwm +99 +SET GLOBAL innodb_cleaner_free_list_lwm=100; +SELECT @@GLOBAL.innodb_cleaner_free_list_lwm; +@@GLOBAL.innodb_cleaner_free_list_lwm +100 +SET GLOBAL innodb_cleaner_free_list_lwm=101; +Warnings: +Warning 1292 Truncated incorrect innodb_cleaner_free_list_lwm value: '101' +SELECT @@innodb_cleaner_free_list_lwm; +@@innodb_cleaner_free_list_lwm +100 +SET GLOBAL innodb_cleaner_free_list_lwm=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_free_list_lwm' +SET GLOBAL innodb_cleaner_free_list_lwm=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_free_list_lwm' +SET GLOBAL innodb_cleaner_free_list_lwm='foo'; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_free_list_lwm' +SET GLOBAL innodb_cleaner_free_list_lwm = @start_value; diff --git a/mysql-test/suite/sys_vars/r/innodb_cleaner_lru_chunk_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_cleaner_lru_chunk_size_basic.result new file mode 100644 index 00000000000..5dfc6738e11 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_cleaner_lru_chunk_size_basic.result @@ -0,0 +1,31 @@ +SET @start_value = @@GLOBAL.innodb_cleaner_lru_chunk_size; +SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size; +@@GLOBAL.innodb_cleaner_lru_chunk_size +100 +SELECT @@SESSION.innodb_cleaner_lru_chunk_size; +ERROR HY000: Variable 'innodb_cleaner_lru_chunk_size' is a GLOBAL variable +SET GLOBAL innodb_cleaner_lru_chunk_size=1; +SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size; +@@GLOBAL.innodb_cleaner_lru_chunk_size +1 +SET GLOBAL innodb_cleaner_lru_chunk_size=1000; +SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size; +@@GLOBAL.innodb_cleaner_lru_chunk_size +1000 +SET GLOBAL innodb_cleaner_lru_chunk_size=4294967295; +SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size; +@@GLOBAL.innodb_cleaner_lru_chunk_size +4294967295 +SET GLOBAL innodb_cleaner_lru_chunk_size=0; +Warnings: +Warning 1292 Truncated incorrect innodb_cleaner_lru_chunk_size value: '0' +SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size; +@@GLOBAL.innodb_cleaner_lru_chunk_size +1 +SET GLOBAL innodb_cleaner_lru_chunk_size=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lru_chunk_size' +SET GLOBAL innodb_cleaner_lru_chunk_size=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lru_chunk_size' +SET GLOBAL innodb_cleaner_lru_chunk_size='foo'; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lru_chunk_size' +SET GLOBAL innodb_cleaner_lru_chunk_size = @start_value; diff --git a/mysql-test/suite/sys_vars/r/innodb_cleaner_lsn_age_factor_basic.result b/mysql-test/suite/sys_vars/r/innodb_cleaner_lsn_age_factor_basic.result new file mode 100644 index 00000000000..6dd1b6dc489 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_cleaner_lsn_age_factor_basic.result @@ -0,0 +1,21 @@ +SET @start_value = @@GLOBAL.innodb_cleaner_lsn_age_factor; +SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor; +@@GLOBAL.innodb_cleaner_lsn_age_factor +high_checkpoint +SELECT @@SESSION.innodb_cleaner_lsn_age_factor; +ERROR HY000: Variable 'innodb_cleaner_lsn_age_factor' is a GLOBAL variable +SET GLOBAL innodb_cleaner_lsn_age_factor='legacy'; +SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor; +@@GLOBAL.innodb_cleaner_lsn_age_factor +legacy +SET GLOBAL innodb_cleaner_lsn_age_factor='high_checkpoint'; +SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor; +@@GLOBAL.innodb_cleaner_lsn_age_factor +high_checkpoint +SET GLOBAL innodb_cleaner_lsn_age_factor=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lsn_age_factor' +SET GLOBAL innodb_cleaner_lsn_age_factor=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lsn_age_factor' +SET GLOBAL innodb_cleaner_lsn_age_factor='foo'; +ERROR 42000: Variable 'innodb_cleaner_lsn_age_factor' can't be set to the value of 'foo' +SET GLOBAL innodb_cleaner_lsn_age_factor = @start_value; diff --git a/mysql-test/suite/sys_vars/r/innodb_cleaner_max_flush_time_basic.result b/mysql-test/suite/sys_vars/r/innodb_cleaner_max_flush_time_basic.result new file mode 100644 index 00000000000..e4a3fa26e73 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_cleaner_max_flush_time_basic.result @@ -0,0 +1,25 @@ +SET @start_value = @@GLOBAL.innodb_cleaner_max_flush_time; +SELECT @@GLOBAL.innodb_cleaner_max_flush_time; +@@GLOBAL.innodb_cleaner_max_flush_time +1000 +SELECT @@SESSION.innodb_cleaner_max_flush_time; +ERROR HY000: Variable 'innodb_cleaner_max_flush_time' is a GLOBAL variable +SET GLOBAL innodb_cleaner_max_flush_time=0; +SELECT @@GLOBAL.innodb_cleaner_max_flush_time; +@@GLOBAL.innodb_cleaner_max_flush_time +0 +SET GLOBAL innodb_cleaner_max_flush_time=1000; +SELECT @@GLOBAL.innodb_cleaner_max_flush_time; +@@GLOBAL.innodb_cleaner_max_flush_time +1000 +SET GLOBAL innodb_cleaner_max_flush_time=4294967295; +SELECT @@GLOBAL.innodb_cleaner_max_flush_time; +@@GLOBAL.innodb_cleaner_max_flush_time +4294967295 +SET GLOBAL innodb_cleaner_max_flush_time=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_flush_time' +SET GLOBAL innodb_cleaner_max_flush_time=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_flush_time' +SET GLOBAL innodb_cleaner_max_flush_time='foo'; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_flush_time' +SET GLOBAL innodb_cleaner_max_flush_time = @start_value; diff --git a/mysql-test/suite/sys_vars/r/innodb_cleaner_max_lru_time_basic.result b/mysql-test/suite/sys_vars/r/innodb_cleaner_max_lru_time_basic.result new file mode 100644 index 00000000000..f7bacbbd62e --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_cleaner_max_lru_time_basic.result @@ -0,0 +1,25 @@ +SET @start_value = @@GLOBAL.innodb_cleaner_max_lru_time; +SELECT @@GLOBAL.innodb_cleaner_max_lru_time; +@@GLOBAL.innodb_cleaner_max_lru_time +1000 +SELECT @@SESSION.innodb_cleaner_max_lru_time; +ERROR HY000: Variable 'innodb_cleaner_max_lru_time' is a GLOBAL variable +SET GLOBAL innodb_cleaner_max_lru_time=0; +SELECT @@GLOBAL.innodb_cleaner_max_lru_time; +@@GLOBAL.innodb_cleaner_max_lru_time +0 +SET GLOBAL innodb_cleaner_max_lru_time=1000; +SELECT @@GLOBAL.innodb_cleaner_max_lru_time; +@@GLOBAL.innodb_cleaner_max_lru_time +1000 +SET GLOBAL innodb_cleaner_max_lru_time=4294967295; +SELECT @@GLOBAL.innodb_cleaner_max_lru_time; +@@GLOBAL.innodb_cleaner_max_lru_time +4294967295 +SET GLOBAL innodb_cleaner_max_lru_time=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_lru_time' +SET GLOBAL innodb_cleaner_max_lru_time=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_lru_time' +SET GLOBAL innodb_cleaner_max_lru_time='foo'; +ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_lru_time' +SET GLOBAL innodb_cleaner_max_lru_time = @start_value; diff --git a/mysql-test/suite/sys_vars/r/innodb_empty_free_list_algorithm_basic.result b/mysql-test/suite/sys_vars/r/innodb_empty_free_list_algorithm_basic.result new file mode 100644 index 00000000000..f95553e3fa2 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_empty_free_list_algorithm_basic.result @@ -0,0 +1,23 @@ +SET @start_value = @@GLOBAL.innodb_empty_free_list_algorithm; +SELECT @@GLOBAL.innodb_empty_free_list_algorithm; +@@GLOBAL.innodb_empty_free_list_algorithm +backoff +SELECT @@SESSION.innodb_empty_free_list_algorithm; +ERROR HY000: Variable 'innodb_empty_free_list_algorithm' is a GLOBAL variable +SET GLOBAL innodb_empty_free_list_algorithm='legacy'; +SELECT @@GLOBAL.innodb_empty_free_list_algorithm; +@@GLOBAL.innodb_empty_free_list_algorithm +legacy +SET GLOBAL innodb_empty_free_list_algorithm='backoff'; +SELECT @@GLOBAL.innodb_empty_free_list_algorithm; +@@GLOBAL.innodb_empty_free_list_algorithm +backoff +SET GLOBAL innodb_empty_free_list_algorithm=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_empty_free_list_algorithm' +SET GLOBAL innodb_empty_free_list_algorithm=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_empty_free_list_algorithm' +SET GLOBAL innodb_empty_free_list_algorithm=2; +ERROR 42000: Variable 'innodb_empty_free_list_algorithm' can't be set to the value of '2' +SET GLOBAL innodb_empty_free_list_algorithm='foo'; +ERROR 42000: Variable 'innodb_empty_free_list_algorithm' can't be set to the value of 'foo' +SET GLOBAL innodb_empty_free_list_algorithm = @start_value; diff --git a/mysql-test/suite/sys_vars/r/innodb_foreground_preflush_basic.result b/mysql-test/suite/sys_vars/r/innodb_foreground_preflush_basic.result new file mode 100644 index 00000000000..4ad0ce8d78e --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_foreground_preflush_basic.result @@ -0,0 +1,23 @@ +SET @start_value = @@GLOBAL.innodb_foreground_preflush; +SELECT @@GLOBAL.innodb_foreground_preflush; +@@GLOBAL.innodb_foreground_preflush +exponential_backoff +SELECT @@SESSION.innodb_foreground_preflush; +ERROR HY000: Variable 'innodb_foreground_preflush' is a GLOBAL variable +SET GLOBAL innodb_foreground_preflush='sync_preflush'; +SELECT @@GLOBAL.innodb_foreground_preflush; +@@GLOBAL.innodb_foreground_preflush +sync_preflush +SET GLOBAL innodb_foreground_preflush='exponential_backoff'; +SELECT @@GLOBAL.innodb_foreground_preflush; +@@GLOBAL.innodb_foreground_preflush +exponential_backoff +SET GLOBAL innodb_foreground_preflush=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_foreground_preflush' +SET GLOBAL innodb_foreground_preflush=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_foreground_preflush' +SET GLOBAL innodb_foreground_preflush=2; +ERROR 42000: Variable 'innodb_foreground_preflush' can't be set to the value of '2' +SET GLOBAL innodb_foreground_preflush='foo'; +ERROR 42000: Variable 'innodb_foreground_preflush' can't be set to the value of 'foo' +SET GLOBAL innodb_foreground_preflush = @start_value; diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit_basic.result b/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit_basic.result new file mode 100644 index 00000000000..0aefabd48f7 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_ft_result_cache_limit_basic.result @@ -0,0 +1,32 @@ +select @@global.innodb_ft_result_cache_limit; +@@global.innodb_ft_result_cache_limit +2000000000 +select @@session.innodb_ft_result_cache_limit; +ERROR HY000: Variable 'innodb_ft_result_cache_limit' is a GLOBAL variable +show global variables like 'innodb_ft_result_cache_limit'; +Variable_name Value +innodb_ft_result_cache_limit 2000000000 +show session variables like 'innodb_ft_result_cache_limit'; +Variable_name Value +innodb_ft_result_cache_limit 2000000000 +select * from information_schema.global_variables where variable_name='innodb_ft_result_cache_limit'; +VARIABLE_NAME VARIABLE_VALUE +INNODB_FT_RESULT_CACHE_LIMIT 2000000000 +select * from information_schema.session_variables where variable_name='innodb_ft_result_cache_limit'; +VARIABLE_NAME VARIABLE_VALUE +INNODB_FT_RESULT_CACHE_LIMIT 2000000000 +set global innodb_ft_result_cache_limit=900000; +Warnings: +Warning 1292 Truncated incorrect innodb_ft_result_cache_limit value: '900000' +select @@innodb_ft_result_cache_limit; +@@innodb_ft_result_cache_limit +1000000 +set global innodb_ft_result_cache_limit=1000000; +select @@innodb_ft_result_cache_limit; +@@innodb_ft_result_cache_limit +1000000 +set global innodb_ft_result_cache_limit=4000000000; +select @@innodb_ft_result_cache_limit; +@@innodb_ft_result_cache_limit +4000000000 +set global innodb_ft_result_cache_limit=2000000000; diff --git a/mysql-test/suite/sys_vars/r/innodb_ft_total_cache_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_ft_total_cache_size_basic.result new file mode 100644 index 00000000000..ff234a1fcbf --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_ft_total_cache_size_basic.result @@ -0,0 +1,21 @@ +select @@global.innodb_ft_total_cache_size; +@@global.innodb_ft_total_cache_size +640000000 +select @@session.innodb_ft_total_cache_size; +ERROR HY000: Variable 'innodb_ft_total_cache_size' is a GLOBAL variable +show global variables like 'innodb_ft_total_cache_size'; +Variable_name Value +innodb_ft_total_cache_size 640000000 +show session variables like 'innodb_ft_total_cache_size'; +Variable_name Value +innodb_ft_total_cache_size 640000000 +select * from information_schema.global_variables where variable_name='innodb_ft_total_cache_size'; +VARIABLE_NAME VARIABLE_VALUE +INNODB_FT_TOTAL_CACHE_SIZE 640000000 +select * from information_schema.session_variables where variable_name='innodb_ft_total_cache_size'; +VARIABLE_NAME VARIABLE_VALUE +INNODB_FT_TOTAL_CACHE_SIZE 640000000 +set global innodb_ft_total_cache_size=1; +ERROR HY000: Variable 'innodb_ft_total_cache_size' is a read only variable +set session innodb_ft_total_cache_size=1; +ERROR HY000: Variable 'innodb_ft_total_cache_size' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/innodb_log_arch_dir_basic.result b/mysql-test/suite/sys_vars/r/innodb_log_arch_dir_basic.result new file mode 100644 index 00000000000..bead0303520 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_log_arch_dir_basic.result @@ -0,0 +1,38 @@ +SELECT @@GLOBAL.innodb_log_arch_dir; +@@GLOBAL.innodb_log_arch_dir +./ +NULL Expected +SET @@GLOBAL.innodb_log_arch_dir=1; +ERROR HY000: Variable 'innodb_log_arch_dir' is a read only variable +Expected error 'Read only variable' +SELECT @@GLOBAL.innodb_log_arch_dir; +@@GLOBAL.innodb_log_arch_dir +./ +NULL Expected +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_arch_dir'; +VARIABLE_VALUE +./ +empty string Expected +SELECT @@innodb_log_arch_dir; +@@innodb_log_arch_dir +./ +NULL Expected +SELECT @@innodb_log_arch_dir; +@@innodb_log_arch_dir +./ +NULL Expected +SELECT @@local.innodb_log_arch_dir; +ERROR HY000: Variable 'innodb_log_arch_dir' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT @@SESSION.innodb_log_arch_dir; +ERROR HY000: Variable 'innodb_log_arch_dir' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT @@GLOBAL.innodb_log_arch_dir; +@@GLOBAL.innodb_log_arch_dir +./ +NULL Expected +SELECT innodb_log_arch_dir = @@SESSION.innodb_log_arch_dir; +ERROR 42S22: Unknown column 'innodb_log_arch_dir' in 'field list' +Expected error Unknown column 'innodb_log_arch_dir' in 'field list' diff --git a/mysql-test/suite/sys_vars/r/innodb_log_arch_expire_sec_basic.result b/mysql-test/suite/sys_vars/r/innodb_log_arch_expire_sec_basic.result new file mode 100644 index 00000000000..97bff097252 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_log_arch_expire_sec_basic.result @@ -0,0 +1,38 @@ +SELECT @@GLOBAL.innodb_log_arch_expire_sec INTO @save; +SELECT @@GLOBAL.innodb_log_arch_expire_sec; +@@GLOBAL.innodb_log_arch_expire_sec +0 +0 Expected +SET @@GLOBAL.innodb_log_arch_expire_sec=1; +SELECT @@GLOBAL.innodb_log_arch_expire_sec; +@@GLOBAL.innodb_log_arch_expire_sec +1 +1 Expected +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_arch_expire_sec'; +VARIABLE_VALUE +1 +1 Expected +SELECT @@innodb_log_arch_expire_sec; +@@innodb_log_arch_expire_sec +1 +1 Expected +SELECT @@innodb_log_arch_expire_sec; +@@innodb_log_arch_expire_sec +1 +1 Expected +SELECT @@local.innodb_log_arch_expire_sec; +ERROR HY000: Variable 'innodb_log_arch_expire_sec' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT @@SESSION.innodb_log_arch_expire_sec; +ERROR HY000: Variable 'innodb_log_arch_expire_sec' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT @@GLOBAL.innodb_log_arch_expire_sec; +@@GLOBAL.innodb_log_arch_expire_sec +1 +1 Expected +SELECT innodb_log_arch_expire_sec = @@SESSION.innodb_log_arch_expire_sec; +ERROR 42S22: Unknown column 'innodb_log_arch_expire_sec' in 'field list' +Expected error Unknown column 'innodb_log_arch_expire_sec' in 'field list' +SET @@GLOBAL.innodb_log_arch_expire_sec = @save; diff --git a/mysql-test/suite/sys_vars/r/innodb_log_archive_basic.result b/mysql-test/suite/sys_vars/r/innodb_log_archive_basic.result new file mode 100644 index 00000000000..bb9b53482fa --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_log_archive_basic.result @@ -0,0 +1,38 @@ +SELECT @@GLOBAL.innodb_log_archive; +@@GLOBAL.innodb_log_archive +0 +0 Expected +SET @save_innodb_log_archive = @@GLOBAL.innodb_log_archive; +SET @@GLOBAL.innodb_log_archive=1; +SELECT @@GLOBAL.innodb_log_archive; +@@GLOBAL.innodb_log_archive +1 +1 Expected +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_archive'; +VARIABLE_VALUE +ON +ON Expected +SET @@GLOBAL.innodb_log_archive = @save_innodb_log_archive; +SELECT @@innodb_log_archive; +@@innodb_log_archive +0 +0 Expected +SELECT @@innodb_log_archive; +@@innodb_log_archive +0 +0 Expected +SELECT @@local.innodb_log_archive; +ERROR HY000: Variable 'innodb_log_archive' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT @@SESSION.innodb_log_archive; +ERROR HY000: Variable 'innodb_log_archive' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT @@GLOBAL.innodb_log_archive; +@@GLOBAL.innodb_log_archive +0 +0 Expected +SELECT innodb_log_archive = @@SESSION.innodb_log_archive; +ERROR 42S22: Unknown column 'innodb_log_archive' in 'field list' +Expected error Unknown column 'innodb_log_archive' in 'field list' diff --git a/mysql-test/suite/sys_vars/r/innodb_log_checksum_algorithm_basic.result b/mysql-test/suite/sys_vars/r/innodb_log_checksum_algorithm_basic.result new file mode 100644 index 00000000000..cb03046c84d --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_log_checksum_algorithm_basic.result @@ -0,0 +1,47 @@ +SET @orig = @@global.innodb_log_checksum_algorithm; +SELECT @orig; +@orig +innodb +SET GLOBAL innodb_log_checksum_algorithm = 'crc32'; +SELECT @@global.innodb_log_checksum_algorithm; +@@global.innodb_log_checksum_algorithm +crc32 +SET GLOBAL innodb_log_checksum_algorithm = 'strict_crc32'; +SELECT @@global.innodb_log_checksum_algorithm; +@@global.innodb_log_checksum_algorithm +strict_crc32 +SET GLOBAL innodb_log_checksum_algorithm = 'innodb'; +SELECT @@global.innodb_log_checksum_algorithm; +@@global.innodb_log_checksum_algorithm +innodb +SET GLOBAL innodb_log_checksum_algorithm = 'strict_innodb'; +SELECT @@global.innodb_log_checksum_algorithm; +@@global.innodb_log_checksum_algorithm +strict_innodb +SET GLOBAL innodb_log_checksum_algorithm = 'none'; +SELECT @@global.innodb_log_checksum_algorithm; +@@global.innodb_log_checksum_algorithm +none +SET GLOBAL innodb_log_checksum_algorithm = 'strict_none'; +SELECT @@global.innodb_log_checksum_algorithm; +@@global.innodb_log_checksum_algorithm +strict_none +SET GLOBAL innodb_log_checksum_algorithm = ''; +ERROR 42000: Variable 'innodb_log_checksum_algorithm' can't be set to the value of '' +SELECT @@global.innodb_log_checksum_algorithm; +@@global.innodb_log_checksum_algorithm +strict_none +SET GLOBAL innodb_log_checksum_algorithm = 'foobar'; +ERROR 42000: Variable 'innodb_log_checksum_algorithm' can't be set to the value of 'foobar' +SELECT @@global.innodb_log_checksum_algorithm; +@@global.innodb_log_checksum_algorithm +strict_none +SET GLOBAL innodb_log_checksum_algorithm = 123; +ERROR 42000: Variable 'innodb_log_checksum_algorithm' can't be set to the value of '123' +SELECT @@global.innodb_log_checksum_algorithm; +@@global.innodb_log_checksum_algorithm +strict_none +SET GLOBAL innodb_log_checksum_algorithm = @orig; +SELECT @@global.innodb_log_checksum_algorithm; +@@global.innodb_log_checksum_algorithm +innodb diff --git a/mysql-test/suite/sys_vars/r/innodb_log_compressed_pages_basic.result b/mysql-test/suite/sys_vars/r/innodb_log_compressed_pages_basic.result new file mode 100644 index 00000000000..8cb8d900b59 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_log_compressed_pages_basic.result @@ -0,0 +1,69 @@ +SET @start_global_value = @@global.innodb_log_compressed_pages; +SELECT @start_global_value; +@start_global_value +1 +'#---------------------BS_STVARS_028_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages); +COUNT(@@GLOBAL.innodb_log_compressed_pages) +1 +1 Expected +'#---------------------BS_STVARS_028_02----------------------#' +SET @@global.innodb_log_compressed_pages = 0; +SELECT @@global.innodb_log_compressed_pages; +@@global.innodb_log_compressed_pages +0 +SET @@global.innodb_log_compressed_pages ='On' ; +SELECT @@global.innodb_log_compressed_pages; +@@global.innodb_log_compressed_pages +1 +SET @@global.innodb_log_compressed_pages ='Off' ; +SELECT @@global.innodb_log_compressed_pages; +@@global.innodb_log_compressed_pages +0 +SET @@global.innodb_log_compressed_pages = 1; +SELECT @@global.innodb_log_compressed_pages; +@@global.innodb_log_compressed_pages +1 +'#---------------------BS_STVARS_028_03----------------------#' +SELECT IF(@@GLOBAL.innodb_log_compressed_pages,'ON','OFF') = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_compressed_pages'; +IF(@@GLOBAL.innodb_log_compressed_pages,'ON','OFF') = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages); +COUNT(@@GLOBAL.innodb_log_compressed_pages) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_compressed_pages'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_028_04----------------------#' +SELECT @@innodb_log_compressed_pages = @@GLOBAL.innodb_log_compressed_pages; +@@innodb_log_compressed_pages = @@GLOBAL.innodb_log_compressed_pages +1 +1 Expected +'#---------------------BS_STVARS_028_05----------------------#' +SELECT COUNT(@@innodb_log_compressed_pages); +COUNT(@@innodb_log_compressed_pages) +1 +1 Expected +SELECT COUNT(@@local.innodb_log_compressed_pages); +ERROR HY000: Variable 'innodb_log_compressed_pages' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_log_compressed_pages); +ERROR HY000: Variable 'innodb_log_compressed_pages' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages); +COUNT(@@GLOBAL.innodb_log_compressed_pages) +1 +1 Expected +SELECT innodb_log_compressed_pages = @@SESSION.innodb_log_compressed_pages; +ERROR 42S22: Unknown column 'innodb_log_compressed_pages' in 'field list' +SET @@global.innodb_log_compressed_pages = @start_global_value; +SELECT @@global.innodb_log_compressed_pages; +@@global.innodb_log_compressed_pages +1 diff --git a/mysql-test/suite/sys_vars/r/innodb_merge_sort_block_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_merge_sort_block_size_basic.result deleted file mode 100644 index 90c2954e43d..00000000000 --- a/mysql-test/suite/sys_vars/r/innodb_merge_sort_block_size_basic.result +++ /dev/null @@ -1,24 +0,0 @@ -SELECT @@global.innodb_merge_sort_block_size; -@@global.innodb_merge_sort_block_size -1048576 -SELECT @@session.innodb_merge_sort_block_size; -@@session.innodb_merge_sort_block_size -1048576 -SET @old_global=@@global.innodb_merge_sort_block_size; -SET @old_session=@@session.innodb_merge_sort_block_size; -SET @@global.innodb_merge_sort_block_size = 2*1024*1024; -SET @@session.innodb_merge_sort_block_size = 4*1024*1024; -SELECT @@global.innodb_merge_sort_block_size; -@@global.innodb_merge_sort_block_size -2097152 -SELECT @@session.innodb_merge_sort_block_size; -@@session.innodb_merge_sort_block_size -4194304 -SET @@global.innodb_merge_sort_block_size = 1024*1024*1024+1; -Warnings: -Warning 1292 Truncated incorrect innodb_merge_sort_block_size value: '1073741825' -SELECT @@global.innodb_merge_sort_block_size; -@@global.innodb_merge_sort_block_size -1073741824 -SET @@global.innodb_merge_sort_block_size=@old_global; -SET @@session.innodb_merge_sort_block_size=@old_session; diff --git a/mysql-test/suite/sys_vars/r/innodb_monitor_disable_basic.result b/mysql-test/suite/sys_vars/r/innodb_monitor_disable_basic.result index 7a7c0a6b6a2..ce57dbb2fdc 100644 --- a/mysql-test/suite/sys_vars/r/innodb_monitor_disable_basic.result +++ b/mysql-test/suite/sys_vars/r/innodb_monitor_disable_basic.result @@ -43,6 +43,7 @@ buffer_data_written disabled buffer_flush_batch_scanned disabled buffer_flush_batch_num_scan disabled buffer_flush_batch_scanned_per_call disabled +buffer_flush_batch_rescan disabled buffer_flush_batch_total_pages disabled buffer_flush_batches disabled buffer_flush_batch_pages disabled diff --git a/mysql-test/suite/sys_vars/r/innodb_monitor_enable_basic.result b/mysql-test/suite/sys_vars/r/innodb_monitor_enable_basic.result index 7a7c0a6b6a2..ce57dbb2fdc 100644 --- a/mysql-test/suite/sys_vars/r/innodb_monitor_enable_basic.result +++ b/mysql-test/suite/sys_vars/r/innodb_monitor_enable_basic.result @@ -43,6 +43,7 @@ buffer_data_written disabled buffer_flush_batch_scanned disabled buffer_flush_batch_num_scan disabled buffer_flush_batch_scanned_per_call disabled +buffer_flush_batch_rescan disabled buffer_flush_batch_total_pages disabled buffer_flush_batches disabled buffer_flush_batch_pages disabled diff --git a/mysql-test/suite/sys_vars/r/innodb_monitor_reset_all_basic.result b/mysql-test/suite/sys_vars/r/innodb_monitor_reset_all_basic.result index 7a7c0a6b6a2..ce57dbb2fdc 100644 --- a/mysql-test/suite/sys_vars/r/innodb_monitor_reset_all_basic.result +++ b/mysql-test/suite/sys_vars/r/innodb_monitor_reset_all_basic.result @@ -43,6 +43,7 @@ buffer_data_written disabled buffer_flush_batch_scanned disabled buffer_flush_batch_num_scan disabled buffer_flush_batch_scanned_per_call disabled +buffer_flush_batch_rescan disabled buffer_flush_batch_total_pages disabled buffer_flush_batches disabled buffer_flush_batch_pages disabled diff --git a/mysql-test/suite/sys_vars/r/innodb_monitor_reset_basic.result b/mysql-test/suite/sys_vars/r/innodb_monitor_reset_basic.result index 7a7c0a6b6a2..ce57dbb2fdc 100644 --- a/mysql-test/suite/sys_vars/r/innodb_monitor_reset_basic.result +++ b/mysql-test/suite/sys_vars/r/innodb_monitor_reset_basic.result @@ -43,6 +43,7 @@ buffer_data_written disabled buffer_flush_batch_scanned disabled buffer_flush_batch_num_scan disabled buffer_flush_batch_scanned_per_call disabled +buffer_flush_batch_rescan disabled buffer_flush_batch_total_pages disabled buffer_flush_batches disabled buffer_flush_batch_pages disabled diff --git a/mysql-test/suite/sys_vars/r/innodb_persistent_stats_root_page_basic.result b/mysql-test/suite/sys_vars/r/innodb_persistent_stats_root_page_basic.result deleted file mode 100644 index 38347ef8c68..00000000000 --- a/mysql-test/suite/sys_vars/r/innodb_persistent_stats_root_page_basic.result +++ /dev/null @@ -1,24 +0,0 @@ -SELECT @@global.innodb_persistent_stats_root_page; -@@global.innodb_persistent_stats_root_page -0 -SELECT COUNT(@@global.innodb_persistent_stats_root_page); -COUNT(@@global.innodb_persistent_stats_root_page) -1 -SET @@global.innodb_persistent_stats_root_page=100; -ERROR HY000: Variable 'innodb_persistent_stats_root_page' is a read only variable -SELECT @@global.innodb_persistent_stats_root_page = VARIABLE_VALUE -FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES -WHERE VARIABLE_NAME='innodb_persistent_stats_root_page'; -@@global.innodb_persistent_stats_root_page = VARIABLE_VALUE -1 -SELECT COUNT(*) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES -WHERE VARIABLE_NAME='innodb_persistent_stats_root_page'; -COUNT(*) -1 -SELECT @@innodb_persistent_stats_root_page = @@global.innodb_persistent_stats_root_page; -@@innodb_persistent_stats_root_page = @@global.innodb_persistent_stats_root_page -1 -SELECT COUNT(@@local.innodb_persistent_stats_root_page); -ERROR HY000: Variable 'innodb_persistent_stats_root_page' is a GLOBAL variable -SELECT COUNT(@@session.innodb_persistent_stats_root_page); -ERROR HY000: Variable 'innodb_persistent_stats_root_page' is a GLOBAL variable diff --git a/mysql-test/suite/sys_vars/r/innodb_priority_cleaner_basic.result b/mysql-test/suite/sys_vars/r/innodb_priority_cleaner_basic.result new file mode 100644 index 00000000000..ae5e12ee64a --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_priority_cleaner_basic.result @@ -0,0 +1,31 @@ +SET @start_value = @@GLOBAL.innodb_priority_cleaner; +SELECT @@GLOBAL.innodb_priority_cleaner; +@@GLOBAL.innodb_priority_cleaner +0 +SELECT @@SESSION.innodb_priority_cleaner; +ERROR HY000: Variable 'innodb_priority_cleaner' is a GLOBAL variable +SET GLOBAL innodb_priority_cleaner='OFF'; +SELECT @@GLOBAL.innodb_priority_cleaner; +@@GLOBAL.innodb_priority_cleaner +0 +SET GLOBAL innodb_priority_cleaner='ON'; +SELECT @@GLOBAL.innodb_priority_cleaner; +@@GLOBAL.innodb_priority_cleaner +1 +SET GLOBAL innodb_priority_cleaner=0; +SELECT @@GLOBAL.innodb_priority_cleaner; +@@GLOBAL.innodb_priority_cleaner +0 +SET GLOBAL innodb_priority_cleaner=1; +SELECT @@GLOBAL.innodb_priority_cleaner; +@@GLOBAL.innodb_priority_cleaner +1 +SET GLOBAL innodb_priority_cleaner=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_priority_cleaner' +SET GLOBAL innodb_priority_cleaner=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_priority_cleaner' +SET GLOBAL innodb_priority_cleaner=2; +ERROR 42000: Variable 'innodb_priority_cleaner' can't be set to the value of '2' +SET GLOBAL innodb_priority_cleaner='foo'; +ERROR 42000: Variable 'innodb_priority_cleaner' can't be set to the value of 'foo' +SET GLOBAL innodb_priority_cleaner = @start_value; diff --git a/mysql-test/suite/sys_vars/r/innodb_priority_io_basic.result b/mysql-test/suite/sys_vars/r/innodb_priority_io_basic.result new file mode 100644 index 00000000000..70ccb5e4cf4 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_priority_io_basic.result @@ -0,0 +1,31 @@ +SET @start_value = @@GLOBAL.innodb_priority_io; +SELECT @@GLOBAL.innodb_priority_io; +@@GLOBAL.innodb_priority_io +0 +SELECT @@SESSION.innodb_priority_io; +ERROR HY000: Variable 'innodb_priority_io' is a GLOBAL variable +SET GLOBAL innodb_priority_io='OFF'; +SELECT @@GLOBAL.innodb_priority_io; +@@GLOBAL.innodb_priority_io +0 +SET GLOBAL innodb_priority_io='ON'; +SELECT @@GLOBAL.innodb_priority_io; +@@GLOBAL.innodb_priority_io +1 +SET GLOBAL innodb_priority_io=0; +SELECT @@GLOBAL.innodb_priority_io; +@@GLOBAL.innodb_priority_io +0 +SET GLOBAL innodb_priority_io=1; +SELECT @@GLOBAL.innodb_priority_io; +@@GLOBAL.innodb_priority_io +1 +SET GLOBAL innodb_priority_io=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_priority_io' +SET GLOBAL innodb_priority_io=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_priority_io' +SET GLOBAL innodb_priority_io=2; +ERROR 42000: Variable 'innodb_priority_io' can't be set to the value of '2' +SET GLOBAL innodb_priority_io='foo'; +ERROR 42000: Variable 'innodb_priority_io' can't be set to the value of 'foo' +SET GLOBAL innodb_priority_io = @start_value; diff --git a/mysql-test/suite/sys_vars/r/innodb_priority_master_basic.result b/mysql-test/suite/sys_vars/r/innodb_priority_master_basic.result new file mode 100644 index 00000000000..d26ead2ff7e --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_priority_master_basic.result @@ -0,0 +1,31 @@ +SET @start_value = @@GLOBAL.innodb_priority_master; +SELECT @@GLOBAL.innodb_priority_master; +@@GLOBAL.innodb_priority_master +0 +SELECT @@SESSION.innodb_priority_master; +ERROR HY000: Variable 'innodb_priority_master' is a GLOBAL variable +SET GLOBAL innodb_priority_master='OFF'; +SELECT @@GLOBAL.innodb_priority_master; +@@GLOBAL.innodb_priority_master +0 +SET GLOBAL innodb_priority_master='ON'; +SELECT @@GLOBAL.innodb_priority_master; +@@GLOBAL.innodb_priority_master +1 +SET GLOBAL innodb_priority_master=0; +SELECT @@GLOBAL.innodb_priority_master; +@@GLOBAL.innodb_priority_master +0 +SET GLOBAL innodb_priority_master=1; +SELECT @@GLOBAL.innodb_priority_master; +@@GLOBAL.innodb_priority_master +1 +SET GLOBAL innodb_priority_master=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_priority_master' +SET GLOBAL innodb_priority_master=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_priority_master' +SET GLOBAL innodb_priority_master=2; +ERROR 42000: Variable 'innodb_priority_master' can't be set to the value of '2' +SET GLOBAL innodb_priority_master='foo'; +ERROR 42000: Variable 'innodb_priority_master' can't be set to the value of 'foo' +SET GLOBAL innodb_priority_master = @start_value; diff --git a/mysql-test/suite/sys_vars/r/innodb_priority_purge_basic.result b/mysql-test/suite/sys_vars/r/innodb_priority_purge_basic.result new file mode 100644 index 00000000000..57153ebf82a --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_priority_purge_basic.result @@ -0,0 +1,31 @@ +SET @start_value = @@GLOBAL.innodb_priority_purge; +SELECT @@GLOBAL.innodb_priority_purge; +@@GLOBAL.innodb_priority_purge +0 +SELECT @@SESSION.innodb_priority_purge; +ERROR HY000: Variable 'innodb_priority_purge' is a GLOBAL variable +SET GLOBAL innodb_priority_purge='OFF'; +SELECT @@GLOBAL.innodb_priority_purge; +@@GLOBAL.innodb_priority_purge +0 +SET GLOBAL innodb_priority_purge='ON'; +SELECT @@GLOBAL.innodb_priority_purge; +@@GLOBAL.innodb_priority_purge +1 +SET GLOBAL innodb_priority_purge=0; +SELECT @@GLOBAL.innodb_priority_purge; +@@GLOBAL.innodb_priority_purge +0 +SET GLOBAL innodb_priority_purge=1; +SELECT @@GLOBAL.innodb_priority_purge; +@@GLOBAL.innodb_priority_purge +1 +SET GLOBAL innodb_priority_purge=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_priority_purge' +SET GLOBAL innodb_priority_purge=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_priority_purge' +SET GLOBAL innodb_priority_purge=2; +ERROR 42000: Variable 'innodb_priority_purge' can't be set to the value of '2' +SET GLOBAL innodb_priority_purge='foo'; +ERROR 42000: Variable 'innodb_priority_purge' can't be set to the value of 'foo' +SET GLOBAL innodb_priority_purge = @start_value; diff --git a/mysql-test/suite/sys_vars/r/innodb_sched_priority_cleaner_basic.result b/mysql-test/suite/sys_vars/r/innodb_sched_priority_cleaner_basic.result new file mode 100644 index 00000000000..1183fb27732 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_sched_priority_cleaner_basic.result @@ -0,0 +1,30 @@ +SET @start_value = @@GLOBAL.innodb_sched_priority_cleaner; +SELECT @@GLOBAL.innodb_sched_priority_cleaner; +@@GLOBAL.innodb_sched_priority_cleaner +19 +SELECT @@SESSION.innodb_sched_priority_cleaner; +ERROR HY000: Variable 'innodb_sched_priority_cleaner' is a GLOBAL variable +SET GLOBAL innodb_sched_priority_cleaner=19; +SELECT @@GLOBAL.innodb_sched_priority_cleaner; +@@GLOBAL.innodb_sched_priority_cleaner +19 +SET GLOBAL innodb_sched_priority_cleaner=5; +SELECT @@GLOBAL.innodb_sched_priority_cleaner; +@@GLOBAL.innodb_sched_priority_cleaner +5 +SET GLOBAL innodb_sched_priority_cleaner=0; +SELECT @@GLOBAL.innodb_sched_priority_cleaner; +@@GLOBAL.innodb_sched_priority_cleaner +0 +SET GLOBAL innodb_sched_priority_cleaner=-1; +Warnings: +Warning 1292 Truncated incorrect innodb_sched_priority_cleaner value: '-1' +SELECT @@GLOBAL.innodb_sched_priority_cleaner; +@@GLOBAL.innodb_sched_priority_cleaner +0 +SET GLOBAL innodb_sched_priority_cleaner=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_cleaner' +SET GLOBAL innodb_sched_priority_cleaner=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_cleaner' +SET GLOBAL innodb_sched_priority_cleaner='foo'; +ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_cleaner' diff --git a/mysql-test/suite/sys_vars/r/innodb_sched_priority_io_basic.result b/mysql-test/suite/sys_vars/r/innodb_sched_priority_io_basic.result new file mode 100644 index 00000000000..5fd7705bfaf --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_sched_priority_io_basic.result @@ -0,0 +1,30 @@ +SET @start_value = @@GLOBAL.innodb_sched_priority_io; +SELECT @@GLOBAL.innodb_sched_priority_io; +@@GLOBAL.innodb_sched_priority_io +19 +SELECT @@SESSION.innodb_sched_priority_io; +ERROR HY000: Variable 'innodb_sched_priority_io' is a GLOBAL variable +SET GLOBAL innodb_sched_priority_io=19; +SELECT @@GLOBAL.innodb_sched_priority_io; +@@GLOBAL.innodb_sched_priority_io +19 +SET GLOBAL innodb_sched_priority_io=5; +SELECT @@GLOBAL.innodb_sched_priority_io; +@@GLOBAL.innodb_sched_priority_io +5 +SET GLOBAL innodb_sched_priority_io=0; +SELECT @@GLOBAL.innodb_sched_priority_io; +@@GLOBAL.innodb_sched_priority_io +0 +SET GLOBAL innodb_sched_priority_io=-1; +Warnings: +Warning 1292 Truncated incorrect innodb_sched_priority_io value: '-1' +SELECT @@GLOBAL.innodb_sched_priority_io; +@@GLOBAL.innodb_sched_priority_io +0 +SET GLOBAL innodb_sched_priority_io=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_io' +SET GLOBAL innodb_sched_priority_io=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_io' +SET GLOBAL innodb_sched_priority_io='foo'; +ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_io' diff --git a/mysql-test/suite/sys_vars/r/innodb_sched_priority_master_basic.result b/mysql-test/suite/sys_vars/r/innodb_sched_priority_master_basic.result new file mode 100644 index 00000000000..caa72f58369 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_sched_priority_master_basic.result @@ -0,0 +1,30 @@ +SET @start_value = @@GLOBAL.innodb_sched_priority_master; +SELECT @@GLOBAL.innodb_sched_priority_master; +@@GLOBAL.innodb_sched_priority_master +19 +SELECT @@SESSION.innodb_sched_priority_master; +ERROR HY000: Variable 'innodb_sched_priority_master' is a GLOBAL variable +SET GLOBAL innodb_sched_priority_master=19; +SELECT @@GLOBAL.innodb_sched_priority_master; +@@GLOBAL.innodb_sched_priority_master +19 +SET GLOBAL innodb_sched_priority_master=5; +SELECT @@GLOBAL.innodb_sched_priority_master; +@@GLOBAL.innodb_sched_priority_master +5 +SET GLOBAL innodb_sched_priority_master=0; +SELECT @@GLOBAL.innodb_sched_priority_master; +@@GLOBAL.innodb_sched_priority_master +0 +SET GLOBAL innodb_sched_priority_master=-1; +Warnings: +Warning 1292 Truncated incorrect innodb_sched_priority_master value: '-1' +SELECT @@GLOBAL.innodb_sched_priority_master; +@@GLOBAL.innodb_sched_priority_master +0 +SET GLOBAL innodb_sched_priority_master=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_master' +SET GLOBAL innodb_sched_priority_master=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_master' +SET GLOBAL innodb_sched_priority_master='foo'; +ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_master' diff --git a/mysql-test/suite/sys_vars/r/innodb_sched_priority_purge_basic.result b/mysql-test/suite/sys_vars/r/innodb_sched_priority_purge_basic.result new file mode 100644 index 00000000000..e3b9c627214 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/innodb_sched_priority_purge_basic.result @@ -0,0 +1,30 @@ +SET @start_value = @@GLOBAL.innodb_sched_priority_purge; +SELECT @@GLOBAL.innodb_sched_priority_purge; +@@GLOBAL.innodb_sched_priority_purge +19 +SELECT @@SESSION.innodb_sched_priority_purge; +ERROR HY000: Variable 'innodb_sched_priority_purge' is a GLOBAL variable +SET GLOBAL innodb_sched_priority_purge=19; +SELECT @@GLOBAL.innodb_sched_priority_purge; +@@GLOBAL.innodb_sched_priority_purge +19 +SET GLOBAL innodb_sched_priority_purge=5; +SELECT @@GLOBAL.innodb_sched_priority_purge; +@@GLOBAL.innodb_sched_priority_purge +5 +SET GLOBAL innodb_sched_priority_purge=0; +SELECT @@GLOBAL.innodb_sched_priority_purge; +@@GLOBAL.innodb_sched_priority_purge +0 +SET GLOBAL innodb_sched_priority_purge=-1; +Warnings: +Warning 1292 Truncated incorrect innodb_sched_priority_purge value: '-1' +SELECT @@GLOBAL.innodb_sched_priority_purge; +@@GLOBAL.innodb_sched_priority_purge +0 +SET GLOBAL innodb_sched_priority_purge=1.1; +ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_purge' +SET GLOBAL innodb_sched_priority_purge=1e1; +ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_purge' +SET GLOBAL innodb_sched_priority_purge='foo'; +ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_purge' diff --git a/mysql-test/suite/sys_vars/r/innodb_sync_array_size_basic.result b/mysql-test/suite/sys_vars/r/innodb_sync_array_size_basic.result index df626e3373e..526dd7d8350 100644 --- a/mysql-test/suite/sys_vars/r/innodb_sync_array_size_basic.result +++ b/mysql-test/suite/sys_vars/r/innodb_sync_array_size_basic.result @@ -1,7 +1,3 @@ -SET @start_global_value = @@global.innodb_sync_array_size; -SELECT @start_global_value; -@start_global_value -1 Valid values are between 0 and 1024 SELECT @@global.innodb_sync_array_size between 0 and 1024; @@global.innodb_sync_array_size between 0 and 1024 @@ -11,69 +7,24 @@ SELECT @@global.innodb_sync_array_size; 1 SELECT @@session.innodb_sync_array_size; ERROR HY000: Variable 'innodb_sync_array_size' is a GLOBAL variable -SHOW global variables LIKE 'innodb_sync_array_size'; +SHOW GLOBAL variables LIKE 'innodb_sync_array_size'; Variable_name Value innodb_sync_array_size 1 -SHOW session variables LIKE 'innodb_sync_array_size'; +SHOW SESSION variables LIKE 'innodb_sync_array_size'; Variable_name Value innodb_sync_array_size 1 SELECT * FROM information_schema.global_variables -where variable_name='innodb_sync_array_size'; +WHERE variable_name='innodb_sync_array_size'; VARIABLE_NAME VARIABLE_VALUE INNODB_SYNC_ARRAY_SIZE 1 SELECT * FROM information_schema.session_variables -where variable_name='innodb_sync_array_size'; -VARIABLE_NAME VARIABLE_VALUE -INNODB_SYNC_ARRAY_SIZE 1 -SET global innodb_sync_array_size=10; -SELECT @@global.innodb_sync_array_size; -@@global.innodb_sync_array_size -10 -SELECT * FROM information_schema.global_variables -where variable_name='innodb_sync_array_size'; -VARIABLE_NAME VARIABLE_VALUE -INNODB_SYNC_ARRAY_SIZE 10 -SELECT * FROM information_schema.session_variables -where variable_name='innodb_sync_array_size'; -VARIABLE_NAME VARIABLE_VALUE -INNODB_SYNC_ARRAY_SIZE 10 -SET session innodb_sync_array_size=1; -ERROR HY000: Variable 'innodb_sync_array_size' is a GLOBAL variable and should be set with SET GLOBAL -SET global innodb_sync_array_size=1.1; -ERROR 42000: Incorrect argument type to variable 'innodb_sync_array_size' -SET global innodb_sync_array_size=1e1; -ERROR 42000: Incorrect argument type to variable 'innodb_sync_array_size' -SET global innodb_sync_array_size="foo"; -ERROR 42000: Incorrect argument type to variable 'innodb_sync_array_size' -SET global innodb_sync_array_size=-7; -Warnings: -Warning 1292 Truncated incorrect innodb_sync_array_size value: '-7' -SELECT @@global.innodb_sync_array_size; -@@global.innodb_sync_array_size -1 -SELECT * FROM information_schema.global_variables -where variable_name='innodb_sync_array_size'; +WHERE variable_name='innodb_sync_array_size'; VARIABLE_NAME VARIABLE_VALUE INNODB_SYNC_ARRAY_SIZE 1 -SET global innodb_sync_array_size=96; -SELECT @@global.innodb_sync_array_size; -@@global.innodb_sync_array_size -96 -SELECT * FROM information_schema.global_variables -where variable_name='innodb_sync_array_size'; -VARIABLE_NAME VARIABLE_VALUE -INNODB_SYNC_ARRAY_SIZE 96 -SET global innodb_sync_array_size=0; -Warnings: -Warning 1292 Truncated incorrect innodb_sync_array_size value: '0' -SELECT @@global.innodb_sync_array_size; -@@global.innodb_sync_array_size -1 -SET global innodb_sync_array_size=64; -SELECT @@global.innodb_sync_array_size; -@@global.innodb_sync_array_size -64 -SET @@global.innodb_sync_array_size = @start_global_value; +SET GLOBAL innodb_sync_array_size=10; +ERROR HY000: Variable 'innodb_sync_array_size' is a read only variable +SET SESSION innodb_sync_array_size=10; +ERROR HY000: Variable 'innodb_sync_array_size' is a read only variable SELECT @@global.innodb_sync_array_size; @@global.innodb_sync_array_size 1 diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_evict_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_evict_basic.test index ce42f64395f..f988292b21e 100644 --- a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_evict_basic.test +++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_evict_basic.test @@ -2,9 +2,9 @@ # This is a debug variable for now -- source include/have_debug.inc -if (`select plugin_auth_version <= "5.5.31-MariaDB-30.2" from information_schema.plugins where plugin_name='innodb'`) +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) { - --skip Not fixed in XtraDB 5.5.31-MariaDB-30.2 or earlier + --skip Not fixed in InnoDB 5.6.10 or earlier } SELECT @@global.innodb_buffer_pool_evict; diff --git a/mysql-test/suite/sys_vars/t/innodb_cleaner_eviction_factor_basic.test b/mysql-test/suite/sys_vars/t/innodb_cleaner_eviction_factor_basic.test new file mode 100644 index 00000000000..8e0af20a47e --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_cleaner_eviction_factor_basic.test @@ -0,0 +1,35 @@ +--source include/have_debug.inc +--source include/have_xtradb.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_cleaner_eviction_factor; + +# Default value +SELECT @@GLOBAL.innodb_cleaner_eviction_factor; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_cleaner_eviction_factor; + +# Correct values +SET GLOBAL innodb_cleaner_eviction_factor='OFF'; +SELECT @@GLOBAL.innodb_cleaner_eviction_factor; +SET GLOBAL innodb_cleaner_eviction_factor='ON'; +SELECT @@GLOBAL.innodb_cleaner_eviction_factor; +SET GLOBAL innodb_cleaner_eviction_factor=0; +SELECT @@GLOBAL.innodb_cleaner_eviction_factor; +SET GLOBAL innodb_cleaner_eviction_factor=1; +SELECT @@GLOBAL.innodb_cleaner_eviction_factor; + +# Incorrect values +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_eviction_factor=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_eviction_factor=1e1; +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_cleaner_eviction_factor=2; +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_cleaner_eviction_factor='foo'; + +SET GLOBAL innodb_cleaner_eviction_factor = @start_value; diff --git a/mysql-test/suite/sys_vars/t/innodb_cleaner_flush_chunk_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_cleaner_flush_chunk_size_basic.test new file mode 100644 index 00000000000..c65fc63c20f --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_cleaner_flush_chunk_size_basic.test @@ -0,0 +1,33 @@ +--source include/have_debug.inc +--source include/have_xtradb.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_cleaner_flush_chunk_size; + +# Default value +SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_cleaner_flush_chunk_size; + +# Correct values +SET GLOBAL innodb_cleaner_flush_chunk_size=1; +SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size; +SET GLOBAL innodb_cleaner_flush_chunk_size=1000; +SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size; +SET GLOBAL innodb_cleaner_flush_chunk_size=4294967295; +SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size; + +# Incorrect values +SET GLOBAL innodb_cleaner_flush_chunk_size=0; +SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_flush_chunk_size=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_flush_chunk_size=1e1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_flush_chunk_size='foo'; + +SET GLOBAL innodb_cleaner_flush_chunk_size = @start_value; diff --git a/mysql-test/suite/sys_vars/t/innodb_cleaner_free_list_lwm_basic.test b/mysql-test/suite/sys_vars/t/innodb_cleaner_free_list_lwm_basic.test new file mode 100644 index 00000000000..fa9d1e9f574 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_cleaner_free_list_lwm_basic.test @@ -0,0 +1,35 @@ +--source include/have_debug.inc +--source include/have_xtradb.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_cleaner_free_list_lwm; + +# Default value +SELECT @@GLOBAL.innodb_cleaner_free_list_lwm; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_cleaner_free_list_lwm; + +# Correct values +SET GLOBAL innodb_cleaner_free_list_lwm=0; +SELECT @@GLOBAL.innodb_cleaner_free_list_lwm; +SET GLOBAL innodb_cleaner_free_list_lwm=1; +SELECT @@GLOBAL.innodb_cleaner_free_list_lwm; +SET GLOBAL innodb_cleaner_free_list_lwm=99; +SELECT @@GLOBAL.innodb_cleaner_free_list_lwm; +SET GLOBAL innodb_cleaner_free_list_lwm=100; +SELECT @@GLOBAL.innodb_cleaner_free_list_lwm; + +# Incorrect values +SET GLOBAL innodb_cleaner_free_list_lwm=101; +SELECT @@innodb_cleaner_free_list_lwm; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_free_list_lwm=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_free_list_lwm=1e1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_free_list_lwm='foo'; + +SET GLOBAL innodb_cleaner_free_list_lwm = @start_value; diff --git a/mysql-test/suite/sys_vars/t/innodb_cleaner_lru_chunk_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_cleaner_lru_chunk_size_basic.test new file mode 100644 index 00000000000..12da590446c --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_cleaner_lru_chunk_size_basic.test @@ -0,0 +1,33 @@ +--source include/have_debug.inc +--source include/have_xtradb.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_cleaner_lru_chunk_size; + +# Default value +SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_cleaner_lru_chunk_size; + +# Correct values +SET GLOBAL innodb_cleaner_lru_chunk_size=1; +SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size; +SET GLOBAL innodb_cleaner_lru_chunk_size=1000; +SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size; +SET GLOBAL innodb_cleaner_lru_chunk_size=4294967295; +SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size; + +# Incorrect values +SET GLOBAL innodb_cleaner_lru_chunk_size=0; +SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_lru_chunk_size=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_lru_chunk_size=1e1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_lru_chunk_size='foo'; + +SET GLOBAL innodb_cleaner_lru_chunk_size = @start_value; diff --git a/mysql-test/suite/sys_vars/t/innodb_cleaner_lsn_age_factor_basic.test b/mysql-test/suite/sys_vars/t/innodb_cleaner_lsn_age_factor_basic.test new file mode 100644 index 00000000000..b34fcc94494 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_cleaner_lsn_age_factor_basic.test @@ -0,0 +1,28 @@ +--source include/have_xtradb.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_cleaner_lsn_age_factor; + +# Default value +SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_cleaner_lsn_age_factor; + +# Correct values +SET GLOBAL innodb_cleaner_lsn_age_factor='legacy'; +SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor; +SET GLOBAL innodb_cleaner_lsn_age_factor='high_checkpoint'; +SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor; + +# Incorrect values +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_lsn_age_factor=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_lsn_age_factor=1e1; +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_cleaner_lsn_age_factor='foo'; + +SET GLOBAL innodb_cleaner_lsn_age_factor = @start_value; diff --git a/mysql-test/suite/sys_vars/t/innodb_cleaner_max_flush_time_basic.test b/mysql-test/suite/sys_vars/t/innodb_cleaner_max_flush_time_basic.test new file mode 100644 index 00000000000..283c651d0c5 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_cleaner_max_flush_time_basic.test @@ -0,0 +1,31 @@ +--source include/have_debug.inc +--source include/have_xtradb.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_cleaner_max_flush_time; + +# Default value +SELECT @@GLOBAL.innodb_cleaner_max_flush_time; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_cleaner_max_flush_time; + +# Correct values +SET GLOBAL innodb_cleaner_max_flush_time=0; +SELECT @@GLOBAL.innodb_cleaner_max_flush_time; +SET GLOBAL innodb_cleaner_max_flush_time=1000; +SELECT @@GLOBAL.innodb_cleaner_max_flush_time; +SET GLOBAL innodb_cleaner_max_flush_time=4294967295; +SELECT @@GLOBAL.innodb_cleaner_max_flush_time; + +# Incorrect values +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_max_flush_time=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_max_flush_time=1e1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_max_flush_time='foo'; + +SET GLOBAL innodb_cleaner_max_flush_time = @start_value; diff --git a/mysql-test/suite/sys_vars/t/innodb_cleaner_max_lru_time_basic.test b/mysql-test/suite/sys_vars/t/innodb_cleaner_max_lru_time_basic.test new file mode 100644 index 00000000000..d0621e77df3 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_cleaner_max_lru_time_basic.test @@ -0,0 +1,31 @@ +--source include/have_debug.inc +--source include/have_xtradb.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_cleaner_max_lru_time; + +# Default value +SELECT @@GLOBAL.innodb_cleaner_max_lru_time; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_cleaner_max_lru_time; + +# Correct values +SET GLOBAL innodb_cleaner_max_lru_time=0; +SELECT @@GLOBAL.innodb_cleaner_max_lru_time; +SET GLOBAL innodb_cleaner_max_lru_time=1000; +SELECT @@GLOBAL.innodb_cleaner_max_lru_time; +SET GLOBAL innodb_cleaner_max_lru_time=4294967295; +SELECT @@GLOBAL.innodb_cleaner_max_lru_time; + +# Incorrect values +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_max_lru_time=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_max_lru_time=1e1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_cleaner_max_lru_time='foo'; + +SET GLOBAL innodb_cleaner_max_lru_time = @start_value; diff --git a/mysql-test/suite/sys_vars/t/innodb_empty_free_list_algorithm_basic.test b/mysql-test/suite/sys_vars/t/innodb_empty_free_list_algorithm_basic.test new file mode 100644 index 00000000000..6bb34f36a4f --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_empty_free_list_algorithm_basic.test @@ -0,0 +1,30 @@ +--source include/have_xtradb.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_empty_free_list_algorithm; + +# Default value +SELECT @@GLOBAL.innodb_empty_free_list_algorithm; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_empty_free_list_algorithm; + +# Correct values +SET GLOBAL innodb_empty_free_list_algorithm='legacy'; +SELECT @@GLOBAL.innodb_empty_free_list_algorithm; +SET GLOBAL innodb_empty_free_list_algorithm='backoff'; +SELECT @@GLOBAL.innodb_empty_free_list_algorithm; + +# Incorrect values +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_empty_free_list_algorithm=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_empty_free_list_algorithm=1e1; +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_empty_free_list_algorithm=2; +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_empty_free_list_algorithm='foo'; + +SET GLOBAL innodb_empty_free_list_algorithm = @start_value; diff --git a/mysql-test/suite/sys_vars/t/innodb_foreground_preflush_basic.test b/mysql-test/suite/sys_vars/t/innodb_foreground_preflush_basic.test new file mode 100644 index 00000000000..f388b392f9b --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_foreground_preflush_basic.test @@ -0,0 +1,30 @@ +--source include/have_xtradb.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_foreground_preflush; + +# Default value +SELECT @@GLOBAL.innodb_foreground_preflush; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_foreground_preflush; + +# Correct values +SET GLOBAL innodb_foreground_preflush='sync_preflush'; +SELECT @@GLOBAL.innodb_foreground_preflush; +SET GLOBAL innodb_foreground_preflush='exponential_backoff'; +SELECT @@GLOBAL.innodb_foreground_preflush; + +# Incorrect values +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_foreground_preflush=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_foreground_preflush=1e1; +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_foreground_preflush=2; +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_foreground_preflush='foo'; + +SET GLOBAL innodb_foreground_preflush = @start_value; diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_basic.test new file mode 100644 index 00000000000..245ed4abdfb --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_basic.test @@ -0,0 +1,38 @@ + +# +# 2013-05-09 - Added +# + +--source include/have_innodb.inc + +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} + +# +# show the global and session values; +# +select @@global.innodb_ft_result_cache_limit; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.innodb_ft_result_cache_limit; +show global variables like 'innodb_ft_result_cache_limit'; +show session variables like 'innodb_ft_result_cache_limit'; +select * from information_schema.global_variables where variable_name='innodb_ft_result_cache_limit'; +select * from information_schema.session_variables where variable_name='innodb_ft_result_cache_limit'; + +# +# test default, min, max value +# +let $innodb_ft_result_cache_limit_orig=`select @@innodb_ft_result_cache_limit`; + +set global innodb_ft_result_cache_limit=900000; +select @@innodb_ft_result_cache_limit; + +set global innodb_ft_result_cache_limit=1000000; +select @@innodb_ft_result_cache_limit; + +set global innodb_ft_result_cache_limit=4000000000; +select @@innodb_ft_result_cache_limit; + +eval set global innodb_ft_result_cache_limit=$innodb_ft_result_cache_limit_orig; diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_total_cache_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_total_cache_size_basic.test new file mode 100644 index 00000000000..772ec5a1919 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_ft_total_cache_size_basic.test @@ -0,0 +1,27 @@ +--source include/have_innodb.inc + +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} + +# +# show the global and session values; +# +select @@global.innodb_ft_total_cache_size; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.innodb_ft_total_cache_size; +show global variables like 'innodb_ft_total_cache_size'; +show session variables like 'innodb_ft_total_cache_size'; +select * from information_schema.global_variables where variable_name='innodb_ft_total_cache_size'; +select * from information_schema.session_variables where variable_name='innodb_ft_total_cache_size'; + +# +# show that it's read-only +# +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global innodb_ft_total_cache_size=1; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session innodb_ft_total_cache_size=1; + + diff --git a/mysql-test/suite/sys_vars/t/innodb_log_arch_dir_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_arch_dir_basic.test new file mode 100644 index 00000000000..084d97fa460 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_log_arch_dir_basic.test @@ -0,0 +1,68 @@ +####################################################### +# Basic test for innodb_log_arch_dir variable # +####################################################### + +--source include/have_xtradb.inc + +let $datadir= `select @@datadir`; + +#################################################################### +# Displaying default value # +#################################################################### +--replace_result $datadir ./ +SELECT @@GLOBAL.innodb_log_arch_dir; +--echo NULL Expected + + +#################################################################### +# Check if Value can set # +#################################################################### + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@GLOBAL.innodb_log_arch_dir=1; +--echo Expected error 'Read only variable' + +--replace_result $datadir ./ +SELECT @@GLOBAL.innodb_log_arch_dir; +--echo NULL Expected + +--replace_result $datadir ./ +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_arch_dir'; +--echo empty string Expected + +############################################ +# Check accessing variable without GLOBAL # +############################################ +--replace_result $datadir ./ +SELECT @@innodb_log_arch_dir; +--echo NULL Expected + + + +########################################################################## +# Check if innodb_log_arch_dir can be accessed without @@ sign # +########################################################################## + +--replace_result $datadir ./ +SELECT @@innodb_log_arch_dir; +--echo NULL Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@local.innodb_log_arch_dir; +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_log_arch_dir; +--echo Expected error 'Variable is a GLOBAL variable' + +--replace_result $datadir ./ +SELECT @@GLOBAL.innodb_log_arch_dir; +--echo NULL Expected + +--Error ER_BAD_FIELD_ERROR +SELECT innodb_log_arch_dir = @@SESSION.innodb_log_arch_dir; +--echo Expected error Unknown column 'innodb_log_arch_dir' in 'field list' + + diff --git a/mysql-test/suite/sys_vars/t/innodb_log_arch_expire_sec_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_arch_expire_sec_basic.test new file mode 100644 index 00000000000..87c374ea886 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_log_arch_expire_sec_basic.test @@ -0,0 +1,60 @@ +############################################################### +# Basic test for innodb_log_arch_expire_sec variable # +############################################################### + +--source include/have_xtradb.inc + +SELECT @@GLOBAL.innodb_log_arch_expire_sec INTO @save; + +#################################################################### +# Displaying default value # +#################################################################### +SELECT @@GLOBAL.innodb_log_arch_expire_sec; +--echo 0 Expected + + +#################################################################### +# Check if Value can set # +#################################################################### + +SET @@GLOBAL.innodb_log_arch_expire_sec=1; + +SELECT @@GLOBAL.innodb_log_arch_expire_sec; +--echo 1 Expected + +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_arch_expire_sec'; +--echo 1 Expected + +############################################ +# Check accessing variable without GLOBAL # +############################################ +SELECT @@innodb_log_arch_expire_sec; +--echo 1 Expected + + + +################################################################################## +# Check if innodb_log_arch_expire_sec can be accessed without @@ sign # +################################################################################## + +SELECT @@innodb_log_arch_expire_sec; +--echo 1 Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@local.innodb_log_arch_expire_sec; +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_log_arch_expire_sec; +--echo Expected error 'Variable is a GLOBAL variable' + +SELECT @@GLOBAL.innodb_log_arch_expire_sec; +--echo 1 Expected + +--Error ER_BAD_FIELD_ERROR +SELECT innodb_log_arch_expire_sec = @@SESSION.innodb_log_arch_expire_sec; +--echo Expected error Unknown column 'innodb_log_arch_expire_sec' in 'field list' + +SET @@GLOBAL.innodb_log_arch_expire_sec = @save; diff --git a/mysql-test/suite/sys_vars/t/innodb_log_archive_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_archive_basic.test new file mode 100644 index 00000000000..cbc885123ce --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_log_archive_basic.test @@ -0,0 +1,61 @@ +################################################### +# Basic test for innodb_log_archive variable # +################################################### + +--source include/have_xtradb.inc + +#################################################################### +# Displaying default value # +#################################################################### +SELECT @@GLOBAL.innodb_log_archive; +--echo 0 Expected + + +#################################################################### +# Check if Value can set # +#################################################################### + +SET @save_innodb_log_archive = @@GLOBAL.innodb_log_archive; +SET @@GLOBAL.innodb_log_archive=1; + +SELECT @@GLOBAL.innodb_log_archive; +--echo 1 Expected + +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_archive'; +--echo ON Expected + +SET @@GLOBAL.innodb_log_archive = @save_innodb_log_archive; + +############################################ +# Check accessing variable without GLOBAL # +############################################ +SELECT @@innodb_log_archive; +--echo 0 Expected + + + +########################################################################## +# Check if innodb_log_archive can be accessed without @@ sign # +########################################################################## + +SELECT @@innodb_log_archive; +--echo 0 Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@local.innodb_log_archive; +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_log_archive; +--echo Expected error 'Variable is a GLOBAL variable' + +SELECT @@GLOBAL.innodb_log_archive; +--echo 0 Expected + +--Error ER_BAD_FIELD_ERROR +SELECT innodb_log_archive = @@SESSION.innodb_log_archive; +--echo Expected error Unknown column 'innodb_log_archive' in 'field list' + + diff --git a/mysql-test/suite/sys_vars/t/innodb_log_checksum_algorithm_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_checksum_algorithm_basic.test new file mode 100644 index 00000000000..1a83d4f2602 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_log_checksum_algorithm_basic.test @@ -0,0 +1,38 @@ +--source include/have_xtradb.inc + +# Check the default value +SET @orig = @@global.innodb_log_checksum_algorithm; +SELECT @orig; + +SET GLOBAL innodb_log_checksum_algorithm = 'crc32'; +SELECT @@global.innodb_log_checksum_algorithm; + +SET GLOBAL innodb_log_checksum_algorithm = 'strict_crc32'; +SELECT @@global.innodb_log_checksum_algorithm; + +SET GLOBAL innodb_log_checksum_algorithm = 'innodb'; +SELECT @@global.innodb_log_checksum_algorithm; + +SET GLOBAL innodb_log_checksum_algorithm = 'strict_innodb'; +SELECT @@global.innodb_log_checksum_algorithm; + +SET GLOBAL innodb_log_checksum_algorithm = 'none'; +SELECT @@global.innodb_log_checksum_algorithm; + +SET GLOBAL innodb_log_checksum_algorithm = 'strict_none'; +SELECT @@global.innodb_log_checksum_algorithm; + +-- error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_log_checksum_algorithm = ''; +SELECT @@global.innodb_log_checksum_algorithm; + +-- error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_log_checksum_algorithm = 'foobar'; +SELECT @@global.innodb_log_checksum_algorithm; + +-- error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_log_checksum_algorithm = 123; +SELECT @@global.innodb_log_checksum_algorithm; + +SET GLOBAL innodb_log_checksum_algorithm = @orig; +SELECT @@global.innodb_log_checksum_algorithm; diff --git a/mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test new file mode 100644 index 00000000000..8d10309ae02 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test @@ -0,0 +1,93 @@ +--source include/have_innodb.inc + +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} + +SET @start_global_value = @@global.innodb_log_compressed_pages; +SELECT @start_global_value; + + +--echo '#---------------------BS_STVARS_028_01----------------------#' +#################################################################### +# Displaying default value # +#################################################################### +SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages); +--echo 1 Expected + + +--echo '#---------------------BS_STVARS_028_02----------------------#' +#################################################################### +# Check if Value can set # +#################################################################### + +SET @@global.innodb_log_compressed_pages = 0; +SELECT @@global.innodb_log_compressed_pages; + +SET @@global.innodb_log_compressed_pages ='On' ; +SELECT @@global.innodb_log_compressed_pages; + +SET @@global.innodb_log_compressed_pages ='Off' ; +SELECT @@global.innodb_log_compressed_pages; + +SET @@global.innodb_log_compressed_pages = 1; +SELECT @@global.innodb_log_compressed_pages; + +--echo '#---------------------BS_STVARS_028_03----------------------#' +################################################################# +# Check if the value in GLOBAL Table matches value in variable # +################################################################# + +SELECT IF(@@GLOBAL.innodb_log_compressed_pages,'ON','OFF') = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_compressed_pages'; +--echo 1 Expected + +SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages); +--echo 1 Expected + +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_compressed_pages'; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_028_04----------------------#' +################################################################################ +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################ +SELECT @@innodb_log_compressed_pages = @@GLOBAL.innodb_log_compressed_pages; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_028_05----------------------#' +################################################################################ +# Check if innodb_log_compressed_pages can be accessed with and without @@ sign# +################################################################################ + +SELECT COUNT(@@innodb_log_compressed_pages); +--echo 1 Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@local.innodb_log_compressed_pages); +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@SESSION.innodb_log_compressed_pages); +--echo Expected error 'Variable is a GLOBAL variable' + +SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages); +--echo 1 Expected + +--Error ER_BAD_FIELD_ERROR +SELECT innodb_log_compressed_pages = @@SESSION.innodb_log_compressed_pages; + +# +# Cleanup +# + +SET @@global.innodb_log_compressed_pages = @start_global_value; +SELECT @@global.innodb_log_compressed_pages; diff --git a/mysql-test/suite/sys_vars/t/innodb_merge_sort_block_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_merge_sort_block_size_basic.test deleted file mode 100644 index 2ec4870f345..00000000000 --- a/mysql-test/suite/sys_vars/t/innodb_merge_sort_block_size_basic.test +++ /dev/null @@ -1,19 +0,0 @@ ---source include/have_xtradb.inc - -SELECT @@global.innodb_merge_sort_block_size; -SELECT @@session.innodb_merge_sort_block_size; - -SET @old_global=@@global.innodb_merge_sort_block_size; -SET @old_session=@@session.innodb_merge_sort_block_size; - -SET @@global.innodb_merge_sort_block_size = 2*1024*1024; -SET @@session.innodb_merge_sort_block_size = 4*1024*1024; - -SELECT @@global.innodb_merge_sort_block_size; -SELECT @@session.innodb_merge_sort_block_size; - -SET @@global.innodb_merge_sort_block_size = 1024*1024*1024+1; -SELECT @@global.innodb_merge_sort_block_size; - -SET @@global.innodb_merge_sort_block_size=@old_global; -SET @@session.innodb_merge_sort_block_size=@old_session; diff --git a/mysql-test/suite/sys_vars/t/innodb_monitor_disable_basic.test b/mysql-test/suite/sys_vars/t/innodb_monitor_disable_basic.test index 1b23ae14e49..0615d62a0e1 100644 --- a/mysql-test/suite/sys_vars/t/innodb_monitor_disable_basic.test +++ b/mysql-test/suite/sys_vars/t/innodb_monitor_disable_basic.test @@ -2,6 +2,11 @@ # Test the metrics monitor system's control system # and counter accuracy. +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} + --source include/have_innodb.inc set global innodb_monitor_disable = All; # Test turn on/off the monitor counter with "all" option diff --git a/mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test b/mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test index 1b23ae14e49..0615d62a0e1 100644 --- a/mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test +++ b/mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test @@ -2,6 +2,11 @@ # Test the metrics monitor system's control system # and counter accuracy. +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} + --source include/have_innodb.inc set global innodb_monitor_disable = All; # Test turn on/off the monitor counter with "all" option diff --git a/mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test b/mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test index 1b23ae14e49..868f69300fa 100644 --- a/mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test +++ b/mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test @@ -2,6 +2,11 @@ # Test the metrics monitor system's control system # and counter accuracy. +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip not fixed in innodb 5.6.10 or earlier +} + --source include/have_innodb.inc set global innodb_monitor_disable = All; # Test turn on/off the monitor counter with "all" option diff --git a/mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test b/mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test index 1b23ae14e49..868f69300fa 100644 --- a/mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test +++ b/mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test @@ -2,6 +2,11 @@ # Test the metrics monitor system's control system # and counter accuracy. +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip not fixed in innodb 5.6.10 or earlier +} + --source include/have_innodb.inc set global innodb_monitor_disable = All; # Test turn on/off the monitor counter with "all" option diff --git a/mysql-test/suite/sys_vars/t/innodb_persistent_stats_root_page_basic.test b/mysql-test/suite/sys_vars/t/innodb_persistent_stats_root_page_basic.test deleted file mode 100644 index 2e216e10521..00000000000 --- a/mysql-test/suite/sys_vars/t/innodb_persistent_stats_root_page_basic.test +++ /dev/null @@ -1,26 +0,0 @@ ---source include/have_debug.inc ---source include/have_xtradb.inc - -SELECT @@global.innodb_persistent_stats_root_page; -SELECT COUNT(@@global.innodb_persistent_stats_root_page); - -# Read-only variable ---error ER_INCORRECT_GLOBAL_LOCAL_VAR -SET @@global.innodb_persistent_stats_root_page=100; - -# Check if INFORMATION_SCHEMA agrees with the var -SELECT @@global.innodb_persistent_stats_root_page = VARIABLE_VALUE -FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES -WHERE VARIABLE_NAME='innodb_persistent_stats_root_page'; - -SELECT COUNT(*) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES -WHERE VARIABLE_NAME='innodb_persistent_stats_root_page'; - -# Check if accessing the var without GLOBAL points to the same -SELECT @@innodb_persistent_stats_root_page = @@global.innodb_persistent_stats_root_page; - ---error ER_INCORRECT_GLOBAL_LOCAL_VAR -SELECT COUNT(@@local.innodb_persistent_stats_root_page); - ---error ER_INCORRECT_GLOBAL_LOCAL_VAR -SELECT COUNT(@@session.innodb_persistent_stats_root_page); diff --git a/mysql-test/suite/sys_vars/t/innodb_priority_cleaner_basic.test b/mysql-test/suite/sys_vars/t/innodb_priority_cleaner_basic.test new file mode 100644 index 00000000000..a305978a280 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_priority_cleaner_basic.test @@ -0,0 +1,36 @@ +--source include/have_debug.inc +--source include/have_xtradb.inc +--source include/linux.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_priority_cleaner; + +# Default value +SELECT @@GLOBAL.innodb_priority_cleaner; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_priority_cleaner; + +# Correct values +SET GLOBAL innodb_priority_cleaner='OFF'; +SELECT @@GLOBAL.innodb_priority_cleaner; +SET GLOBAL innodb_priority_cleaner='ON'; +SELECT @@GLOBAL.innodb_priority_cleaner; +SET GLOBAL innodb_priority_cleaner=0; +SELECT @@GLOBAL.innodb_priority_cleaner; +SET GLOBAL innodb_priority_cleaner=1; +SELECT @@GLOBAL.innodb_priority_cleaner; + +# Incorrect values +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_priority_cleaner=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_priority_cleaner=1e1; +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_priority_cleaner=2; +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_priority_cleaner='foo'; + +SET GLOBAL innodb_priority_cleaner = @start_value; diff --git a/mysql-test/suite/sys_vars/t/innodb_priority_io_basic.test b/mysql-test/suite/sys_vars/t/innodb_priority_io_basic.test new file mode 100644 index 00000000000..d8a04cccf1e --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_priority_io_basic.test @@ -0,0 +1,36 @@ +--source include/have_debug.inc +--source include/have_xtradb.inc +--source include/linux.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_priority_io; + +# Default value +SELECT @@GLOBAL.innodb_priority_io; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_priority_io; + +# Correct values +SET GLOBAL innodb_priority_io='OFF'; +SELECT @@GLOBAL.innodb_priority_io; +SET GLOBAL innodb_priority_io='ON'; +SELECT @@GLOBAL.innodb_priority_io; +SET GLOBAL innodb_priority_io=0; +SELECT @@GLOBAL.innodb_priority_io; +SET GLOBAL innodb_priority_io=1; +SELECT @@GLOBAL.innodb_priority_io; + +# Incorrect values +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_priority_io=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_priority_io=1e1; +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_priority_io=2; +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_priority_io='foo'; + +SET GLOBAL innodb_priority_io = @start_value; diff --git a/mysql-test/suite/sys_vars/t/innodb_priority_master_basic.test b/mysql-test/suite/sys_vars/t/innodb_priority_master_basic.test new file mode 100644 index 00000000000..f202738f4e1 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_priority_master_basic.test @@ -0,0 +1,36 @@ +--source include/have_debug.inc +--source include/have_xtradb.inc +--source include/linux.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_priority_master; + +# Default value +SELECT @@GLOBAL.innodb_priority_master; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_priority_master; + +# Correct values +SET GLOBAL innodb_priority_master='OFF'; +SELECT @@GLOBAL.innodb_priority_master; +SET GLOBAL innodb_priority_master='ON'; +SELECT @@GLOBAL.innodb_priority_master; +SET GLOBAL innodb_priority_master=0; +SELECT @@GLOBAL.innodb_priority_master; +SET GLOBAL innodb_priority_master=1; +SELECT @@GLOBAL.innodb_priority_master; + +# Incorrect values +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_priority_master=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_priority_master=1e1; +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_priority_master=2; +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_priority_master='foo'; + +SET GLOBAL innodb_priority_master = @start_value; diff --git a/mysql-test/suite/sys_vars/t/innodb_priority_purge_basic.test b/mysql-test/suite/sys_vars/t/innodb_priority_purge_basic.test new file mode 100644 index 00000000000..b17a97838a5 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_priority_purge_basic.test @@ -0,0 +1,36 @@ +--source include/have_debug.inc +--source include/have_xtradb.inc +--source include/linux.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_priority_purge; + +# Default value +SELECT @@GLOBAL.innodb_priority_purge; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_priority_purge; + +# Correct values +SET GLOBAL innodb_priority_purge='OFF'; +SELECT @@GLOBAL.innodb_priority_purge; +SET GLOBAL innodb_priority_purge='ON'; +SELECT @@GLOBAL.innodb_priority_purge; +SET GLOBAL innodb_priority_purge=0; +SELECT @@GLOBAL.innodb_priority_purge; +SET GLOBAL innodb_priority_purge=1; +SELECT @@GLOBAL.innodb_priority_purge; + +# Incorrect values +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_priority_purge=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_priority_purge=1e1; +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_priority_purge=2; +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_priority_purge='foo'; + +SET GLOBAL innodb_priority_purge = @start_value; diff --git a/mysql-test/suite/sys_vars/t/innodb_sched_priority_cleaner_basic.test b/mysql-test/suite/sys_vars/t/innodb_sched_priority_cleaner_basic.test new file mode 100644 index 00000000000..b2382fd7844 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_sched_priority_cleaner_basic.test @@ -0,0 +1,43 @@ +--source include/have_xtradb.inc +--source include/linux.inc +--source include/not_embedded.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_sched_priority_cleaner; + +# Default value +SELECT @@GLOBAL.innodb_sched_priority_cleaner; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_sched_priority_cleaner; + +# Correct values +# The high priority values may need permissions, thus do not test them +# SET GLOBAL innodb_sched_priority_cleaner=39; +# SELECT @@GLOBAL.innodb_sched_priority_cleaner; +#SET GLOBAL innodb_sched_priority_cleaner=34; +# SELECT @@GLOBAL.innodb_sched_priority_cleaner; +SET GLOBAL innodb_sched_priority_cleaner=19; +SELECT @@GLOBAL.innodb_sched_priority_cleaner; +SET GLOBAL innodb_sched_priority_cleaner=5; +SELECT @@GLOBAL.innodb_sched_priority_cleaner; +SET GLOBAL innodb_sched_priority_cleaner=0; +SELECT @@GLOBAL.innodb_sched_priority_cleaner; + +# Incorrect values +SET GLOBAL innodb_sched_priority_cleaner=-1; +SELECT @@GLOBAL.innodb_sched_priority_cleaner; +#SET GLOBAL innodb_sched_priority_cleaner=40; +#SELECT @@GLOBAL.innodb_sched_priority_cleaner; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_sched_priority_cleaner=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_sched_priority_cleaner=1e1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_sched_priority_cleaner='foo'; + +# If we are lacking permissions, then we cannot restore the startup value +# at the end. +--source include/restart_mysqld.inc diff --git a/mysql-test/suite/sys_vars/t/innodb_sched_priority_io_basic.test b/mysql-test/suite/sys_vars/t/innodb_sched_priority_io_basic.test new file mode 100644 index 00000000000..f77816e84c2 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_sched_priority_io_basic.test @@ -0,0 +1,44 @@ +--source include/have_debug.inc +--source include/have_xtradb.inc +--source include/linux.inc +--source include/not_embedded.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_sched_priority_io; + +# Default value +SELECT @@GLOBAL.innodb_sched_priority_io; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_sched_priority_io; + +# Correct values +# The high priority values may need permissions, thus do not test them +# SET GLOBAL innodb_sched_priority_io=39; +# SELECT @@GLOBAL.innodb_sched_priority_io; +#SET GLOBAL innodb_sched_priority_io=34; +# SELECT @@GLOBAL.innodb_sched_priorit_io; +SET GLOBAL innodb_sched_priority_io=19; +SELECT @@GLOBAL.innodb_sched_priority_io; +SET GLOBAL innodb_sched_priority_io=5; +SELECT @@GLOBAL.innodb_sched_priority_io; +SET GLOBAL innodb_sched_priority_io=0; +SELECT @@GLOBAL.innodb_sched_priority_io; + +# Incorrect values +SET GLOBAL innodb_sched_priority_io=-1; +SELECT @@GLOBAL.innodb_sched_priority_io; +#SET GLOBAL innodb_sched_priority_io=40; +#SELECT @@GLOBAL.innodb_sched_priority_io; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_sched_priority_io=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_sched_priority_io=1e1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_sched_priority_io='foo'; + +# If we are lacking permissions, then we cannot restore the startup value +# at the end. +--source include/restart_mysqld.inc diff --git a/mysql-test/suite/sys_vars/t/innodb_sched_priority_master_basic.test b/mysql-test/suite/sys_vars/t/innodb_sched_priority_master_basic.test new file mode 100644 index 00000000000..150e7e5793d --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_sched_priority_master_basic.test @@ -0,0 +1,44 @@ +--source include/have_debug.inc +--source include/have_xtradb.inc +--source include/linux.inc +--source include/not_embedded.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_sched_priority_master; + +# Default value +SELECT @@GLOBAL.innodb_sched_priority_master; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_sched_priority_master; + +# Correct values +# The high priority values may need permissions, thus do not test them +# SET GLOBAL innodb_sched_priority_master=39; +# SELECT @@GLOBAL.innodb_sched_priority_master; +#SET GLOBAL innodb_sched_priority_master=34; +# SELECT @@GLOBAL.innodb_sched_priority_master; +SET GLOBAL innodb_sched_priority_master=19; +SELECT @@GLOBAL.innodb_sched_priority_master; +SET GLOBAL innodb_sched_priority_master=5; +SELECT @@GLOBAL.innodb_sched_priority_master; +SET GLOBAL innodb_sched_priority_master=0; +SELECT @@GLOBAL.innodb_sched_priority_master; + +# Incorrect values +SET GLOBAL innodb_sched_priority_master=-1; +SELECT @@GLOBAL.innodb_sched_priority_master; +#SET GLOBAL innodb_sched_priority_master=40; +#SELECT @@GLOBAL.innodb_sched_priority_master; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_sched_priority_master=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_sched_priority_master=1e1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_sched_priority_master='foo'; + +# If we are lacking permissions, then we cannot restore the startup value +# at the end. +--source include/restart_mysqld.inc diff --git a/mysql-test/suite/sys_vars/t/innodb_sched_priority_purge_basic.test b/mysql-test/suite/sys_vars/t/innodb_sched_priority_purge_basic.test new file mode 100644 index 00000000000..bc37e4ee568 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/innodb_sched_priority_purge_basic.test @@ -0,0 +1,44 @@ +--source include/have_debug.inc +--source include/have_xtradb.inc +--source include/linux.inc +--source include/not_embedded.inc + +# A dynamic, global variable + +SET @start_value = @@GLOBAL.innodb_sched_priority_purge; + +# Default value +SELECT @@GLOBAL.innodb_sched_priority_purge; + +# Global only +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@SESSION.innodb_sched_priority_purge; + +# Correct values +# The high priority values may need permissions, thus do not test them +# SET GLOBAL innodb_sched_priority_purge=39; +# SELECT @@GLOBAL.innodb_sched_priority_purge; +#SET GLOBAL innodb_sched_priority_purge=34; +# SELECT @@GLOBAL.innodb_sched_priority_purge; +SET GLOBAL innodb_sched_priority_purge=19; +SELECT @@GLOBAL.innodb_sched_priority_purge; +SET GLOBAL innodb_sched_priority_purge=5; +SELECT @@GLOBAL.innodb_sched_priority_purge; +SET GLOBAL innodb_sched_priority_purge=0; +SELECT @@GLOBAL.innodb_sched_priority_purge; + +# Incorrect values +SET GLOBAL innodb_sched_priority_purge=-1; +SELECT @@GLOBAL.innodb_sched_priority_purge; +#SET GLOBAL innodb_sched_priority_purge=40; +#SELECT @@GLOBAL.innodb_sched_priority_purge; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_sched_priority_purge=1.1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_sched_priority_purge=1e1; +--error ER_WRONG_TYPE_FOR_VAR +SET GLOBAL innodb_sched_priority_purge='foo'; + +# If we are lacking permissions, then we cannot restore the startup value +# at the end. +--source include/restart_mysqld.inc diff --git a/mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test index 27baf47422d..53011acb576 100644 --- a/mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test +++ b/mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test @@ -1,66 +1,31 @@ - - # 2010-01-27 - Added -# --source include/have_innodb.inc -SET @start_global_value = @@global.innodb_sync_array_size; -SELECT @start_global_value; +if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`) +{ + --skip Not fixed in InnoDB 5.6.10 or earlier +} -# -# exists as global only +# Exists as global only # --echo Valid values are between 0 and 1024 SELECT @@global.innodb_sync_array_size between 0 and 1024; SELECT @@global.innodb_sync_array_size; --error ER_INCORRECT_GLOBAL_LOCAL_VAR SELECT @@session.innodb_sync_array_size; -SHOW global variables LIKE 'innodb_sync_array_size'; -SHOW session variables LIKE 'innodb_sync_array_size'; -SELECT * FROM information_schema.global_variables -where variable_name='innodb_sync_array_size'; -SELECT * FROM information_schema.session_variables -where variable_name='innodb_sync_array_size'; - -# -# SHOW that it's writable -# -SET global innodb_sync_array_size=10; -SELECT @@global.innodb_sync_array_size; +SHOW GLOBAL variables LIKE 'innodb_sync_array_size'; +SHOW SESSION variables LIKE 'innodb_sync_array_size'; SELECT * FROM information_schema.global_variables -where variable_name='innodb_sync_array_size'; +WHERE variable_name='innodb_sync_array_size'; SELECT * FROM information_schema.session_variables -where variable_name='innodb_sync_array_size'; ---error ER_GLOBAL_VARIABLE -SET session innodb_sync_array_size=1; +WHERE variable_name='innodb_sync_array_size'; # -# incorrect types +# Show that it's read-only # ---error ER_WRONG_TYPE_FOR_VAR -SET global innodb_sync_array_size=1.1; ---error ER_WRONG_TYPE_FOR_VAR -SET global innodb_sync_array_size=1e1; ---error ER_WRONG_TYPE_FOR_VAR -SET global innodb_sync_array_size="foo"; - -SET global innodb_sync_array_size=-7; -SELECT @@global.innodb_sync_array_size; -SELECT * FROM information_schema.global_variables -where variable_name='innodb_sync_array_size'; -SET global innodb_sync_array_size=96; -SELECT @@global.innodb_sync_array_size; -SELECT * FROM information_schema.global_variables -where variable_name='innodb_sync_array_size'; - -# -# min/max values -# -SET global innodb_sync_array_size=0; -SELECT @@global.innodb_sync_array_size; -SET global innodb_sync_array_size=64; -SELECT @@global.innodb_sync_array_size; - -SET @@global.innodb_sync_array_size = @start_global_value; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET GLOBAL innodb_sync_array_size=10; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET SESSION innodb_sync_array_size=10; SELECT @@global.innodb_sync_array_size; diff --git a/mysql-test/t/information_schema_all_engines-master.opt b/mysql-test/t/information_schema_all_engines-master.opt index 0a9fa574e49..e37aeaac933 100644 --- a/mysql-test/t/information_schema_all_engines-master.opt +++ b/mysql-test/t/information_schema_all_engines-master.opt @@ -1,19 +1,15 @@ --loose-skip-safemalloc --loose-mutex-deadlock-detector=0 ---loose-innodb-buffer-pool-pages ---loose-innodb-buffer-pool-pages-blob ---loose-innodb-buffer-pool-pages-index --loose-innodb-changed-pages --loose-innodb-cmp +--loose-innodb-cmp-per-index --loose-innodb-cmp-reset +--loose-innodb-cmpmem --loose-innodb-cmpmem-reset --loose-innodb-index-stats --loose-innodb-lock-waits ---loose-innodb-rseg --loose-innodb-sys-columns --loose-innodb-sys-fields --loose-innodb-sys-foreign --loose-innodb-sys-foreign-cols ---loose-innodb-sys-stats --loose-innodb-sys-tables --loose-innodb-sys-tablestats ---loose-innodb-table-stats diff --git a/mysql-test/t/information_schema_all_engines.test b/mysql-test/t/information_schema_all_engines.test index 73ed00376ab..c7955a38e1b 100644 --- a/mysql-test/t/information_schema_all_engines.test +++ b/mysql-test/t/information_schema_all_engines.test @@ -49,7 +49,7 @@ SELECT t.table_name, c1.column_name # # Bug#24630 Subselect query crashes mysqld # -select 1 as f1 from information_schema.tables where "ALL_PLUGINS"= +select 1 as "must be 1" from information_schema.tables where "ACCOUNTS"= (select cast(table_name as char) from information_schema.tables order by table_name limit 1) limit 1; |