diff options
author | Alfranio Correia <alfranio.correia@sun.com> | 2010-01-13 12:22:34 +0000 |
---|---|---|
committer | Alfranio Correia <alfranio.correia@sun.com> | 2010-01-13 12:22:34 +0000 |
commit | 40949a3110a97e41d48c24e51004851521dd807b (patch) | |
tree | dddf2d3ec6941e3f9c47deefb52bcfa19ef6a23e /mysql-test | |
parent | 26b12adb5d19fea7308edd0c2b49e1c972ea79c3 (diff) | |
parent | 51caeae915d3a5add57a785e69b7ce52cac084ad (diff) | |
download | mariadb-git-40949a3110a97e41d48c24e51004851521dd807b.tar.gz |
merge mysql-next-mr --> mysql-5.1-rpl-merge
Conflicts:
Text conflict in sql/log.cc
Text conflict in sql/slave.cc
Text conflict in sql/sql_base.cc
Diffstat (limited to 'mysql-test')
77 files changed, 1613 insertions, 100 deletions
diff --git a/mysql-test/include/have_perfschema.inc b/mysql-test/include/have_perfschema.inc new file mode 100644 index 00000000000..6d52a53b6b1 --- /dev/null +++ b/mysql-test/include/have_perfschema.inc @@ -0,0 +1,20 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +if (!`SELECT count(*) FROM information_schema.engines WHERE + (support = 'YES' OR support = 'DEFAULT') AND + engine = 'PERFORMANCE_SCHEMA'`){ + skip Need performance schema compiled in; +} diff --git a/mysql-test/include/mysqld--help.inc b/mysql-test/include/mysqld--help.inc index 82bf65bc362..3c8d19107c9 100644 --- a/mysql-test/include/mysqld--help.inc +++ b/mysql-test/include/mysqld--help.inc @@ -11,7 +11,8 @@ exec $MYSQLD_BOOTSTRAP_CMD --symbolic-links=0 --lower-case-table-names=1 --help perl; @skipvars=qw/basedir open-files-limit general-log-file log - log-slow-queries pid-file slow-query-log-file/; + log-slow-queries pid-file slow-query-log-file + datadir slave-load-tmpdir tmpdir/; @plugins=qw/innodb ndb ndbcluster safemalloc debug temp-pool ssl des-key-file thread-concurrency super-large-pages mutex-deadlock-detector/; @env=qw/MYSQLTEST_VARDIR MYSQL_TEST_DIR MYSQL_LIBDIR MYSQL_SHAREDIR/; diff --git a/mysql-test/lib/v1/mysql-test-run.pl b/mysql-test/lib/v1/mysql-test-run.pl index 9ae3208fc24..4202334a244 100755 --- a/mysql-test/lib/v1/mysql-test-run.pl +++ b/mysql-test/lib/v1/mysql-test-run.pl @@ -3911,7 +3911,7 @@ sub mysqld_arguments ($$$$) { if ( $opt_valgrind_mysqld ) { - mtr_add_arg($args, "%s--skip-safemalloc", $prefix); + mtr_add_arg($args, "%s--loose-skip-safemalloc", $prefix); if ( $mysql_version_id < 50100 ) { @@ -5208,7 +5208,6 @@ sub valgrind_arguments { else { mtr_add_arg($args, "--tool=memcheck"); # From >= 2.1.2 needs this option - mtr_add_arg($args, "--alignment=8"); mtr_add_arg($args, "--leak-check=yes"); mtr_add_arg($args, "--num-callers=16"); mtr_add_arg($args, "--suppressions=%s/valgrind.supp", $glob_mysql_test_dir) diff --git a/mysql-test/r/events_scheduling.result b/mysql-test/r/events_scheduling.result index 7dfd10a53f8..262caea3d7f 100644 --- a/mysql-test/r/events_scheduling.result +++ b/mysql-test/r/events_scheduling.result @@ -82,5 +82,24 @@ DROP TABLE table_1; DROP TABLE table_2; DROP TABLE table_3; DROP TABLE table_4; + +Bug #50087 Interval arithmetic for Event_queue_element is not portable. + +CREATE TABLE t1(a int); +CREATE EVENT e1 ON SCHEDULE EVERY 1 MONTH +STARTS NOW() - INTERVAL 1 MONTH +ENDS NOW() + INTERVAL 2 MONTH +ON COMPLETION PRESERVE +DO +INSERT INTO t1 VALUES (1); +CREATE EVENT e2 ON SCHEDULE EVERY 1 MONTH +STARTS NOW() +ENDS NOW() + INTERVAL 11 MONTH +ON COMPLETION PRESERVE +DO +INSERT INTO t1 VALUES (1); +DROP TABLE t1; +DROP EVENT e1; +DROP EVENT e2; DROP DATABASE events_test; SET GLOBAL event_scheduler=@event_scheduler; diff --git a/mysql-test/r/index_merge_myisam.result b/mysql-test/r/index_merge_myisam.result index 922f7241102..1be96da5c7d 100644 --- a/mysql-test/r/index_merge_myisam.result +++ b/mysql-test/r/index_merge_myisam.result @@ -1419,19 +1419,19 @@ drop table t1; # select @@optimizer_switch; @@optimizer_switch -index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on set optimizer_switch='index_merge=off,index_merge_union=off'; select @@optimizer_switch; @@optimizer_switch -index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=on +index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on set optimizer_switch='index_merge_union=on'; select @@optimizer_switch; @@optimizer_switch -index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on set optimizer_switch='default,index_merge_sort_union=off'; select @@optimizer_switch; @@optimizer_switch -index_merge=on,index_merge_union=on,index_merge_sort_union=off,index_merge_intersection=on +index_merge=on,index_merge_union=on,index_merge_sort_union=off,index_merge_intersection=on,engine_condition_pushdown=on set optimizer_switch=4; set optimizer_switch=NULL; ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'NULL' @@ -1457,21 +1457,21 @@ set optimizer_switch=default; set optimizer_switch='index_merge=off,index_merge_union=off,default'; select @@optimizer_switch; @@optimizer_switch -index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=on +index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on set optimizer_switch=default; select @@global.optimizer_switch; @@global.optimizer_switch -index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on set @@global.optimizer_switch=default; select @@global.optimizer_switch; @@global.optimizer_switch -index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on # # Check index_merge's @@optimizer_switch flags # select @@optimizer_switch; @@optimizer_switch -index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on create table t0 (a int); insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); create table t1 (a int, b int, c int, filler char(100), @@ -1581,5 +1581,5 @@ id select_type table type possible_keys key key_len ref rows Extra set optimizer_switch=default; show variables like 'optimizer_switch'; Variable_name Value -optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on drop table t0, t1; diff --git a/mysql-test/r/mysqld--help-notwin.result b/mysql-test/r/mysqld--help-notwin.result index 64d1c9b1cf5..980e7c05db7 100644 --- a/mysql-test/r/mysqld--help-notwin.result +++ b/mysql-test/r/mysqld--help-notwin.result @@ -132,7 +132,8 @@ The following options may be given as the first argument: on that value --enable-locking Deprecated option, use --external-locking instead. --engine-condition-pushdown - Push supported query conditions to the storage engine + Push supported query conditions to the storage engine. + Deprecated, use --optimizer-switch instead. (Defaults to on; use --skip-engine-condition-pushdown to disable.) --event-scheduler[=name] Enable the event scheduler. Possible values are ON, OFF, @@ -413,8 +414,9 @@ The following options may be given as the first argument: --optimizer-switch=name optimizer_switch=option=val[,option=val...], where option is one of {index_merge, index_merge_union, - index_merge_sort_union, index_merge_intersection} and val - is one of {on, off, default} + index_merge_sort_union, index_merge_intersection, + engine_condition_pushdown} and val is one of {on, off, + default} --partition[=name] Enable or disable partition plugin. Possible values are ON, OFF, FORCE (don't start if the plugin fails to load). --pid-file=name Pid file used by safe_mysqld @@ -748,7 +750,6 @@ completion-type NO_CHAIN concurrent-insert AUTO connect-timeout 10 console FALSE -datadir MYSQLTEST_VARDIR/install.db/ date-format %Y-%m-%d datetime-format %Y-%m-%d %H:%i:%s default-character-set latin1 @@ -859,7 +860,7 @@ old-passwords FALSE old-style-user-limits FALSE optimizer-prune-level 1 optimizer-search-depth 62 -optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on partition ON plugin-dir MYSQL_LIBDIR/mysql/plugin plugin-load (No default value) @@ -902,7 +903,6 @@ skip-show-database FALSE skip-slave-start FALSE slave-compressed-protocol FALSE slave-exec-mode STRICT -slave-load-tmpdir MYSQLTEST_VARDIR/tmp/ slave-net-timeout 3600 slave-skip-errors (No default value) slave-transaction-retries 10 @@ -931,7 +931,6 @@ thread-stack 262144 time-format %H:%i:%s timed-mutexes FALSE tmp-table-size 16777216 -tmpdir MYSQLTEST_VARDIR/tmp/ transaction-alloc-block-size 8192 transaction-isolation REPEATABLE-READ transaction-prealloc-size 4096 diff --git a/mysql-test/r/mysqld--help-win.result b/mysql-test/r/mysqld--help-win.result index 6faeea94717..76d670fe222 100644 --- a/mysql-test/r/mysqld--help-win.result +++ b/mysql-test/r/mysqld--help-win.result @@ -132,7 +132,8 @@ The following options may be given as the first argument: on that value --enable-locking Deprecated option, use --external-locking instead. --engine-condition-pushdown - Push supported query conditions to the storage engine + Push supported query conditions to the storage engine. + Deprecated, use --optimizer-switch instead. (Defaults to on; use --skip-engine-condition-pushdown to disable.) --event-scheduler[=name] Enable the event scheduler. Possible values are ON, OFF, @@ -413,8 +414,9 @@ The following options may be given as the first argument: --optimizer-switch=name optimizer_switch=option=val[,option=val...], where option is one of {index_merge, index_merge_union, - index_merge_sort_union, index_merge_intersection} and val - is one of {on, off, default} + index_merge_sort_union, index_merge_intersection, + engine_condition_pushdown} and val is one of {on, off, + default} --partition[=name] Enable or disable partition plugin. Possible values are ON, OFF, FORCE (don't start if the plugin fails to load). --pid-file=name Pid file used by safe_mysqld @@ -752,7 +754,6 @@ completion-type NO_CHAIN concurrent-insert AUTO connect-timeout 10 console FALSE -datadir MYSQLTEST_VARDIR/install.db/ date-format %Y-%m-%d datetime-format %Y-%m-%d %H:%i:%s default-character-set latin1 @@ -863,7 +864,7 @@ old-passwords FALSE old-style-user-limits FALSE optimizer-prune-level 1 optimizer-search-depth 62 -optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on partition ON plugin-dir MYSQL_LIBDIR/plugin plugin-load (No default value) @@ -908,7 +909,6 @@ skip-show-database FALSE skip-slave-start FALSE slave-compressed-protocol FALSE slave-exec-mode STRICT -slave-load-tmpdir MYSQLTEST_VARDIR/tmp/ slave-net-timeout 3600 slave-skip-errors (No default value) slave-transaction-retries 10 @@ -937,7 +937,6 @@ thread-stack 262144 time-format %H:%i:%s timed-mutexes FALSE tmp-table-size 16777216 -tmpdir MYSQLTEST_VARDIR/tmp/ transaction-alloc-block-size 8192 transaction-isolation REPEATABLE-READ transaction-prealloc-size 4096 diff --git a/mysql-test/r/optimizer_switch_eng_cond_pushdown1.result b/mysql-test/r/optimizer_switch_eng_cond_pushdown1.result new file mode 100644 index 00000000000..a8313ec246c --- /dev/null +++ b/mysql-test/r/optimizer_switch_eng_cond_pushdown1.result @@ -0,0 +1,5 @@ +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch +1 1 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on diff --git a/mysql-test/r/optimizer_switch_eng_cond_pushdown2.result b/mysql-test/r/optimizer_switch_eng_cond_pushdown2.result new file mode 100644 index 00000000000..d7e84c57f42 --- /dev/null +++ b/mysql-test/r/optimizer_switch_eng_cond_pushdown2.result @@ -0,0 +1,5 @@ +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch +0 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off diff --git a/mysql-test/r/subselect3.result b/mysql-test/r/subselect3.result index 3a0576768b2..a51cef6833d 100644 --- a/mysql-test/r/subselect3.result +++ b/mysql-test/r/subselect3.result @@ -964,3 +964,53 @@ Variable_name Value Handler_read_rnd_next 18 DROP TABLE t1,t2; End of 5.1 tests +# +# BUG#48920: COUNT DISTINCT returns 1 for NULL values when in a subquery +# in the select list +# + +CREATE TABLE t1 ( +i int(11) DEFAULT NULL, +v varchar(1) DEFAULT NULL +); + +INSERT INTO t1 VALUES (8,'v'); +INSERT INTO t1 VALUES (9,'r'); +INSERT INTO t1 VALUES (NULL,'y'); + +CREATE TABLE t2 ( +i int(11) DEFAULT NULL, +v varchar(1) DEFAULT NULL, +KEY i_key (i) +); + +INSERT INTO t2 VALUES (NULL,'r'); +INSERT INTO t2 VALUES (0,'c'); +INSERT INTO t2 VALUES (0,'o'); +INSERT INTO t2 VALUES (2,'v'); +INSERT INTO t2 VALUES (7,'c'); + +SELECT i, v, (SELECT COUNT(DISTINCT i) +FROM t1 +WHERE v = t2.v) as subsel +FROM t2; +i v subsel +NULL r 1 +0 c 0 +0 o 0 +2 v 1 +7 c 0 + +EXPLAIN EXTENDED +SELECT i, v, (SELECT COUNT(DISTINCT i) +FROM t1 +WHERE v = t2.v) as subsel +FROM t2; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY t2 ALL NULL NULL NULL NULL 5 100.00 +2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 100.00 Using where +Warnings: +Note 1276 Field or reference 'test.t2.v' of SELECT #2 was resolved in SELECT #1 +Note 1003 select `test`.`t2`.`i` AS `i`,`test`.`t2`.`v` AS `v`,(select count(distinct `test`.`t1`.`i`) AS `COUNT(DISTINCT i)` from `test`.`t1` where (`test`.`t1`.`v` = `test`.`t2`.`v`)) AS `subsel` from `test`.`t2` +DROP TABLE t1,t2; +End of 5.6 tests diff --git a/mysql-test/suite/ndb/r/ndb_condition_pushdown.result b/mysql-test/suite/ndb/r/ndb_condition_pushdown.result index 4b6f5031fb2..f2b5b882f10 100644 --- a/mysql-test/suite/ndb/r/ndb_condition_pushdown.result +++ b/mysql-test/suite/ndb/r/ndb_condition_pushdown.result @@ -51,8 +51,8 @@ CREATE TABLE t3 (pk1 int unsigned NOT NULL PRIMARY KEY, attr1 int unsigned NO insert into t3 values (0,0,0,0,"a"),(1,1,9223372036854775803,1,"b"),(2,2,9223372036854775804,2,"c"),(3,3,9223372036854775805,3,"d"),(4,4,9223372036854775806,4,"e"),(5,5,9223372036854775807,5,"f"); CREATE TABLE t4 (pk1 int unsigned NOT NULL PRIMARY KEY, attr1 int unsigned NOT NULL, attr2 bigint unsigned, attr3 tinyint unsigned, attr4 VARCHAR(10) , KEY (attr1)) ENGINE=ndbcluster; insert into t4 values (0,0,0,0,"a"),(1,1,9223372036854775803,1,"b"),(2,2,9223372036854775804,2,"c"),(3,3,9223372036854775805,3,"d"),(4,4,9223372036854775806,4,"e"),(5,5,9223372036854775807,5,"f"); -set @old_ecpd = @@session.engine_condition_pushdown; -set engine_condition_pushdown = off; +set @old_optimizer_switch = @@session.optimizer_switch; +set optimizer_switch = "engine_condition_pushdown=off"; select auto from t1 where string = "aaaa" and vstring = "aaaa" and @@ -484,7 +484,7 @@ pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4 2 2 9223372036854775804 2 c 2 2 9223372036854775804 2 c 3 3 9223372036854775805 3 d 3 3 9223372036854775805 3 d 4 4 9223372036854775806 4 e 4 4 9223372036854775806 4 e -set engine_condition_pushdown = on; +set optimizer_switch = "engine_condition_pushdown=on"; explain select auto from t1 where string = "aaaa" and @@ -1769,12 +1769,12 @@ id select_type table type possible_keys key key_len ref rows Extra create table t5 (a int primary key auto_increment, b tinytext not null) engine = ndb; insert into t5 (b) values ('jonas'), ('jensing'), ('johan'); -set engine_condition_pushdown = off; +set optimizer_switch = "engine_condition_pushdown=off"; select * from t5 where b like '%jo%' order by a; a b 1 jonas 3 johan -set engine_condition_pushdown = on; +set optimizer_switch = "engine_condition_pushdown=on"; explain select * from t5 where b like '%jo%'; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t5 ALL NULL NULL NULL NULL # Using where @@ -1782,7 +1782,7 @@ select * from t5 where b like '%jo%' order by a; a b 1 jonas 3 johan -set engine_condition_pushdown = off; +set optimizer_switch = "engine_condition_pushdown=off"; select auto from t1 where date_time like '1902-02-02 %' order by auto; auto 2 @@ -1790,7 +1790,7 @@ select auto from t1 where date_time not like '1902-02-02 %' order by auto; auto 3 4 -set engine_condition_pushdown = on; +set optimizer_switch = "engine_condition_pushdown=on"; explain select auto from t1 where date_time like '1902-02-02 %'; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where @@ -1808,7 +1808,7 @@ drop table t1; create table t1 (a int, b varchar(3), primary key using hash(a)) engine=ndb; insert into t1 values (1,'a'), (2,'ab'), (3,'abc'); -set engine_condition_pushdown = off; +set optimizer_switch = "engine_condition_pushdown=off"; select * from t1 where b like 'ab'; a b 2 ab @@ -1821,7 +1821,7 @@ a b select * from t1 where b like 'abc' or b like 'abc'; a b 3 abc -set engine_condition_pushdown = on; +set optimizer_switch = "engine_condition_pushdown=on"; select * from t1 where b like 'ab'; a b 2 ab @@ -1838,7 +1838,7 @@ drop table t1; create table t1 (a int, b char(3), primary key using hash(a)) engine=ndb; insert into t1 values (1,'a'), (2,'ab'), (3,'abc'); -set engine_condition_pushdown = off; +set optimizer_switch = "engine_condition_pushdown=off"; select * from t1 where b like 'ab'; a b 2 ab @@ -1851,7 +1851,7 @@ a b select * from t1 where b like 'abc' or b like 'abc'; a b 3 abc -set engine_condition_pushdown = on; +set optimizer_switch = "engine_condition_pushdown=on"; select * from t1 where b like 'ab'; a b 2 ab @@ -1868,11 +1868,11 @@ drop table t1; create table t1 ( fname varchar(255), lname varchar(255) ) engine=ndbcluster; insert into t1 values ("Young","Foo"); -set engine_condition_pushdown = 0; +set optimizer_switch = "engine_condition_pushdown=off"; SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%'); fname lname Young Foo -set engine_condition_pushdown = 1; +set optimizer_switch = "engine_condition_pushdown=on"; SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%'); fname lname Young Foo @@ -1880,11 +1880,11 @@ insert into t1 values ("aaa", "aaa"); insert into t1 values ("bbb", "bbb"); insert into t1 values ("ccc", "ccc"); insert into t1 values ("ddd", "ddd"); -set engine_condition_pushdown = 0; +set optimizer_switch = "engine_condition_pushdown=off"; SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%'); fname lname Young Foo -set engine_condition_pushdown = 1; +set optimizer_switch = "engine_condition_pushdown=on"; SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%'); fname lname Young Foo @@ -1896,7 +1896,7 @@ insert into t1 values (20,2,200,0+0x2222); insert into t1 values (30,3,300,0+0x3333); insert into t1 values (40,4,400,0+0x4444); insert into t1 values (50,5,500,0+0x5555); -set engine_condition_pushdown = on; +set optimizer_switch = "engine_condition_pushdown=on"; select a,b,d from t1 where b in (0,1,2,5) order by b; @@ -1916,5 +1916,5 @@ a b d 50 5 21845 Warnings: Warning 4294 Scan filter is too large, discarded -set engine_condition_pushdown = @old_ecpd; +set optimizer_switch = @old_optimizer_switch; DROP TABLE t1,t2,t3,t4,t5; diff --git a/mysql-test/suite/ndb/r/ndb_gis.result b/mysql-test/suite/ndb/r/ndb_gis.result index 54772f596c3..76a53804d8f 100644 --- a/mysql-test/suite/ndb/r/ndb_gis.result +++ b/mysql-test/suite/ndb/r/ndb_gis.result @@ -548,7 +548,7 @@ Overlaps(@horiz1, @point2) 0 DROP TABLE t1; End of 5.0 tests -set engine_condition_pushdown = on; +set optimizer_switch = "engine_condition_pushdown=on"; DROP TABLE IF EXISTS t1, gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry; CREATE TABLE gis_point (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g POINT); CREATE TABLE gis_line (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g LINESTRING); diff --git a/mysql-test/suite/ndb/r/ndb_index_unique.result b/mysql-test/suite/ndb/r/ndb_index_unique.result index 1fe02d4b5c7..5d0f4038211 100644 --- a/mysql-test/suite/ndb/r/ndb_index_unique.result +++ b/mysql-test/suite/ndb/r/ndb_index_unique.result @@ -181,8 +181,8 @@ a b c 5 5 NULL 8 3 NULL 9 3 NULL -set @old_ecpd = @@session.engine_condition_pushdown; -set engine_condition_pushdown = true; +set @old_optimizer_switch = @@session.optimizer_switch; +set optimizer_switch = "engine_condition_pushdown=on"; explain select * from t2 where (b = 3 OR b = 5) AND c IS NULL AND a < 9 order by a; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t2 range PRIMARY,b PRIMARY 4 NULL 1 Using where with pushed condition @@ -191,7 +191,7 @@ a b c 3 3 NULL 5 5 NULL 8 3 NULL -set engine_condition_pushdown = @old_ecpd; +set optimizer_switch = @old_optimizer_switch; drop table t2; CREATE TABLE t3 ( a int unsigned NOT NULL, diff --git a/mysql-test/suite/ndb/t/ndb_condition_pushdown.test b/mysql-test/suite/ndb/t/ndb_condition_pushdown.test index a56c9dda01c..a6ab06eae31 100644 --- a/mysql-test/suite/ndb/t/ndb_condition_pushdown.test +++ b/mysql-test/suite/ndb/t/ndb_condition_pushdown.test @@ -68,8 +68,8 @@ CREATE TABLE t4 (pk1 int unsigned NOT NULL PRIMARY KEY, attr1 int unsigned NO insert into t4 values (0,0,0,0,"a"),(1,1,9223372036854775803,1,"b"),(2,2,9223372036854775804,2,"c"),(3,3,9223372036854775805,3,"d"),(4,4,9223372036854775806,4,"e"),(5,5,9223372036854775807,5,"f"); -set @old_ecpd = @@session.engine_condition_pushdown; -set engine_condition_pushdown = off; +set @old_optimizer_switch = @@session.optimizer_switch; +set optimizer_switch = "engine_condition_pushdown=off"; # Test all types and compare operators select auto from t1 where @@ -453,7 +453,7 @@ select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1; select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1; -set engine_condition_pushdown = on; +set optimizer_switch = "engine_condition_pushdown=on"; # Test all types and compare operators --replace_column 9 # @@ -1674,18 +1674,18 @@ select * from t3 left join t4 on t4.attr2 = t3.attr2 where t4.attr1 > 1 and t4.a create table t5 (a int primary key auto_increment, b tinytext not null) engine = ndb; insert into t5 (b) values ('jonas'), ('jensing'), ('johan'); -set engine_condition_pushdown = off; +set optimizer_switch = "engine_condition_pushdown=off"; select * from t5 where b like '%jo%' order by a; -set engine_condition_pushdown = on; +set optimizer_switch = "engine_condition_pushdown=on"; --replace_column 9 # explain select * from t5 where b like '%jo%'; select * from t5 where b like '%jo%' order by a; # bug#21056 ndb pushdown equal/setValue error on datetime -set engine_condition_pushdown = off; +set optimizer_switch = "engine_condition_pushdown=off"; select auto from t1 where date_time like '1902-02-02 %' order by auto; select auto from t1 where date_time not like '1902-02-02 %' order by auto; -set engine_condition_pushdown = on; +set optimizer_switch = "engine_condition_pushdown=on"; --replace_column 9 # explain select auto from t1 where date_time like '1902-02-02 %'; select auto from t1 where date_time like '1902-02-02 %' order by auto; @@ -1701,12 +1701,12 @@ insert into t1 values (1,'a'), (2,'ab'), (3,'abc'); # in TUP the constants 'ab' 'abc' were expected in varchar format # "like" returned error which became "false" # scan filter negates "or" which exposes the bug -set engine_condition_pushdown = off; +set optimizer_switch = "engine_condition_pushdown=off"; select * from t1 where b like 'ab'; select * from t1 where b like 'ab' or b like 'ab'; select * from t1 where b like 'abc'; select * from t1 where b like 'abc' or b like 'abc'; -set engine_condition_pushdown = on; +set optimizer_switch = "engine_condition_pushdown=on"; select * from t1 where b like 'ab'; select * from t1 where b like 'ab' or b like 'ab'; select * from t1 where b like 'abc'; @@ -1719,12 +1719,12 @@ engine=ndb; insert into t1 values (1,'a'), (2,'ab'), (3,'abc'); # test that incorrect MySQL behaviour is preserved # 'ab ' LIKE 'ab' is true in MySQL -set engine_condition_pushdown = off; +set optimizer_switch = "engine_condition_pushdown=off"; select * from t1 where b like 'ab'; select * from t1 where b like 'ab' or b like 'ab'; select * from t1 where b like 'abc'; select * from t1 where b like 'abc' or b like 'abc'; -set engine_condition_pushdown = on; +set optimizer_switch = "engine_condition_pushdown=on"; select * from t1 where b like 'ab'; select * from t1 where b like 'ab' or b like 'ab'; select * from t1 where b like 'abc'; @@ -1736,9 +1736,9 @@ create table t1 ( fname varchar(255), lname varchar(255) ) engine=ndbcluster; insert into t1 values ("Young","Foo"); -set engine_condition_pushdown = 0; +set optimizer_switch = "engine_condition_pushdown=off"; SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%'); -set engine_condition_pushdown = 1; +set optimizer_switch = "engine_condition_pushdown=on"; SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%'); # make sure optimizer does not do some crazy shortcut @@ -1747,9 +1747,9 @@ insert into t1 values ("bbb", "bbb"); insert into t1 values ("ccc", "ccc"); insert into t1 values ("ddd", "ddd"); -set engine_condition_pushdown = 0; +set optimizer_switch = "engine_condition_pushdown=off"; SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%'); -set engine_condition_pushdown = 1; +set optimizer_switch = "engine_condition_pushdown=on"; SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%'); # bug#29390 (scan filter is too large, discarded) @@ -1766,7 +1766,7 @@ insert into t1 values (30,3,300,0+0x3333); insert into t1 values (40,4,400,0+0x4444); insert into t1 values (50,5,500,0+0x5555); -set engine_condition_pushdown = on; +set optimizer_switch = "engine_condition_pushdown=on"; select a,b,d from t1 where b in (0,1,2,5) @@ -2050,5 +2050,5 @@ select a,b,d from t1 order by b; --enable_query_log -set engine_condition_pushdown = @old_ecpd; +set optimizer_switch = @old_optimizer_switch; DROP TABLE t1,t2,t3,t4,t5; diff --git a/mysql-test/suite/ndb/t/ndb_gis.test b/mysql-test/suite/ndb/t/ndb_gis.test index e14f462c32d..babff535f94 100644 --- a/mysql-test/suite/ndb/t/ndb_gis.test +++ b/mysql-test/suite/ndb/t/ndb_gis.test @@ -1,5 +1,5 @@ --source include/have_ndb.inc SET storage_engine=ndbcluster; --source include/gis_generic.inc -set engine_condition_pushdown = on; +set optimizer_switch = "engine_condition_pushdown=on"; --source include/gis_generic.inc diff --git a/mysql-test/suite/ndb/t/ndb_index_unique.test b/mysql-test/suite/ndb/t/ndb_index_unique.test index 78757c3bcf7..9178ace1ad0 100644 --- a/mysql-test/suite/ndb/t/ndb_index_unique.test +++ b/mysql-test/suite/ndb/t/ndb_index_unique.test @@ -112,11 +112,11 @@ insert t2 values(1,1,NULL),(2,2,2),(3,3,NULL),(4,4,4),(5,5,NULL),(6,6,6),(7,7,NU select * from t2 where c IS NULL order by a; select * from t2 where b = 3 AND c IS NULL order by a; select * from t2 where (b = 3 OR b = 5) AND c IS NULL order by a; -set @old_ecpd = @@session.engine_condition_pushdown; -set engine_condition_pushdown = true; +set @old_optimizer_switch = @@session.optimizer_switch; +set optimizer_switch = "engine_condition_pushdown=on"; explain select * from t2 where (b = 3 OR b = 5) AND c IS NULL AND a < 9 order by a; select * from t2 where (b = 3 OR b = 5) AND c IS NULL AND a < 9 order by a; -set engine_condition_pushdown = @old_ecpd; +set optimizer_switch = @old_optimizer_switch; drop table t2; diff --git a/mysql-test/suite/rpl/t/disabled.def b/mysql-test/suite/rpl/t/disabled.def index 446c233c8a9..a5017b1a02c 100644 --- a/mysql-test/suite/rpl/t/disabled.def +++ b/mysql-test/suite/rpl/t/disabled.def @@ -10,7 +10,5 @@ # ############################################################################## -rpl_get_master_version_and_clock: # Bug#46931 2009-10-17 joro rpl.rpl_get_master_version_and_clock fails rpl_row_create_table : Bug#45576 2009-12-01 joro rpl_row_create_table fails on PB2 -rpl_cross_version : BUG#43913 2009-10-22 luis rpl_cross_version fails with symptom in described in bug report rpl_spec_variables : BUG#47661 2009-10-27 jasonh rpl_spec_variables fails on PB2 hpux diff --git a/mysql-test/suite/rpl/t/rpl_cross_version-master.opt b/mysql-test/suite/rpl/t/rpl_cross_version-master.opt index 0ea05290c11..815a8f81d32 100644 --- a/mysql-test/suite/rpl/t/rpl_cross_version-master.opt +++ b/mysql-test/suite/rpl/t/rpl_cross_version-master.opt @@ -1 +1 @@ ---replicate-same-server-id --relay-log=slave-relay-bin --secure-file-priv=$MYSQL_TMP_DIR +--replicate-same-server-id --relay-log=slave-relay-bin diff --git a/mysql-test/suite/sys_vars/r/all_vars.result b/mysql-test/suite/sys_vars/r/all_vars.result index abd1f5d2bd6..0f741ff930a 100644 --- a/mysql-test/suite/sys_vars/r/all_vars.result +++ b/mysql-test/suite/sys_vars/r/all_vars.result @@ -1,12 +1,14 @@ create table t1 (test_name text); +create table t2 (variable_name text); load data infile "MYSQLTEST_VARDIR/tmp/sys_vars.all_vars.txt" into table t1; -select variable_name as `There should be *no* variables listed below:` - from information_schema.global_variables -left join t1 on variable_name=test_name where -test_name is null -union -select variable_name from information_schema.session_variables -left join t1 on variable_name=test_name where -test_name is null; +insert into t2 select variable_name from information_schema.global_variables; +insert into t2 select variable_name from information_schema.session_variables; +update t2 set variable_name= replace(variable_name, "PERFORMANCE_SCHEMA_", "PFS_"); +select variable_name as `There should be *no* long test name listed below:` from t2 +where length(variable_name) > 50; +There should be *no* long test name listed below: +select variable_name as `There should be *no* variables listed below:` from t2 +left join t1 on variable_name=test_name where test_name is null; There should be *no* variables listed below: drop table t1; +drop table t2; diff --git a/mysql-test/suite/sys_vars/r/engine_condition_pushdown_basic.result b/mysql-test/suite/sys_vars/r/engine_condition_pushdown_basic.result index 6a8052490c4..2b0b57d5b33 100644 --- a/mysql-test/suite/sys_vars/r/engine_condition_pushdown_basic.result +++ b/mysql-test/suite/sys_vars/r/engine_condition_pushdown_basic.result @@ -6,19 +6,33 @@ SET @global_start_value = @@global.engine_condition_pushdown; SELECT @global_start_value; @global_start_value 1 +select @old_session_opt_switch:=@@session.optimizer_switch, +@old_global_opt_switch:=@@global.optimizer_switch; +@old_session_opt_switch:=@@session.optimizer_switch @old_global_opt_switch:=@@global.optimizer_switch +index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on '#--------------------FN_DYNVARS_028_01------------------------#' SET @@session.engine_condition_pushdown = 0; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SET @@session.engine_condition_pushdown = DEFAULT; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@session.engine_condition_pushdown; @@session.engine_condition_pushdown 1 SET @@global.engine_condition_pushdown = 0; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SET @@global.engine_condition_pushdown = DEFAULT; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@global.engine_condition_pushdown; @@global.engine_condition_pushdown 1 '#---------------------FN_DYNVARS_028_02-------------------------#' SET engine_condition_pushdown = 1; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@engine_condition_pushdown; @@engine_condition_pushdown 1 @@ -29,27 +43,39 @@ ERROR 42S02: Unknown table 'local' in field list SELECT global.engine_condition_pushdown; ERROR 42S02: Unknown table 'global' in field list SET session engine_condition_pushdown = 0; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@session.engine_condition_pushdown; @@session.engine_condition_pushdown 0 SET global engine_condition_pushdown = 0; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@global.engine_condition_pushdown; @@global.engine_condition_pushdown 0 '#--------------------FN_DYNVARS_028_03------------------------#' SET @@session.engine_condition_pushdown = 0; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@session.engine_condition_pushdown; @@session.engine_condition_pushdown 0 SET @@session.engine_condition_pushdown = 1; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@session.engine_condition_pushdown; @@session.engine_condition_pushdown 1 SET @@global.engine_condition_pushdown = 0; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@global.engine_condition_pushdown; @@global.engine_condition_pushdown 0 SET @@global.engine_condition_pushdown = 1; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@global.engine_condition_pushdown; @@global.engine_condition_pushdown 1 @@ -88,11 +114,17 @@ SET @@global.engine_condition_pushdown = ÓFF; ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'ÓFF' '#-------------------FN_DYNVARS_028_05----------------------------#' SET @@global.engine_condition_pushdown = 0; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SET @@session.engine_condition_pushdown = 1; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@global.engine_condition_pushdown AS res_is_0; res_is_0 0 SET @@global.engine_condition_pushdown = 0; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@session.engine_condition_pushdown AS res_is_1; res_is_1 1 @@ -126,43 +158,133 @@ VARIABLE_VALUE ON '#---------------------FN_DYNVARS_028_08-------------------------#' SET @@session.engine_condition_pushdown = OFF; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@session.engine_condition_pushdown; @@session.engine_condition_pushdown 0 SET @@session.engine_condition_pushdown = ON; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@session.engine_condition_pushdown; @@session.engine_condition_pushdown 1 SET @@global.engine_condition_pushdown = OFF; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@global.engine_condition_pushdown; @@global.engine_condition_pushdown 0 SET @@global.engine_condition_pushdown = ON; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@global.engine_condition_pushdown; @@global.engine_condition_pushdown 1 '#---------------------FN_DYNVARS_028_09----------------------#' SET @@session.engine_condition_pushdown = TRUE; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@session.engine_condition_pushdown; @@session.engine_condition_pushdown 1 SET @@session.engine_condition_pushdown = FALSE; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@session.engine_condition_pushdown; @@session.engine_condition_pushdown 0 SET @@global.engine_condition_pushdown = TRUE; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@global.engine_condition_pushdown; @@global.engine_condition_pushdown 1 SET @@global.engine_condition_pushdown = FALSE; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@global.engine_condition_pushdown; @@global.engine_condition_pushdown 0 +Check that @@engine_condition_pushdown influences +@@optimizer_switch and vice-versa +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch +0 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off +set @@session.engine_condition_pushdown = TRUE; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch +1 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off +set @@session.engine_condition_pushdown = FALSE; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch +0 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off +set @@global.engine_condition_pushdown = TRUE; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch +0 1 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on +set @@global.engine_condition_pushdown = FALSE; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch +0 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off +set @@session.optimizer_switch = "engine_condition_pushdown=on"; +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch +1 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off +set @@session.optimizer_switch = "engine_condition_pushdown=off"; +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch +0 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off +set @@global.optimizer_switch = "engine_condition_pushdown=on"; +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch +0 1 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on +set @@global.optimizer_switch = "engine_condition_pushdown=off"; +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch +0 0 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off SET @@session.engine_condition_pushdown = @session_start_value; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@session.engine_condition_pushdown; @@session.engine_condition_pushdown 1 SET @@global.engine_condition_pushdown = @global_start_value; +Warnings: +Warning 1287 The syntax '@@engine_condition_pushdown' is deprecated and will be removed in MySQL 7.0. Please use '@@optimizer_switch' instead SELECT @@global.engine_condition_pushdown; @@global.engine_condition_pushdown 1 +set @session.optimizer_switch=@old_session_opt_switch, +@@global.optimizer_switch=@old_global_opt_switch; +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +@@session.engine_condition_pushdown @@global.engine_condition_pushdown @@session.optimizer_switch @@global.optimizer_switch +1 1 index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on diff --git a/mysql-test/suite/sys_vars/r/optimizer_switch_basic.result b/mysql-test/suite/sys_vars/r/optimizer_switch_basic.result index d1e03f769c8..2d648259a26 100644 --- a/mysql-test/suite/sys_vars/r/optimizer_switch_basic.result +++ b/mysql-test/suite/sys_vars/r/optimizer_switch_basic.result @@ -1,45 +1,45 @@ SET @start_global_value = @@global.optimizer_switch; SELECT @start_global_value; @start_global_value -index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on select @@global.optimizer_switch; @@global.optimizer_switch -index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on select @@session.optimizer_switch; @@session.optimizer_switch -index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on show global variables like 'optimizer_switch'; Variable_name Value -optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on show session variables like 'optimizer_switch'; Variable_name Value -optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on select * from information_schema.global_variables where variable_name='optimizer_switch'; VARIABLE_NAME VARIABLE_VALUE -OPTIMIZER_SWITCH index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +OPTIMIZER_SWITCH index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on select * from information_schema.session_variables where variable_name='optimizer_switch'; VARIABLE_NAME VARIABLE_VALUE -OPTIMIZER_SWITCH index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +OPTIMIZER_SWITCH index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on set global optimizer_switch=10; select @@global.optimizer_switch; @@global.optimizer_switch -index_merge=off,index_merge_union=on,index_merge_sort_union=off,index_merge_intersection=on +index_merge=off,index_merge_union=on,index_merge_sort_union=off,index_merge_intersection=on,engine_condition_pushdown=off set session optimizer_switch=5; select @@session.optimizer_switch; @@session.optimizer_switch -index_merge=on,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=off +index_merge=on,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=off,engine_condition_pushdown=off set global optimizer_switch="index_merge_sort_union=on"; select @@global.optimizer_switch; @@global.optimizer_switch -index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off set session optimizer_switch="index_merge=off"; select @@session.optimizer_switch; @@session.optimizer_switch -index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=off +index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=off,engine_condition_pushdown=off set session optimizer_switch="default"; select @@session.optimizer_switch; @@session.optimizer_switch -index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off set global optimizer_switch=1.1; ERROR 42000: Incorrect argument type to variable 'optimizer_switch' set global optimizer_switch=1e1; @@ -51,4 +51,4 @@ ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'foobar' SET @@global.optimizer_switch = @start_global_value; SELECT @@global.optimizer_switch; @@global.optimizer_switch -index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on diff --git a/mysql-test/suite/sys_vars/r/performance_schema_basic.result b/mysql-test/suite/sys_vars/r/performance_schema_basic.result new file mode 100644 index 00000000000..d494b64502b --- /dev/null +++ b/mysql-test/suite/sys_vars/r/performance_schema_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema; +@@global.performance_schema +1 +select @@session.performance_schema; +ERROR HY000: Variable 'performance_schema' is a GLOBAL variable +show global variables like 'performance_schema'; +Variable_name Value +performance_schema ON +show session variables like 'performance_schema'; +Variable_name Value +performance_schema ON +select * from information_schema.global_variables +where variable_name='performance_schema'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA ON +select * from information_schema.session_variables +where variable_name='performance_schema'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA ON +set global performance_schema=1; +ERROR HY000: Variable 'performance_schema' is a read only variable +set session performance_schema=1; +ERROR HY000: Variable 'performance_schema' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/pfs_events_waits_history_long_size_basic.result b/mysql-test/suite/sys_vars/r/pfs_events_waits_history_long_size_basic.result new file mode 100644 index 00000000000..6aa1b0b6325 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/pfs_events_waits_history_long_size_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema_events_waits_history_long_size; +@@global.performance_schema_events_waits_history_long_size +15000 +select @@session.performance_schema_events_waits_history_long_size; +ERROR HY000: Variable 'performance_schema_events_waits_history_long_size' is a GLOBAL variable +show global variables like 'performance_schema_events_waits_history_long_size'; +Variable_name Value +performance_schema_events_waits_history_long_size 15000 +show session variables like 'performance_schema_events_waits_history_long_size'; +Variable_name Value +performance_schema_events_waits_history_long_size 15000 +select * from information_schema.global_variables +where variable_name='performance_schema_events_waits_history_long_size'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_LONG_SIZE 15000 +select * from information_schema.session_variables +where variable_name='performance_schema_events_waits_history_long_size'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_LONG_SIZE 15000 +set global performance_schema_events_waits_history_long_size=1; +ERROR HY000: Variable 'performance_schema_events_waits_history_long_size' is a read only variable +set session performance_schema_events_waits_history_long_size=1; +ERROR HY000: Variable 'performance_schema_events_waits_history_long_size' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/pfs_events_waits_history_size_basic.result b/mysql-test/suite/sys_vars/r/pfs_events_waits_history_size_basic.result new file mode 100644 index 00000000000..defa4eca1d4 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/pfs_events_waits_history_size_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema_events_waits_history_size; +@@global.performance_schema_events_waits_history_size +15 +select @@session.performance_schema_events_waits_history_size; +ERROR HY000: Variable 'performance_schema_events_waits_history_size' is a GLOBAL variable +show global variables like 'performance_schema_events_waits_history_size'; +Variable_name Value +performance_schema_events_waits_history_size 15 +show session variables like 'performance_schema_events_waits_history_size'; +Variable_name Value +performance_schema_events_waits_history_size 15 +select * from information_schema.global_variables +where variable_name='performance_schema_events_waits_history_size'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_SIZE 15 +select * from information_schema.session_variables +where variable_name='performance_schema_events_waits_history_size'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_SIZE 15 +set global performance_schema_events_waits_history_size=1; +ERROR HY000: Variable 'performance_schema_events_waits_history_size' is a read only variable +set session performance_schema_events_waits_history_size=1; +ERROR HY000: Variable 'performance_schema_events_waits_history_size' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/pfs_max_cond_classes_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_cond_classes_basic.result new file mode 100644 index 00000000000..ec980a90cbd --- /dev/null +++ b/mysql-test/suite/sys_vars/r/pfs_max_cond_classes_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema_max_cond_classes; +@@global.performance_schema_max_cond_classes +123 +select @@session.performance_schema_max_cond_classes; +ERROR HY000: Variable 'performance_schema_max_cond_classes' is a GLOBAL variable +show global variables like 'performance_schema_max_cond_classes'; +Variable_name Value +performance_schema_max_cond_classes 123 +show session variables like 'performance_schema_max_cond_classes'; +Variable_name Value +performance_schema_max_cond_classes 123 +select * from information_schema.global_variables +where variable_name='performance_schema_max_cond_classes'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_COND_CLASSES 123 +select * from information_schema.session_variables +where variable_name='performance_schema_max_cond_classes'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_COND_CLASSES 123 +set global performance_schema_max_cond_classes=1; +ERROR HY000: Variable 'performance_schema_max_cond_classes' is a read only variable +set session performance_schema_max_cond_classes=1; +ERROR HY000: Variable 'performance_schema_max_cond_classes' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/pfs_max_cond_instances_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_cond_instances_basic.result new file mode 100644 index 00000000000..5bdb24ed0b8 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/pfs_max_cond_instances_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema_max_cond_instances; +@@global.performance_schema_max_cond_instances +123 +select @@session.performance_schema_max_cond_instances; +ERROR HY000: Variable 'performance_schema_max_cond_instances' is a GLOBAL variable +show global variables like 'performance_schema_max_cond_instances'; +Variable_name Value +performance_schema_max_cond_instances 123 +show session variables like 'performance_schema_max_cond_instances'; +Variable_name Value +performance_schema_max_cond_instances 123 +select * from information_schema.global_variables +where variable_name='performance_schema_max_cond_instances'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_COND_INSTANCES 123 +select * from information_schema.session_variables +where variable_name='performance_schema_max_cond_instances'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_COND_INSTANCES 123 +set global performance_schema_max_cond_instances=1; +ERROR HY000: Variable 'performance_schema_max_cond_instances' is a read only variable +set session performance_schema_max_cond_instances=1; +ERROR HY000: Variable 'performance_schema_max_cond_instances' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/pfs_max_file_classes_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_file_classes_basic.result new file mode 100644 index 00000000000..47eaa449106 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/pfs_max_file_classes_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema_max_file_classes; +@@global.performance_schema_max_file_classes +123 +select @@session.performance_schema_max_file_classes; +ERROR HY000: Variable 'performance_schema_max_file_classes' is a GLOBAL variable +show global variables like 'performance_schema_max_file_classes'; +Variable_name Value +performance_schema_max_file_classes 123 +show session variables like 'performance_schema_max_file_classes'; +Variable_name Value +performance_schema_max_file_classes 123 +select * from information_schema.global_variables +where variable_name='performance_schema_max_file_classes'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_FILE_CLASSES 123 +select * from information_schema.session_variables +where variable_name='performance_schema_max_file_classes'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_FILE_CLASSES 123 +set global performance_schema_max_file_classes=1; +ERROR HY000: Variable 'performance_schema_max_file_classes' is a read only variable +set session performance_schema_max_file_classes=1; +ERROR HY000: Variable 'performance_schema_max_file_classes' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/pfs_max_file_handles_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_file_handles_basic.result new file mode 100644 index 00000000000..7d210ea3103 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/pfs_max_file_handles_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema_max_file_handles; +@@global.performance_schema_max_file_handles +123 +select @@session.performance_schema_max_file_handles; +ERROR HY000: Variable 'performance_schema_max_file_handles' is a GLOBAL variable +show global variables like 'performance_schema_max_file_handles'; +Variable_name Value +performance_schema_max_file_handles 123 +show session variables like 'performance_schema_max_file_handles'; +Variable_name Value +performance_schema_max_file_handles 123 +select * from information_schema.global_variables +where variable_name='performance_schema_max_file_handles'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_FILE_HANDLES 123 +select * from information_schema.session_variables +where variable_name='performance_schema_max_file_handles'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_FILE_HANDLES 123 +set global performance_schema_max_file_handles=1; +ERROR HY000: Variable 'performance_schema_max_file_handles' is a read only variable +set session performance_schema_max_file_handles=1; +ERROR HY000: Variable 'performance_schema_max_file_handles' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/pfs_max_file_instances_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_file_instances_basic.result new file mode 100644 index 00000000000..097d4c14ed1 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/pfs_max_file_instances_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema_max_file_instances; +@@global.performance_schema_max_file_instances +123 +select @@session.performance_schema_max_file_instances; +ERROR HY000: Variable 'performance_schema_max_file_instances' is a GLOBAL variable +show global variables like 'performance_schema_max_file_instances'; +Variable_name Value +performance_schema_max_file_instances 123 +show session variables like 'performance_schema_max_file_instances'; +Variable_name Value +performance_schema_max_file_instances 123 +select * from information_schema.global_variables +where variable_name='performance_schema_max_file_instances'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_FILE_INSTANCES 123 +select * from information_schema.session_variables +where variable_name='performance_schema_max_file_instances'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_FILE_INSTANCES 123 +set global performance_schema_max_file_instances=1; +ERROR HY000: Variable 'performance_schema_max_file_instances' is a read only variable +set session performance_schema_max_file_instances=1; +ERROR HY000: Variable 'performance_schema_max_file_instances' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/pfs_max_mutex_classes_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_mutex_classes_basic.result new file mode 100644 index 00000000000..f2b75ef9540 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/pfs_max_mutex_classes_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema_max_mutex_classes; +@@global.performance_schema_max_mutex_classes +123 +select @@session.performance_schema_max_mutex_classes; +ERROR HY000: Variable 'performance_schema_max_mutex_classes' is a GLOBAL variable +show global variables like 'performance_schema_max_mutex_classes'; +Variable_name Value +performance_schema_max_mutex_classes 123 +show session variables like 'performance_schema_max_mutex_classes'; +Variable_name Value +performance_schema_max_mutex_classes 123 +select * from information_schema.global_variables +where variable_name='performance_schema_max_mutex_classes'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_MUTEX_CLASSES 123 +select * from information_schema.session_variables +where variable_name='performance_schema_max_mutex_classes'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_MUTEX_CLASSES 123 +set global performance_schema_max_mutex_classes=1; +ERROR HY000: Variable 'performance_schema_max_mutex_classes' is a read only variable +set session performance_schema_max_mutex_classes=1; +ERROR HY000: Variable 'performance_schema_max_mutex_classes' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/pfs_max_mutex_instances_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_mutex_instances_basic.result new file mode 100644 index 00000000000..f12fa6ace03 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/pfs_max_mutex_instances_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema_max_mutex_instances; +@@global.performance_schema_max_mutex_instances +123 +select @@session.performance_schema_max_mutex_instances; +ERROR HY000: Variable 'performance_schema_max_mutex_instances' is a GLOBAL variable +show global variables like 'performance_schema_max_mutex_instances'; +Variable_name Value +performance_schema_max_mutex_instances 123 +show session variables like 'performance_schema_max_mutex_instances'; +Variable_name Value +performance_schema_max_mutex_instances 123 +select * from information_schema.global_variables +where variable_name='performance_schema_max_mutex_instances'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_MUTEX_INSTANCES 123 +select * from information_schema.session_variables +where variable_name='performance_schema_max_mutex_instances'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_MUTEX_INSTANCES 123 +set global performance_schema_max_mutex_instances=1; +ERROR HY000: Variable 'performance_schema_max_mutex_instances' is a read only variable +set session performance_schema_max_mutex_instances=1; +ERROR HY000: Variable 'performance_schema_max_mutex_instances' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/pfs_max_rwlock_classes_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_rwlock_classes_basic.result new file mode 100644 index 00000000000..6c2d4b773c0 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/pfs_max_rwlock_classes_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema_max_rwlock_classes; +@@global.performance_schema_max_rwlock_classes +123 +select @@session.performance_schema_max_rwlock_classes; +ERROR HY000: Variable 'performance_schema_max_rwlock_classes' is a GLOBAL variable +show global variables like 'performance_schema_max_rwlock_classes'; +Variable_name Value +performance_schema_max_rwlock_classes 123 +show session variables like 'performance_schema_max_rwlock_classes'; +Variable_name Value +performance_schema_max_rwlock_classes 123 +select * from information_schema.global_variables +where variable_name='performance_schema_max_rwlock_classes'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_RWLOCK_CLASSES 123 +select * from information_schema.session_variables +where variable_name='performance_schema_max_rwlock_classes'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_RWLOCK_CLASSES 123 +set global performance_schema_max_rwlock_classes=1; +ERROR HY000: Variable 'performance_schema_max_rwlock_classes' is a read only variable +set session performance_schema_max_rwlock_classes=1; +ERROR HY000: Variable 'performance_schema_max_rwlock_classes' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/pfs_max_rwlock_instances_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_rwlock_instances_basic.result new file mode 100644 index 00000000000..169387d369d --- /dev/null +++ b/mysql-test/suite/sys_vars/r/pfs_max_rwlock_instances_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema_max_rwlock_instances; +@@global.performance_schema_max_rwlock_instances +123 +select @@session.performance_schema_max_rwlock_instances; +ERROR HY000: Variable 'performance_schema_max_rwlock_instances' is a GLOBAL variable +show global variables like 'performance_schema_max_rwlock_instances'; +Variable_name Value +performance_schema_max_rwlock_instances 123 +show session variables like 'performance_schema_max_rwlock_instances'; +Variable_name Value +performance_schema_max_rwlock_instances 123 +select * from information_schema.global_variables +where variable_name='performance_schema_max_rwlock_instances'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_RWLOCK_INSTANCES 123 +select * from information_schema.session_variables +where variable_name='performance_schema_max_rwlock_instances'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_RWLOCK_INSTANCES 123 +set global performance_schema_max_rwlock_instances=1; +ERROR HY000: Variable 'performance_schema_max_rwlock_instances' is a read only variable +set session performance_schema_max_rwlock_instances=1; +ERROR HY000: Variable 'performance_schema_max_rwlock_instances' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/pfs_max_table_handles_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_table_handles_basic.result new file mode 100644 index 00000000000..5f661b0ecdd --- /dev/null +++ b/mysql-test/suite/sys_vars/r/pfs_max_table_handles_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema_max_table_handles; +@@global.performance_schema_max_table_handles +123 +select @@session.performance_schema_max_table_handles; +ERROR HY000: Variable 'performance_schema_max_table_handles' is a GLOBAL variable +show global variables like 'performance_schema_max_table_handles'; +Variable_name Value +performance_schema_max_table_handles 123 +show session variables like 'performance_schema_max_table_handles'; +Variable_name Value +performance_schema_max_table_handles 123 +select * from information_schema.global_variables +where variable_name='performance_schema_max_table_handles'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_TABLE_HANDLES 123 +select * from information_schema.session_variables +where variable_name='performance_schema_max_table_handles'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_TABLE_HANDLES 123 +set global performance_schema_max_table_handles=1; +ERROR HY000: Variable 'performance_schema_max_table_handles' is a read only variable +set session performance_schema_max_table_handles=1; +ERROR HY000: Variable 'performance_schema_max_table_handles' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/pfs_max_table_instances_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_table_instances_basic.result new file mode 100644 index 00000000000..8497527abb5 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/pfs_max_table_instances_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema_max_table_instances; +@@global.performance_schema_max_table_instances +123 +select @@session.performance_schema_max_table_instances; +ERROR HY000: Variable 'performance_schema_max_table_instances' is a GLOBAL variable +show global variables like 'performance_schema_max_table_instances'; +Variable_name Value +performance_schema_max_table_instances 123 +show session variables like 'performance_schema_max_table_instances'; +Variable_name Value +performance_schema_max_table_instances 123 +select * from information_schema.global_variables +where variable_name='performance_schema_max_table_instances'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_TABLE_INSTANCES 123 +select * from information_schema.session_variables +where variable_name='performance_schema_max_table_instances'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_TABLE_INSTANCES 123 +set global performance_schema_max_table_instances=1; +ERROR HY000: Variable 'performance_schema_max_table_instances' is a read only variable +set session performance_schema_max_table_instances=1; +ERROR HY000: Variable 'performance_schema_max_table_instances' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/pfs_max_thread_classes_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_thread_classes_basic.result new file mode 100644 index 00000000000..9d45e13b46e --- /dev/null +++ b/mysql-test/suite/sys_vars/r/pfs_max_thread_classes_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema_max_thread_classes; +@@global.performance_schema_max_thread_classes +123 +select @@session.performance_schema_max_thread_classes; +ERROR HY000: Variable 'performance_schema_max_thread_classes' is a GLOBAL variable +show global variables like 'performance_schema_max_thread_classes'; +Variable_name Value +performance_schema_max_thread_classes 123 +show session variables like 'performance_schema_max_thread_classes'; +Variable_name Value +performance_schema_max_thread_classes 123 +select * from information_schema.global_variables +where variable_name='performance_schema_max_thread_classes'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_THREAD_CLASSES 123 +select * from information_schema.session_variables +where variable_name='performance_schema_max_thread_classes'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_THREAD_CLASSES 123 +set global performance_schema_max_thread_classes=1; +ERROR HY000: Variable 'performance_schema_max_thread_classes' is a read only variable +set session performance_schema_max_thread_classes=1; +ERROR HY000: Variable 'performance_schema_max_thread_classes' is a read only variable diff --git a/mysql-test/suite/sys_vars/r/pfs_max_thread_instances_basic.result b/mysql-test/suite/sys_vars/r/pfs_max_thread_instances_basic.result new file mode 100644 index 00000000000..dbb3967ad33 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/pfs_max_thread_instances_basic.result @@ -0,0 +1,23 @@ +select @@global.performance_schema_max_thread_instances; +@@global.performance_schema_max_thread_instances +123 +select @@session.performance_schema_max_thread_instances; +ERROR HY000: Variable 'performance_schema_max_thread_instances' is a GLOBAL variable +show global variables like 'performance_schema_max_thread_instances'; +Variable_name Value +performance_schema_max_thread_instances 123 +show session variables like 'performance_schema_max_thread_instances'; +Variable_name Value +performance_schema_max_thread_instances 123 +select * from information_schema.global_variables +where variable_name='performance_schema_max_thread_instances'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_THREAD_INSTANCES 123 +select * from information_schema.session_variables +where variable_name='performance_schema_max_thread_instances'; +VARIABLE_NAME VARIABLE_VALUE +PERFORMANCE_SCHEMA_MAX_THREAD_INSTANCES 123 +set global performance_schema_max_thread_instances=1; +ERROR HY000: Variable 'performance_schema_max_thread_instances' is a read only variable +set session performance_schema_max_thread_instances=1; +ERROR HY000: Variable 'performance_schema_max_thread_instances' is a read only variable diff --git a/mysql-test/suite/sys_vars/t/all_vars.test b/mysql-test/suite/sys_vars/t/all_vars.test index c6c228d842f..6a18b5e3d37 100644 --- a/mysql-test/suite/sys_vars/t/all_vars.test +++ b/mysql-test/suite/sys_vars/t/all_vars.test @@ -1,3 +1,18 @@ +# Copyright (C) 2009-2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + --source include/not_embedded.inc # @@ -20,16 +35,26 @@ perl; EOF create table t1 (test_name text); +create table t2 (variable_name text); --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval load data infile "$MYSQLTEST_VARDIR/tmp/sys_vars.all_vars.txt" into table t1; -select variable_name as `There should be *no* variables listed below:` - from information_schema.global_variables - left join t1 on variable_name=test_name where - test_name is null - union -select variable_name from information_schema.session_variables - left join t1 on variable_name=test_name where - test_name is null; +insert into t2 select variable_name from information_schema.global_variables; +insert into t2 select variable_name from information_schema.session_variables; + +# Performance schema variables are too long for files named +# 'mysql-test/suite/sys_vars/t/' ... +# ... 'performance_schema_events_waits_history_long_size_basic-master.opt' +# to fit in the tar source distribution (limit in old tar) +# Renaming the tests to aliases below. + +update t2 set variable_name= replace(variable_name, "PERFORMANCE_SCHEMA_", "PFS_"); + +select variable_name as `There should be *no* long test name listed below:` from t2 + where length(variable_name) > 50; + +select variable_name as `There should be *no* variables listed below:` from t2 + left join t1 on variable_name=test_name where test_name is null; drop table t1; +drop table t2; diff --git a/mysql-test/suite/sys_vars/t/engine_condition_pushdown_basic.test b/mysql-test/suite/sys_vars/t/engine_condition_pushdown_basic.test index b153ac50e1e..ab9bfc3dd6a 100644 --- a/mysql-test/suite/sys_vars/t/engine_condition_pushdown_basic.test +++ b/mysql-test/suite/sys_vars/t/engine_condition_pushdown_basic.test @@ -40,6 +40,10 @@ SELECT @session_start_value; SET @global_start_value = @@global.engine_condition_pushdown; SELECT @global_start_value; +# same for optimizer_switch +select @old_session_opt_switch:=@@session.optimizer_switch, +@old_global_opt_switch:=@@global.optimizer_switch; + --echo '#--------------------FN_DYNVARS_028_01------------------------#' ######################################################################## # Display the DEFAULT value of engine_condition_pushdown # @@ -204,6 +208,44 @@ SELECT @@global.engine_condition_pushdown; SET @@global.engine_condition_pushdown = FALSE; SELECT @@global.engine_condition_pushdown; +--echo Check that @@engine_condition_pushdown influences +--echo @@optimizer_switch and vice-versa +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +set @@session.engine_condition_pushdown = TRUE; +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +set @@session.engine_condition_pushdown = FALSE; +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +set @@global.engine_condition_pushdown = TRUE; +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +set @@global.engine_condition_pushdown = FALSE; +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +set @@session.optimizer_switch = "engine_condition_pushdown=on"; +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +set @@session.optimizer_switch = "engine_condition_pushdown=off"; +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +set @@global.optimizer_switch = "engine_condition_pushdown=on"; +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; +set @@global.optimizer_switch = "engine_condition_pushdown=off"; +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; + ############################## # Restore initial value # ############################## @@ -214,6 +256,12 @@ SELECT @@session.engine_condition_pushdown; SET @@global.engine_condition_pushdown = @global_start_value; SELECT @@global.engine_condition_pushdown; +set @session.optimizer_switch=@old_session_opt_switch, +@@global.optimizer_switch=@old_global_opt_switch; +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; + ############################################################### # END OF engine_condition_pushdown TESTS # ############################################################### diff --git a/mysql-test/suite/sys_vars/t/performance_schema_basic-master.opt b/mysql-test/suite/sys_vars/t/performance_schema_basic-master.opt new file mode 100644 index 00000000000..542720c44d7 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/performance_schema_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema diff --git a/mysql-test/suite/sys_vars/t/performance_schema_basic.test b/mysql-test/suite/sys_vars/t/performance_schema_basic.test new file mode 100644 index 00000000000..804e6261921 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/performance_schema_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema; + +show global variables like 'performance_schema'; + +show session variables like 'performance_schema'; + +select * from information_schema.global_variables + where variable_name='performance_schema'; + +select * from information_schema.session_variables + where variable_name='performance_schema'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema=1; + diff --git a/mysql-test/suite/sys_vars/t/pfs_events_waits_history_long_size_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_events_waits_history_long_size_basic-master.opt new file mode 100644 index 00000000000..ff1dd2a8c05 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_events_waits_history_long_size_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema --loose-performance-schema-events-waits-history-long-size=15000 diff --git a/mysql-test/suite/sys_vars/t/pfs_events_waits_history_long_size_basic.test b/mysql-test/suite/sys_vars/t/pfs_events_waits_history_long_size_basic.test new file mode 100644 index 00000000000..bf6638803bc --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_events_waits_history_long_size_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema_events_waits_history_long_size; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema_events_waits_history_long_size; + +show global variables like 'performance_schema_events_waits_history_long_size'; + +show session variables like 'performance_schema_events_waits_history_long_size'; + +select * from information_schema.global_variables + where variable_name='performance_schema_events_waits_history_long_size'; + +select * from information_schema.session_variables + where variable_name='performance_schema_events_waits_history_long_size'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema_events_waits_history_long_size=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema_events_waits_history_long_size=1; + diff --git a/mysql-test/suite/sys_vars/t/pfs_events_waits_history_size_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_events_waits_history_size_basic-master.opt new file mode 100644 index 00000000000..488707fc962 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_events_waits_history_size_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema --loose-performance-schema-events-waits-history-size=15 diff --git a/mysql-test/suite/sys_vars/t/pfs_events_waits_history_size_basic.test b/mysql-test/suite/sys_vars/t/pfs_events_waits_history_size_basic.test new file mode 100644 index 00000000000..28338ad1ffd --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_events_waits_history_size_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema_events_waits_history_size; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema_events_waits_history_size; + +show global variables like 'performance_schema_events_waits_history_size'; + +show session variables like 'performance_schema_events_waits_history_size'; + +select * from information_schema.global_variables + where variable_name='performance_schema_events_waits_history_size'; + +select * from information_schema.session_variables + where variable_name='performance_schema_events_waits_history_size'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema_events_waits_history_size=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema_events_waits_history_size=1; + diff --git a/mysql-test/suite/sys_vars/t/pfs_max_cond_classes_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_cond_classes_basic-master.opt new file mode 100644 index 00000000000..438bc463289 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_cond_classes_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema --loose-performance-schema-max-cond-classes=123 diff --git a/mysql-test/suite/sys_vars/t/pfs_max_cond_classes_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_cond_classes_basic.test new file mode 100644 index 00000000000..70a757087f8 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_cond_classes_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema_max_cond_classes; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema_max_cond_classes; + +show global variables like 'performance_schema_max_cond_classes'; + +show session variables like 'performance_schema_max_cond_classes'; + +select * from information_schema.global_variables + where variable_name='performance_schema_max_cond_classes'; + +select * from information_schema.session_variables + where variable_name='performance_schema_max_cond_classes'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema_max_cond_classes=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema_max_cond_classes=1; + diff --git a/mysql-test/suite/sys_vars/t/pfs_max_cond_instances_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_cond_instances_basic-master.opt new file mode 100644 index 00000000000..47b9d629655 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_cond_instances_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema --loose-performance-schema-max-cond-instances=123 diff --git a/mysql-test/suite/sys_vars/t/pfs_max_cond_instances_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_cond_instances_basic.test new file mode 100644 index 00000000000..597ad334295 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_cond_instances_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema_max_cond_instances; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema_max_cond_instances; + +show global variables like 'performance_schema_max_cond_instances'; + +show session variables like 'performance_schema_max_cond_instances'; + +select * from information_schema.global_variables + where variable_name='performance_schema_max_cond_instances'; + +select * from information_schema.session_variables + where variable_name='performance_schema_max_cond_instances'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema_max_cond_instances=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema_max_cond_instances=1; + diff --git a/mysql-test/suite/sys_vars/t/pfs_max_file_classes_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_file_classes_basic-master.opt new file mode 100644 index 00000000000..6ed54f9f99d --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_file_classes_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema --loose-performance-schema-max-file-classes=123 diff --git a/mysql-test/suite/sys_vars/t/pfs_max_file_classes_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_file_classes_basic.test new file mode 100644 index 00000000000..8536a703afa --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_file_classes_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema_max_file_classes; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema_max_file_classes; + +show global variables like 'performance_schema_max_file_classes'; + +show session variables like 'performance_schema_max_file_classes'; + +select * from information_schema.global_variables + where variable_name='performance_schema_max_file_classes'; + +select * from information_schema.session_variables + where variable_name='performance_schema_max_file_classes'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema_max_file_classes=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema_max_file_classes=1; + diff --git a/mysql-test/suite/sys_vars/t/pfs_max_file_handles_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_file_handles_basic-master.opt new file mode 100644 index 00000000000..04633ae0897 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_file_handles_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema --loose-performance-schema-max-file-handles=123 diff --git a/mysql-test/suite/sys_vars/t/pfs_max_file_handles_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_file_handles_basic.test new file mode 100644 index 00000000000..ba702a030d7 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_file_handles_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema_max_file_handles; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema_max_file_handles; + +show global variables like 'performance_schema_max_file_handles'; + +show session variables like 'performance_schema_max_file_handles'; + +select * from information_schema.global_variables + where variable_name='performance_schema_max_file_handles'; + +select * from information_schema.session_variables + where variable_name='performance_schema_max_file_handles'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema_max_file_handles=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema_max_file_handles=1; + diff --git a/mysql-test/suite/sys_vars/t/pfs_max_file_instances_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_file_instances_basic-master.opt new file mode 100644 index 00000000000..078a998c1e7 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_file_instances_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema --loose-performance-schema-max-file-instances=123 diff --git a/mysql-test/suite/sys_vars/t/pfs_max_file_instances_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_file_instances_basic.test new file mode 100644 index 00000000000..829df39bbe9 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_file_instances_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema_max_file_instances; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema_max_file_instances; + +show global variables like 'performance_schema_max_file_instances'; + +show session variables like 'performance_schema_max_file_instances'; + +select * from information_schema.global_variables + where variable_name='performance_schema_max_file_instances'; + +select * from information_schema.session_variables + where variable_name='performance_schema_max_file_instances'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema_max_file_instances=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema_max_file_instances=1; + diff --git a/mysql-test/suite/sys_vars/t/pfs_max_mutex_classes_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_mutex_classes_basic-master.opt new file mode 100644 index 00000000000..1525916a1ef --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_mutex_classes_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema --loose-performance-schema-max-mutex-classes=123 diff --git a/mysql-test/suite/sys_vars/t/pfs_max_mutex_classes_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_mutex_classes_basic.test new file mode 100644 index 00000000000..633d1a3487c --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_mutex_classes_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema_max_mutex_classes; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema_max_mutex_classes; + +show global variables like 'performance_schema_max_mutex_classes'; + +show session variables like 'performance_schema_max_mutex_classes'; + +select * from information_schema.global_variables + where variable_name='performance_schema_max_mutex_classes'; + +select * from information_schema.session_variables + where variable_name='performance_schema_max_mutex_classes'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema_max_mutex_classes=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema_max_mutex_classes=1; + diff --git a/mysql-test/suite/sys_vars/t/pfs_max_mutex_instances_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_mutex_instances_basic-master.opt new file mode 100644 index 00000000000..98ce2ff3df9 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_mutex_instances_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema --loose-performance-schema-max-mutex-instances=123 diff --git a/mysql-test/suite/sys_vars/t/pfs_max_mutex_instances_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_mutex_instances_basic.test new file mode 100644 index 00000000000..2a8f5e5ae00 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_mutex_instances_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema_max_mutex_instances; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema_max_mutex_instances; + +show global variables like 'performance_schema_max_mutex_instances'; + +show session variables like 'performance_schema_max_mutex_instances'; + +select * from information_schema.global_variables + where variable_name='performance_schema_max_mutex_instances'; + +select * from information_schema.session_variables + where variable_name='performance_schema_max_mutex_instances'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema_max_mutex_instances=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema_max_mutex_instances=1; + diff --git a/mysql-test/suite/sys_vars/t/pfs_max_rwlock_classes_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_rwlock_classes_basic-master.opt new file mode 100644 index 00000000000..b5d5318635f --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_rwlock_classes_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema --loose-performance-schema-max-rwlock-classes=123 diff --git a/mysql-test/suite/sys_vars/t/pfs_max_rwlock_classes_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_rwlock_classes_basic.test new file mode 100644 index 00000000000..ce911b60049 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_rwlock_classes_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema_max_rwlock_classes; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema_max_rwlock_classes; + +show global variables like 'performance_schema_max_rwlock_classes'; + +show session variables like 'performance_schema_max_rwlock_classes'; + +select * from information_schema.global_variables + where variable_name='performance_schema_max_rwlock_classes'; + +select * from information_schema.session_variables + where variable_name='performance_schema_max_rwlock_classes'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema_max_rwlock_classes=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema_max_rwlock_classes=1; + diff --git a/mysql-test/suite/sys_vars/t/pfs_max_rwlock_instances_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_rwlock_instances_basic-master.opt new file mode 100644 index 00000000000..5dcecd99c0a --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_rwlock_instances_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema --loose-performance-schema-max-rwlock-instances=123 diff --git a/mysql-test/suite/sys_vars/t/pfs_max_rwlock_instances_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_rwlock_instances_basic.test new file mode 100644 index 00000000000..d16c1c46f68 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_rwlock_instances_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema_max_rwlock_instances; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema_max_rwlock_instances; + +show global variables like 'performance_schema_max_rwlock_instances'; + +show session variables like 'performance_schema_max_rwlock_instances'; + +select * from information_schema.global_variables + where variable_name='performance_schema_max_rwlock_instances'; + +select * from information_schema.session_variables + where variable_name='performance_schema_max_rwlock_instances'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema_max_rwlock_instances=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema_max_rwlock_instances=1; + diff --git a/mysql-test/suite/sys_vars/t/pfs_max_table_handles_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_table_handles_basic-master.opt new file mode 100644 index 00000000000..45e73c51f8c --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_table_handles_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema --loose-performance-schema-max-table-handles=123 diff --git a/mysql-test/suite/sys_vars/t/pfs_max_table_handles_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_table_handles_basic.test new file mode 100644 index 00000000000..3ede0985a70 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_table_handles_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema_max_table_handles; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema_max_table_handles; + +show global variables like 'performance_schema_max_table_handles'; + +show session variables like 'performance_schema_max_table_handles'; + +select * from information_schema.global_variables + where variable_name='performance_schema_max_table_handles'; + +select * from information_schema.session_variables + where variable_name='performance_schema_max_table_handles'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema_max_table_handles=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema_max_table_handles=1; + diff --git a/mysql-test/suite/sys_vars/t/pfs_max_table_instances_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_table_instances_basic-master.opt new file mode 100644 index 00000000000..b8b0ba4b40b --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_table_instances_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema --loose-performance-schema-max-table-instances=123 diff --git a/mysql-test/suite/sys_vars/t/pfs_max_table_instances_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_table_instances_basic.test new file mode 100644 index 00000000000..fcd4886ca22 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_table_instances_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema_max_table_instances; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema_max_table_instances; + +show global variables like 'performance_schema_max_table_instances'; + +show session variables like 'performance_schema_max_table_instances'; + +select * from information_schema.global_variables + where variable_name='performance_schema_max_table_instances'; + +select * from information_schema.session_variables + where variable_name='performance_schema_max_table_instances'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema_max_table_instances=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema_max_table_instances=1; + diff --git a/mysql-test/suite/sys_vars/t/pfs_max_thread_classes_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_thread_classes_basic-master.opt new file mode 100644 index 00000000000..c0b64e5889a --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_thread_classes_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema --loose-performance-schema-max-thread-classes=123 diff --git a/mysql-test/suite/sys_vars/t/pfs_max_thread_classes_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_thread_classes_basic.test new file mode 100644 index 00000000000..4704e87cf06 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_thread_classes_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema_max_thread_classes; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema_max_thread_classes; + +show global variables like 'performance_schema_max_thread_classes'; + +show session variables like 'performance_schema_max_thread_classes'; + +select * from information_schema.global_variables + where variable_name='performance_schema_max_thread_classes'; + +select * from information_schema.session_variables + where variable_name='performance_schema_max_thread_classes'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema_max_thread_classes=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema_max_thread_classes=1; + diff --git a/mysql-test/suite/sys_vars/t/pfs_max_thread_instances_basic-master.opt b/mysql-test/suite/sys_vars/t/pfs_max_thread_instances_basic-master.opt new file mode 100644 index 00000000000..b70eda8acb1 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_thread_instances_basic-master.opt @@ -0,0 +1 @@ +--loose-enable-performance-schema --loose-performance-schema-max-thread-instances=123 diff --git a/mysql-test/suite/sys_vars/t/pfs_max_thread_instances_basic.test b/mysql-test/suite/sys_vars/t/pfs_max_thread_instances_basic.test new file mode 100644 index 00000000000..d709c097f20 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/pfs_max_thread_instances_basic.test @@ -0,0 +1,47 @@ +# Copyright (C) 2010 Sun Microsystems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# +# Only global +# + +select @@global.performance_schema_max_thread_instances; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +select @@session.performance_schema_max_thread_instances; + +show global variables like 'performance_schema_max_thread_instances'; + +show session variables like 'performance_schema_max_thread_instances'; + +select * from information_schema.global_variables + where variable_name='performance_schema_max_thread_instances'; + +select * from information_schema.session_variables + where variable_name='performance_schema_max_thread_instances'; + +# +# Read-only +# + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set global performance_schema_max_thread_instances=1; + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +set session performance_schema_max_thread_instances=1; + diff --git a/mysql-test/t/events_scheduling.test b/mysql-test/t/events_scheduling.test index 041a2def490..5f16f8bea6a 100644 --- a/mysql-test/t/events_scheduling.test +++ b/mysql-test/t/events_scheduling.test @@ -108,6 +108,32 @@ DROP TABLE table_1; DROP TABLE table_2; DROP TABLE table_3; DROP TABLE table_4; + +-- echo +-- echo Bug #50087 Interval arithmetic for Event_queue_element is not portable. +-- echo + +CREATE TABLE t1(a int); + +CREATE EVENT e1 ON SCHEDULE EVERY 1 MONTH +STARTS NOW() - INTERVAL 1 MONTH +ENDS NOW() + INTERVAL 2 MONTH +ON COMPLETION PRESERVE +DO + INSERT INTO t1 VALUES (1); + +CREATE EVENT e2 ON SCHEDULE EVERY 1 MONTH +STARTS NOW() +ENDS NOW() + INTERVAL 11 MONTH +ON COMPLETION PRESERVE +DO + INSERT INTO t1 VALUES (1); + +DROP TABLE t1; +DROP EVENT e1; +DROP EVENT e2; + + DROP DATABASE events_test; SET GLOBAL event_scheduler=@event_scheduler; diff --git a/mysql-test/t/optimizer_switch_eng_cond_pushdown1-master.opt b/mysql-test/t/optimizer_switch_eng_cond_pushdown1-master.opt new file mode 100644 index 00000000000..89aa07976ac --- /dev/null +++ b/mysql-test/t/optimizer_switch_eng_cond_pushdown1-master.opt @@ -0,0 +1 @@ +--optimizer-switch=engine_condition_pushdown=off --engine-condition-pushdown=1 diff --git a/mysql-test/t/optimizer_switch_eng_cond_pushdown1.test b/mysql-test/t/optimizer_switch_eng_cond_pushdown1.test new file mode 100644 index 00000000000..187aa145408 --- /dev/null +++ b/mysql-test/t/optimizer_switch_eng_cond_pushdown1.test @@ -0,0 +1,5 @@ +# check how --engine-condition-pushdown and --optimizer-switch +# influence each other when used together (last wins). +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; diff --git a/mysql-test/t/optimizer_switch_eng_cond_pushdown2-master.opt b/mysql-test/t/optimizer_switch_eng_cond_pushdown2-master.opt new file mode 100644 index 00000000000..f48ab5b963b --- /dev/null +++ b/mysql-test/t/optimizer_switch_eng_cond_pushdown2-master.opt @@ -0,0 +1 @@ +--engine-condition-pushdown=1 --optimizer-switch=engine_condition_pushdown=off diff --git a/mysql-test/t/optimizer_switch_eng_cond_pushdown2.test b/mysql-test/t/optimizer_switch_eng_cond_pushdown2.test new file mode 100644 index 00000000000..187aa145408 --- /dev/null +++ b/mysql-test/t/optimizer_switch_eng_cond_pushdown2.test @@ -0,0 +1,5 @@ +# check how --engine-condition-pushdown and --optimizer-switch +# influence each other when used together (last wins). +select @@session.engine_condition_pushdown, +@@global.engine_condition_pushdown, +@@session.optimizer_switch, @@global.optimizer_switch; diff --git a/mysql-test/t/subselect3.test b/mysql-test/t/subselect3.test index fab0a462157..39c97941031 100644 --- a/mysql-test/t/subselect3.test +++ b/mysql-test/t/subselect3.test @@ -794,3 +794,50 @@ SHOW STATUS LIKE '%Handler_read_rnd_next'; DROP TABLE t1,t2; --echo End of 5.1 tests + +--echo # +--echo # BUG#48920: COUNT DISTINCT returns 1 for NULL values when in a subquery +--echo # in the select list +--echo # + +--echo +CREATE TABLE t1 ( + i int(11) DEFAULT NULL, + v varchar(1) DEFAULT NULL +); + +--echo +INSERT INTO t1 VALUES (8,'v'); +INSERT INTO t1 VALUES (9,'r'); +INSERT INTO t1 VALUES (NULL,'y'); + +--echo +CREATE TABLE t2 ( + i int(11) DEFAULT NULL, + v varchar(1) DEFAULT NULL, + KEY i_key (i) +); + +--echo +INSERT INTO t2 VALUES (NULL,'r'); +INSERT INTO t2 VALUES (0,'c'); +INSERT INTO t2 VALUES (0,'o'); +INSERT INTO t2 VALUES (2,'v'); +INSERT INTO t2 VALUES (7,'c'); + +--echo +SELECT i, v, (SELECT COUNT(DISTINCT i) + FROM t1 + WHERE v = t2.v) as subsel +FROM t2; + +--echo +EXPLAIN EXTENDED +SELECT i, v, (SELECT COUNT(DISTINCT i) + FROM t1 + WHERE v = t2.v) as subsel +FROM t2; + +DROP TABLE t1,t2; + +--echo End of 5.6 tests |