mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-33145 Add FLUSH GLOBAL STATUS
- FLUSH GLOBAL STATUS now resets most global_status_vars. At this stage, this is mainly to be used for testing. - FLUSH SESSION STATUS added as an alias for FLUSH STATUS. - FLUSH STATUS does not require any privilege (before required RELOAD). - FLUSH GLOBAL STATUS requires RELOAD privilege. - All global status reset moved to FLUSH GLOBAL STATUS. - Replication semisync status variables are now reset by FLUSH GLOBAL STATUS. - In test cases, the only changes are: - Replace FLUSH STATUS with FLUSH GLOBAL STATUS - Replace FLUSH STATUS with FLUSH STATUS; FLUSH GLOBAL STATUS. This was only done in a few tests where the test was using SHOW STATUS for both local and global variables. - Uptime_since_flush_status is now always provided, independent if ENABLED_PROFILING is enabled when compiling MariaDB. - @@global.Uptime_since_flush_status is reset on FLUSH GLOBAL STATUS and @@session.Uptime_since_flush_status is reset on FLUSH SESSION STATUS. - When connected, @@session.Uptime_since_flush_status is set to 0.
This commit is contained in:
@ -985,7 +985,7 @@ static int execute_commands(MYSQL *mysql,int argc, char **argv)
|
|||||||
}
|
}
|
||||||
case ADMIN_FLUSH_STATUS:
|
case ADMIN_FLUSH_STATUS:
|
||||||
{
|
{
|
||||||
if (flush(mysql, "status"))
|
if (flush(mysql, "/*!110500 global */ status"))
|
||||||
return -1;
|
return -1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1034,8 +1034,9 @@ static int execute_commands(MYSQL *mysql,int argc, char **argv)
|
|||||||
}
|
}
|
||||||
case ADMIN_FLUSH_ALL_STATUS:
|
case ADMIN_FLUSH_ALL_STATUS:
|
||||||
{
|
{
|
||||||
if (flush(mysql, "status,table_statistics,index_statistics,"
|
if (flush(mysql,
|
||||||
"user_statistics,client_statistics"))
|
"/*!110500 global */ status,table_statistics,"
|
||||||
|
"index_statistics, user_statistics,client_statistics"))
|
||||||
return -1;
|
return -1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -194,10 +194,11 @@ enum enum_indicator_type
|
|||||||
#define REFRESH_LOG (1ULL << 1) /* Start on new log file */
|
#define REFRESH_LOG (1ULL << 1) /* Start on new log file */
|
||||||
#define REFRESH_TABLES (1ULL << 2) /* close all tables */
|
#define REFRESH_TABLES (1ULL << 2) /* close all tables */
|
||||||
#define REFRESH_HOSTS (1ULL << 3) /* Flush host cache */
|
#define REFRESH_HOSTS (1ULL << 3) /* Flush host cache */
|
||||||
#define REFRESH_STATUS (1ULL << 4) /* Flush status variables */
|
#define REFRESH_SESSION_STATUS (1ULL << 4) /* Flush status variables */
|
||||||
|
#define REFRESH_STATUS REFRESH_SESSION_STATUS
|
||||||
#define REFRESH_THREADS (1ULL << 5) /* Flush thread cache */
|
#define REFRESH_THREADS (1ULL << 5) /* Flush thread cache */
|
||||||
#define REFRESH_SLAVE (1ULL << 6) /* Reset master info and restart slave
|
#define REFRESH_SLAVE (1ULL << 6) /* Reset master info and restart
|
||||||
thread */
|
slave thread */
|
||||||
#define REFRESH_MASTER (1ULL << 7) /* Remove all bin logs in the index
|
#define REFRESH_MASTER (1ULL << 7) /* Remove all bin logs in the index
|
||||||
and truncate the index */
|
and truncate the index */
|
||||||
|
|
||||||
@ -218,6 +219,7 @@ enum enum_indicator_type
|
|||||||
#define REFRESH_USER_RESOURCES (1ULL << 19)
|
#define REFRESH_USER_RESOURCES (1ULL << 19)
|
||||||
#define REFRESH_FOR_EXPORT (1ULL << 20) /* FLUSH TABLES ... FOR EXPORT */
|
#define REFRESH_FOR_EXPORT (1ULL << 20) /* FLUSH TABLES ... FOR EXPORT */
|
||||||
#define REFRESH_SSL (1ULL << 21)
|
#define REFRESH_SSL (1ULL << 21)
|
||||||
|
#define REFRESH_GLOBAL_STATUS (1ULL << 22) /* Flush global status */
|
||||||
|
|
||||||
#define REFRESH_GENERIC (1ULL << 30)
|
#define REFRESH_GENERIC (1ULL << 30)
|
||||||
#define REFRESH_FAST (1ULL << 31) /* Intern flag */
|
#define REFRESH_FAST (1ULL << 31) /* Intern flag */
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
let $key_reads= query_get_value(SHOW STATUS LIKE 'key_reads',Value,1);
|
let $key_reads= query_get_value(SHOW STATUS LIKE 'key_reads',Value,1);
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
eval SELECT IF($key_reads = 0, "Yes!", "No!") as 'Zero key reads?';
|
eval SELECT IF($key_reads = 0, "Yes!", "No!") as 'Zero key reads?';
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
--enable_query_log
|
--enable_query_log
|
||||||
|
@ -31,7 +31,7 @@ set GLOBAL query_cache_size = 1355776;
|
|||||||
#
|
#
|
||||||
# Without auto_commit.
|
# Without auto_commit.
|
||||||
#
|
#
|
||||||
flush status;
|
flush global status;
|
||||||
set autocommit=0;
|
set autocommit=0;
|
||||||
eval create table t1 (a int not null)$partitions_a;
|
eval create table t1 (a int not null)$partitions_a;
|
||||||
insert into t1 values (1),(2),(3);
|
insert into t1 values (1),(2),(3);
|
||||||
@ -129,7 +129,7 @@ connection default;
|
|||||||
SHOW VARIABLES LIKE 'have_query_cache';
|
SHOW VARIABLES LIKE 'have_query_cache';
|
||||||
|
|
||||||
SET GLOBAL query_cache_size = 204800;
|
SET GLOBAL query_cache_size = 204800;
|
||||||
flush status;
|
flush global status;
|
||||||
SET @@autocommit=1;
|
SET @@autocommit=1;
|
||||||
eval SET SESSION DEFAULT_STORAGE_ENGINE = $engine_type;
|
eval SET SESSION DEFAULT_STORAGE_ENGINE = $engine_type;
|
||||||
eval CREATE TABLE t2 (s1 int, s2 varchar(1000), key(s1))$partitions_s1;
|
eval CREATE TABLE t2 (s1 int, s2 varchar(1000), key(s1))$partitions_s1;
|
||||||
|
@ -40,7 +40,7 @@ show create table t1;
|
|||||||
|
|
||||||
INSERT INTO t1 VALUES (1, now(), 0);
|
INSERT INTO t1 VALUES (1, now(), 0);
|
||||||
|
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
show status like "Qcache_hits";
|
show status like "Qcache_hits";
|
||||||
|
|
||||||
@ -76,7 +76,7 @@ show create table t1;
|
|||||||
|
|
||||||
INSERT INTO t1 VALUES (1, now(), 0);
|
INSERT INTO t1 VALUES (1, now(), 0);
|
||||||
|
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
show status like "Qcache_hits";
|
show status like "Qcache_hits";
|
||||||
|
|
||||||
@ -97,7 +97,7 @@ drop table t1;
|
|||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
flush query cache;
|
flush query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
|
|
||||||
SET GLOBAL query_cache_size=1024*1024*512;
|
SET GLOBAL query_cache_size=1024*1024*512;
|
||||||
CREATE TABLE `t1` (
|
CREATE TABLE `t1` (
|
||||||
|
@ -30,7 +30,7 @@ connection default;
|
|||||||
|
|
||||||
set @initial_query_cache_size = @@global.query_cache_size;
|
set @initial_query_cache_size = @@global.query_cache_size;
|
||||||
set @@global.query_cache_size=102400;
|
set @@global.query_cache_size=102400;
|
||||||
flush status;
|
flush global status;
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
@ -485,7 +485,7 @@ drop table if exists t1;
|
|||||||
--enable_warnings
|
--enable_warnings
|
||||||
create table t1 (a varchar(255));
|
create table t1 (a varchar(255));
|
||||||
insert into t1 (a) values ("Pack my box with five dozen liquor jugs.");
|
insert into t1 (a) values ("Pack my box with five dozen liquor jugs.");
|
||||||
flush status;
|
flush global status;
|
||||||
prepare stmt from "select a from t1";
|
prepare stmt from "select a from t1";
|
||||||
execute stmt;
|
execute stmt;
|
||||||
set @@global.query_cache_size=0;
|
set @@global.query_cache_size=0;
|
||||||
|
@ -4,7 +4,7 @@ SET SESSION DEFAULT_STORAGE_ENGINE = InnoDB;
|
|||||||
drop table if exists t1,t2,t3;
|
drop table if exists t1,t2,t3;
|
||||||
set @save_query_cache_size = @@global.query_cache_size;
|
set @save_query_cache_size = @@global.query_cache_size;
|
||||||
set GLOBAL query_cache_size = 1355776;
|
set GLOBAL query_cache_size = 1355776;
|
||||||
flush status;
|
flush global status;
|
||||||
set autocommit=0;
|
set autocommit=0;
|
||||||
create table t1 (a int not null);
|
create table t1 (a int not null);
|
||||||
insert into t1 values (1),(2),(3);
|
insert into t1 values (1),(2),(3);
|
||||||
@ -139,7 +139,7 @@ SHOW VARIABLES LIKE 'have_query_cache';
|
|||||||
Variable_name Value
|
Variable_name Value
|
||||||
have_query_cache YES
|
have_query_cache YES
|
||||||
SET GLOBAL query_cache_size = 204800;
|
SET GLOBAL query_cache_size = 204800;
|
||||||
flush status;
|
flush global status;
|
||||||
SET @@autocommit=1;
|
SET @@autocommit=1;
|
||||||
SET SESSION DEFAULT_STORAGE_ENGINE = InnoDB;
|
SET SESSION DEFAULT_STORAGE_ENGINE = InnoDB;
|
||||||
CREATE TABLE t2 (s1 int, s2 varchar(1000), key(s1));
|
CREATE TABLE t2 (s1 int, s2 varchar(1000), key(s1));
|
||||||
|
@ -285,7 +285,7 @@ DROP USER mysqltest_u1@localhost;
|
|||||||
|
|
||||||
# -- Bug#35074: max_used_connections is not correct.
|
# -- Bug#35074: max_used_connections is not correct.
|
||||||
|
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
|
|
||||||
SHOW STATUS LIKE 'max_used_connections';
|
SHOW STATUS LIKE 'max_used_connections';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
@ -422,7 +422,7 @@ Warning 1287 '@@secure_auth' is deprecated and will be removed in a future relea
|
|||||||
# MDEV-19277: Add status variable that gets incremented if
|
# MDEV-19277: Add status variable that gets incremented if
|
||||||
# connection is aborted prior to authentication
|
# connection is aborted prior to authentication
|
||||||
#
|
#
|
||||||
flush status;
|
flush global status;
|
||||||
SHOW GLOBAL STATUS LIKE 'Aborted_connects%';
|
SHOW GLOBAL STATUS LIKE 'Aborted_connects%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Aborted_connects 0
|
Aborted_connects 0
|
||||||
|
@ -267,7 +267,7 @@ DROP USER mysqltest_u1@localhost;
|
|||||||
--echo # -- Bug#35074: max_used_connections is not correct.
|
--echo # -- Bug#35074: max_used_connections is not correct.
|
||||||
--echo
|
--echo
|
||||||
|
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
|
|
||||||
--echo
|
--echo
|
||||||
SHOW STATUS LIKE 'max_used_connections';
|
SHOW STATUS LIKE 'max_used_connections';
|
||||||
@ -462,7 +462,7 @@ SET global secure_auth=default;
|
|||||||
--echo # connection is aborted prior to authentication
|
--echo # connection is aborted prior to authentication
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
flush status;
|
flush global status;
|
||||||
SHOW GLOBAL STATUS LIKE 'Aborted_connects%';
|
SHOW GLOBAL STATUS LIKE 'Aborted_connects%';
|
||||||
|
|
||||||
SET GLOBAL log_warnings=2;
|
SET GLOBAL log_warnings=2;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
set sql_mode="";
|
set sql_mode="";
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "feature%";
|
show status like "feature%";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Feature_application_time_periods 0
|
Feature_application_time_periods 0
|
||||||
|
@ -11,7 +11,7 @@ set sql_mode="";
|
|||||||
|
|
||||||
--disable_ps2_protocol
|
--disable_ps2_protocol
|
||||||
|
|
||||||
flush status;
|
flush global status;
|
||||||
|
|
||||||
show status like "feature%";
|
show status like "feature%";
|
||||||
|
|
||||||
|
@ -67,3 +67,17 @@ DROP VIEW v0, v1, v2;
|
|||||||
#
|
#
|
||||||
# End of 10.6 tests
|
# End of 10.6 tests
|
||||||
#
|
#
|
||||||
|
#
|
||||||
|
# MDEV-33145 Add FLUSH GLOBAL STATUS
|
||||||
|
#
|
||||||
|
CREATE USER mysqltest@localhost;
|
||||||
|
GRANT USAGE ON *.* TO mysqltest@localhost;
|
||||||
|
connect con1, localhost, mysqltest;
|
||||||
|
FLUSH STATUS;
|
||||||
|
FLUSH SESSION STATUS;
|
||||||
|
FLUSH GLOBAL STATUS;
|
||||||
|
ERROR 42000: Access denied; you need (at least one of) the RELOAD privilege(s) for this operation
|
||||||
|
disconnect con1;
|
||||||
|
connection default;
|
||||||
|
DROP USER mysqltest@localhost;
|
||||||
|
# End of 11.5 tests
|
||||||
|
@ -65,3 +65,21 @@ DROP VIEW v0, v1, v2;
|
|||||||
--echo #
|
--echo #
|
||||||
--echo # End of 10.6 tests
|
--echo # End of 10.6 tests
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-33145 Add FLUSH GLOBAL STATUS
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE USER mysqltest@localhost;
|
||||||
|
GRANT USAGE ON *.* TO mysqltest@localhost;
|
||||||
|
|
||||||
|
connect(con1, localhost, mysqltest);
|
||||||
|
FLUSH STATUS;
|
||||||
|
FLUSH SESSION STATUS;
|
||||||
|
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
||||||
|
FLUSH GLOBAL STATUS;
|
||||||
|
disconnect con1;
|
||||||
|
connection default;
|
||||||
|
DROP USER mysqltest@localhost;
|
||||||
|
|
||||||
|
--echo # End of 11.5 tests
|
||||||
|
@ -551,7 +551,7 @@ KEY_CACHE_NAME SEGMENTS SEGMENT_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_B
|
|||||||
default 1 NULL 2097152 1024 4 # 0 21 0 26 6
|
default 1 NULL 2097152 1024 4 # 0 21 0 26 6
|
||||||
small NULL NULL 1048576 1024 1 # 0 1 0 2 1
|
small NULL NULL 1048576 1024 1 # 0 1 0 2 1
|
||||||
flush tables;
|
flush tables;
|
||||||
flush status;
|
flush global status;
|
||||||
select * from information_schema.key_caches where segment_number is null;
|
select * from information_schema.key_caches where segment_number is null;
|
||||||
KEY_CACHE_NAME SEGMENTS SEGMENT_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
|
KEY_CACHE_NAME SEGMENTS SEGMENT_NUMBER FULL_SIZE BLOCK_SIZE USED_BLOCKS UNUSED_BLOCKS DIRTY_BLOCKS READ_REQUESTS READS WRITE_REQUESTS WRITES
|
||||||
default 1 NULL 2097152 1024 4 # 0 0 0 0 0
|
default 1 NULL 2097152 1024 4 # 0 0 0 0 0
|
||||||
@ -632,7 +632,7 @@ Table Op Msg_type Msg_text
|
|||||||
test.t2 analyze status Engine-independent statistics collected
|
test.t2 analyze status Engine-independent statistics collected
|
||||||
test.t2 analyze status OK
|
test.t2 analyze status OK
|
||||||
flush tables;
|
flush tables;
|
||||||
flush status;
|
flush global status;
|
||||||
update t1 set a='zzzz' where a='qqqq';
|
update t1 set a='zzzz' where a='qqqq';
|
||||||
set statement optimizer_scan_setup_cost=0 for update t2 set i=1 where i=2;
|
set statement optimizer_scan_setup_cost=0 for update t2 set i=1 where i=2;
|
||||||
select * from information_schema.key_caches where segment_number is null;
|
select * from information_schema.key_caches where segment_number is null;
|
||||||
|
@ -369,7 +369,7 @@ delete from t2;
|
|||||||
--replace_column 7 #
|
--replace_column 7 #
|
||||||
select * from information_schema.key_caches where segment_number is null;
|
select * from information_schema.key_caches where segment_number is null;
|
||||||
|
|
||||||
flush tables; flush status;
|
flush tables; flush global status;
|
||||||
--replace_column 7 #
|
--replace_column 7 #
|
||||||
select * from information_schema.key_caches where segment_number is null;
|
select * from information_schema.key_caches where segment_number is null;
|
||||||
|
|
||||||
@ -423,7 +423,7 @@ select * from t2 where p between 1010 and 1020 ;
|
|||||||
select * from information_schema.key_caches where segment_number is null;
|
select * from information_schema.key_caches where segment_number is null;
|
||||||
|
|
||||||
analyze table t2;
|
analyze table t2;
|
||||||
flush tables; flush status;
|
flush tables; flush global status;
|
||||||
update t1 set a='zzzz' where a='qqqq';
|
update t1 set a='zzzz' where a='qqqq';
|
||||||
set statement optimizer_scan_setup_cost=0 for update t2 set i=1 where i=2;
|
set statement optimizer_scan_setup_cost=0 for update t2 set i=1 where i=2;
|
||||||
--replace_column 6 # 7 #
|
--replace_column 6 # 7 #
|
||||||
|
@ -17,6 +17,34 @@ mysqld is alive
|
|||||||
# Creating an empty file 'cnf_file'
|
# Creating an empty file 'cnf_file'
|
||||||
# Using --defaults-extra-file option with 'cnf_file'.
|
# Using --defaults-extra-file option with 'cnf_file'.
|
||||||
mysqld is alive
|
mysqld is alive
|
||||||
|
#
|
||||||
|
# MDEV-33992 mariadb-admin flush-status command should do
|
||||||
|
# FLUSH GLOBAL STATUS
|
||||||
|
#
|
||||||
|
flush session status;
|
||||||
|
flush global status;
|
||||||
|
connect con1,localhost,root,;
|
||||||
|
connect con2,localhost,root,;
|
||||||
|
connect con3,localhost,root,;
|
||||||
|
disconnect con1;
|
||||||
|
disconnect con2;
|
||||||
|
disconnect con3;
|
||||||
|
connection default;
|
||||||
|
show status like 'Max_used_connections';
|
||||||
|
Variable_name Value
|
||||||
|
Max_used_connections 4
|
||||||
|
show global status like 'Max_used_connections';
|
||||||
|
Variable_name Value
|
||||||
|
Max_used_connections 4
|
||||||
|
#
|
||||||
|
# Running mariadb-admin flush-status
|
||||||
|
#
|
||||||
|
show status like 'Max_used_connections';
|
||||||
|
Variable_name Value
|
||||||
|
Max_used_connections 2
|
||||||
|
show global status like 'Max_used_connections';
|
||||||
|
Variable_name Value
|
||||||
|
Max_used_connections 2
|
||||||
# restart: --ssl-key=MYSQLTEST_VARDIR/tmp/ssl_key.pem --ssl-cert=MYSQLTEST_VARDIR/tmp/ssl_cert.pem
|
# restart: --ssl-key=MYSQLTEST_VARDIR/tmp/ssl_key.pem --ssl-cert=MYSQLTEST_VARDIR/tmp/ssl_cert.pem
|
||||||
connect ssl_con,localhost,root,,,,,SSL;
|
connect ssl_con,localhost,root,,,,,SSL;
|
||||||
SELECT VARIABLE_VALUE INTO @ssl_not_after FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_server_not_after';
|
SELECT VARIABLE_VALUE INTO @ssl_not_after FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_server_not_after';
|
||||||
@ -26,3 +54,4 @@ Result
|
|||||||
OK
|
OK
|
||||||
# Cleanup
|
# Cleanup
|
||||||
# restart
|
# restart
|
||||||
|
# End of 11.5
|
||||||
|
@ -52,6 +52,32 @@ EOF
|
|||||||
--error 1
|
--error 1
|
||||||
--exec $MYSQLADMIN -u root -p 2>&1 > /dev/null
|
--exec $MYSQLADMIN -u root -p 2>&1 > /dev/null
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-33992 mariadb-admin flush-status command should do
|
||||||
|
--echo # FLUSH GLOBAL STATUS
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
flush session status;
|
||||||
|
flush global status;
|
||||||
|
--connect (con1,localhost,root,)
|
||||||
|
--connect (con2,localhost,root,)
|
||||||
|
--connect (con3,localhost,root,)
|
||||||
|
--disconnect con1
|
||||||
|
--disconnect con2
|
||||||
|
--disconnect con3
|
||||||
|
|
||||||
|
--connection default
|
||||||
|
show status like 'Max_used_connections';
|
||||||
|
show global status like 'Max_used_connections';
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # Running mariadb-admin flush-status
|
||||||
|
--echo #
|
||||||
|
--exec $MYSQLADMIN flush-status
|
||||||
|
|
||||||
|
show status like 'Max_used_connections';
|
||||||
|
show global status like 'Max_used_connections';
|
||||||
|
|
||||||
#
|
#
|
||||||
# MDEV-19168 Reload SSL certificate
|
# MDEV-19168 Reload SSL certificate
|
||||||
# This test reloads server SSL certs ./mysqladmin flush-ssl, and checks that new SSL
|
# This test reloads server SSL certs ./mysqladmin flush-ssl, and checks that new SSL
|
||||||
@ -96,3 +122,5 @@ remove_file $ssl_key;
|
|||||||
# restart with usual SSL
|
# restart with usual SSL
|
||||||
let $restart_parameters=;
|
let $restart_parameters=;
|
||||||
--source include/restart_mysqld.inc
|
--source include/restart_mysqld.inc
|
||||||
|
|
||||||
|
--echo # End of 11.5
|
||||||
|
@ -4,7 +4,7 @@ SET SESSION DEFAULT_STORAGE_ENGINE = InnoDB;
|
|||||||
drop table if exists t1,t2,t3;
|
drop table if exists t1,t2,t3;
|
||||||
set @save_query_cache_size = @@global.query_cache_size;
|
set @save_query_cache_size = @@global.query_cache_size;
|
||||||
set GLOBAL query_cache_size = 1355776;
|
set GLOBAL query_cache_size = 1355776;
|
||||||
flush status;
|
flush global status;
|
||||||
set autocommit=0;
|
set autocommit=0;
|
||||||
create table t1 (a int not null) PARTITION BY KEY (a) PARTITIONS 3;
|
create table t1 (a int not null) PARTITION BY KEY (a) PARTITIONS 3;
|
||||||
insert into t1 values (1),(2),(3);
|
insert into t1 values (1),(2),(3);
|
||||||
@ -121,7 +121,7 @@ SHOW VARIABLES LIKE 'have_query_cache';
|
|||||||
Variable_name Value
|
Variable_name Value
|
||||||
have_query_cache YES
|
have_query_cache YES
|
||||||
SET GLOBAL query_cache_size = 204800;
|
SET GLOBAL query_cache_size = 204800;
|
||||||
flush status;
|
flush global status;
|
||||||
SET @@autocommit=1;
|
SET @@autocommit=1;
|
||||||
SET SESSION DEFAULT_STORAGE_ENGINE = InnoDB;
|
SET SESSION DEFAULT_STORAGE_ENGINE = InnoDB;
|
||||||
CREATE TABLE t2 (s1 int, s2 varchar(1000), key(s1)) PARTITION BY KEY (s1) PARTITIONS 3;
|
CREATE TABLE t2 (s1 int, s2 varchar(1000), key(s1)) PARTITION BY KEY (s1) PARTITIONS 3;
|
||||||
|
@ -28,7 +28,7 @@ t1 CREATE TABLE `t1` (
|
|||||||
PARTITION `month_2010_5` VALUES LESS THAN (734289) ENGINE = InnoDB,
|
PARTITION `month_2010_5` VALUES LESS THAN (734289) ENGINE = InnoDB,
|
||||||
PARTITION `month_max` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
|
PARTITION `month_max` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
|
||||||
INSERT INTO t1 VALUES (1, now(), 0);
|
INSERT INTO t1 VALUES (1, now(), 0);
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_queries_in_cache 0
|
Qcache_queries_in_cache 0
|
||||||
@ -79,7 +79,7 @@ SUBPARTITIONS 3
|
|||||||
PARTITION `month_2010_5` VALUES LESS THAN (734289) ENGINE = InnoDB,
|
PARTITION `month_2010_5` VALUES LESS THAN (734289) ENGINE = InnoDB,
|
||||||
PARTITION `month_max` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
|
PARTITION `month_max` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
|
||||||
INSERT INTO t1 VALUES (1, now(), 0);
|
INSERT INTO t1 VALUES (1, now(), 0);
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_queries_in_cache 0
|
Qcache_queries_in_cache 0
|
||||||
@ -107,7 +107,7 @@ drop table t1;
|
|||||||
# from previous transaction
|
# from previous transaction
|
||||||
#
|
#
|
||||||
flush query cache;
|
flush query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
SET GLOBAL query_cache_size=1024*1024*512;
|
SET GLOBAL query_cache_size=1024*1024*512;
|
||||||
CREATE TABLE `t1` (
|
CREATE TABLE `t1` (
|
||||||
`id` int(11) NOT NULL ,
|
`id` int(11) NOT NULL ,
|
||||||
|
@ -28,7 +28,7 @@ t1 CREATE TABLE `t1` (
|
|||||||
PARTITION `month_2010_5` VALUES LESS THAN (734289) ENGINE = MyISAM,
|
PARTITION `month_2010_5` VALUES LESS THAN (734289) ENGINE = MyISAM,
|
||||||
PARTITION `month_max` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
|
PARTITION `month_max` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
|
||||||
INSERT INTO t1 VALUES (1, now(), 0);
|
INSERT INTO t1 VALUES (1, now(), 0);
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_queries_in_cache 0
|
Qcache_queries_in_cache 0
|
||||||
@ -79,7 +79,7 @@ SUBPARTITIONS 3
|
|||||||
PARTITION `month_2010_5` VALUES LESS THAN (734289) ENGINE = MyISAM,
|
PARTITION `month_2010_5` VALUES LESS THAN (734289) ENGINE = MyISAM,
|
||||||
PARTITION `month_max` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
|
PARTITION `month_max` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
|
||||||
INSERT INTO t1 VALUES (1, now(), 0);
|
INSERT INTO t1 VALUES (1, now(), 0);
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_queries_in_cache 0
|
Qcache_queries_in_cache 0
|
||||||
@ -107,7 +107,7 @@ drop table t1;
|
|||||||
# from previous transaction
|
# from previous transaction
|
||||||
#
|
#
|
||||||
flush query cache;
|
flush query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
SET GLOBAL query_cache_size=1024*1024*512;
|
SET GLOBAL query_cache_size=1024*1024*512;
|
||||||
CREATE TABLE `t1` (
|
CREATE TABLE `t1` (
|
||||||
`id` int(11) NOT NULL ,
|
`id` int(11) NOT NULL ,
|
||||||
|
@ -25,7 +25,7 @@ c INT NOT NULL,
|
|||||||
PRIMARY KEY (a),
|
PRIMARY KEY (a),
|
||||||
KEY `inx_b` (b));
|
KEY `inx_b` (b));
|
||||||
FLUSH TABLES;
|
FLUSH TABLES;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SET @a:=1167602400;
|
SET @a:=1167602400;
|
||||||
CREATE VIEW v AS SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4;
|
CREATE VIEW v AS SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4;
|
||||||
CREATE VIEW x AS SELECT 1 FROM v,v a,v b;
|
CREATE VIEW x AS SELECT 1 FROM v,v a,v b;
|
||||||
@ -45,7 +45,7 @@ p1 sp3 2043
|
|||||||
DROP VIEW x;
|
DROP VIEW x;
|
||||||
DROP VIEW v;
|
DROP VIEW v;
|
||||||
FLUSH TABLES;
|
FLUSH TABLES;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SELECT COUNT(b) FROM t1 WHERE b >= 0;
|
SELECT COUNT(b) FROM t1 WHERE b >= 0;
|
||||||
COUNT(b)
|
COUNT(b)
|
||||||
2048
|
2048
|
||||||
@ -56,7 +56,7 @@ reads vs requests
|
|||||||
reads == requests
|
reads == requests
|
||||||
writes vs requests
|
writes vs requests
|
||||||
writes == requests
|
writes == requests
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SELECT COUNT(b) FROM t2 WHERE b >= 0;
|
SELECT COUNT(b) FROM t2 WHERE b >= 0;
|
||||||
COUNT(b)
|
COUNT(b)
|
||||||
2048
|
2048
|
||||||
@ -65,7 +65,7 @@ Yes!
|
|||||||
FLUSH TABLES;
|
FLUSH TABLES;
|
||||||
# Setting the default key cache to 1M
|
# Setting the default key cache to 1M
|
||||||
SET GLOBAL key_buffer_size = 1024*1024;
|
SET GLOBAL key_buffer_size = 1024*1024;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
# All these have to read the indexes
|
# All these have to read the indexes
|
||||||
LOAD INDEX INTO CACHE t1 PARTITION (p1);
|
LOAD INDEX INTO CACHE t1 PARTITION (p1);
|
||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
|
@ -31,7 +31,7 @@ CREATE TABLE t2 (
|
|||||||
PRIMARY KEY (a),
|
PRIMARY KEY (a),
|
||||||
KEY `inx_b` (b));
|
KEY `inx_b` (b));
|
||||||
FLUSH TABLES;
|
FLUSH TABLES;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
|
|
||||||
# Genereate 4096 rows. Idea from:
|
# Genereate 4096 rows. Idea from:
|
||||||
# http://datacharmer.blogspot.com/2007/12/data-from-nothing-solution-to-pop-quiz.html
|
# http://datacharmer.blogspot.com/2007/12/data-from-nothing-solution-to-pop-quiz.html
|
||||||
@ -46,7 +46,7 @@ CREATE VIEW x AS SELECT 1 FROM v,v a,v b;
|
|||||||
# SELECT IF(VARIABLE_VALUE = 0,"Yes!","No!") as 'Was zero reads?'
|
# SELECT IF(VARIABLE_VALUE = 0,"Yes!","No!") as 'Was zero reads?'
|
||||||
# FROM INFORMATION_SCHEMA.SESSION_STATUS
|
# FROM INFORMATION_SCHEMA.SESSION_STATUS
|
||||||
# WHERE VARIABLE_NAME = 'KEY_READS';
|
# WHERE VARIABLE_NAME = 'KEY_READS';
|
||||||
# FLUSH STATUS;
|
# FLUSH GLOBAL STATUS;
|
||||||
#END|
|
#END|
|
||||||
#DELIMITER ;|
|
#DELIMITER ;|
|
||||||
|
|
||||||
@ -58,18 +58,18 @@ SELECT PARTITION_NAME, SUBPARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PAR
|
|||||||
DROP VIEW x;
|
DROP VIEW x;
|
||||||
DROP VIEW v;
|
DROP VIEW v;
|
||||||
FLUSH TABLES;
|
FLUSH TABLES;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SELECT COUNT(b) FROM t1 WHERE b >= 0;
|
SELECT COUNT(b) FROM t1 WHERE b >= 0;
|
||||||
--source include/check_key_reads.inc
|
--source include/check_key_reads.inc
|
||||||
INSERT t2 SELECT a,b,c FROM t1;
|
INSERT t2 SELECT a,b,c FROM t1;
|
||||||
--source include/check_key_req.inc
|
--source include/check_key_req.inc
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SELECT COUNT(b) FROM t2 WHERE b >= 0;
|
SELECT COUNT(b) FROM t2 WHERE b >= 0;
|
||||||
--source include/check_key_reads.inc
|
--source include/check_key_reads.inc
|
||||||
FLUSH TABLES;
|
FLUSH TABLES;
|
||||||
--echo # Setting the default key cache to 1M
|
--echo # Setting the default key cache to 1M
|
||||||
SET GLOBAL key_buffer_size = 1024*1024;
|
SET GLOBAL key_buffer_size = 1024*1024;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
--echo # All these have to read the indexes
|
--echo # All these have to read the indexes
|
||||||
LOAD INDEX INTO CACHE t1 PARTITION (p1);
|
LOAD INDEX INTO CACHE t1 PARTITION (p1);
|
||||||
--source include/check_key_reads.inc
|
--source include/check_key_reads.inc
|
||||||
|
@ -45,7 +45,7 @@ select count(*) from t2;
|
|||||||
count(*)
|
count(*)
|
||||||
20672
|
20672
|
||||||
flush tables;
|
flush tables;
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Key_read_requests 0
|
Key_read_requests 0
|
||||||
@ -65,7 +65,7 @@ Variable_name Value
|
|||||||
Key_read_requests 588
|
Key_read_requests 588
|
||||||
Key_reads 60
|
Key_reads 60
|
||||||
flush tables;
|
flush tables;
|
||||||
flush status;
|
flush global status;
|
||||||
select @@preload_buffer_size;
|
select @@preload_buffer_size;
|
||||||
@@preload_buffer_size
|
@@preload_buffer_size
|
||||||
32768
|
32768
|
||||||
@ -84,7 +84,7 @@ Variable_name Value
|
|||||||
Key_read_requests 1068
|
Key_read_requests 1068
|
||||||
Key_reads 774
|
Key_reads 774
|
||||||
flush tables;
|
flush tables;
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Key_read_requests 0
|
Key_read_requests 0
|
||||||
@ -108,7 +108,7 @@ Variable_name Value
|
|||||||
Key_read_requests 311
|
Key_read_requests 311
|
||||||
Key_reads 75
|
Key_reads 75
|
||||||
flush tables;
|
flush tables;
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Key_read_requests 0
|
Key_read_requests 0
|
||||||
@ -136,7 +136,7 @@ Variable_name Value
|
|||||||
Key_read_requests 1266
|
Key_read_requests 1266
|
||||||
Key_reads 821
|
Key_reads 821
|
||||||
flush tables;
|
flush tables;
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Key_read_requests 0
|
Key_read_requests 0
|
||||||
@ -151,7 +151,7 @@ Variable_name Value
|
|||||||
Key_read_requests 478
|
Key_read_requests 478
|
||||||
Key_reads 478
|
Key_reads 478
|
||||||
flush tables;
|
flush tables;
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Key_read_requests 0
|
Key_read_requests 0
|
||||||
|
@ -57,7 +57,7 @@ select count(*) from t1;
|
|||||||
select count(*) from t2;
|
select count(*) from t2;
|
||||||
|
|
||||||
--disable_ps2_protocol
|
--disable_ps2_protocol
|
||||||
flush tables; flush status;
|
flush tables; flush global status;
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
|
|
||||||
select count(*) from t1 where b = 'test1';
|
select count(*) from t1 where b = 'test1';
|
||||||
@ -65,14 +65,14 @@ show status like "key_read%";
|
|||||||
select count(*) from t1 where b = 'test1';
|
select count(*) from t1 where b = 'test1';
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
|
|
||||||
flush tables; flush status;
|
flush tables; flush global status;
|
||||||
select @@preload_buffer_size;
|
select @@preload_buffer_size;
|
||||||
load index into cache t1;
|
load index into cache t1;
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
select count(*) from t1 where b = 'test1';
|
select count(*) from t1 where b = 'test1';
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
|
|
||||||
flush tables; flush status;
|
flush tables; flush global status;
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
set session preload_buffer_size=256*1024;
|
set session preload_buffer_size=256*1024;
|
||||||
select @@preload_buffer_size;
|
select @@preload_buffer_size;
|
||||||
@ -81,7 +81,7 @@ show status like "key_read%";
|
|||||||
select count(*) from t1 where b = 'test1';
|
select count(*) from t1 where b = 'test1';
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
|
|
||||||
flush tables; flush status;
|
flush tables; flush global status;
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
set session preload_buffer_size=1*1024;
|
set session preload_buffer_size=1*1024;
|
||||||
select @@preload_buffer_size;
|
select @@preload_buffer_size;
|
||||||
@ -91,12 +91,12 @@ select count(*) from t1 where b = 'test1';
|
|||||||
select count(*) from t2 where b = 'test1';
|
select count(*) from t2 where b = 'test1';
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
|
|
||||||
flush tables; flush status;
|
flush tables; flush global status;
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
load index into cache t3, t2 key (primary,b) ;
|
load index into cache t3, t2 key (primary,b) ;
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
|
|
||||||
flush tables; flush status;
|
flush tables; flush global status;
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
load index into cache t3 key (b), t2 key (c) ;
|
load index into cache t3 key (b), t2 key (c) ;
|
||||||
show status like "key_read%";
|
show status like "key_read%";
|
||||||
|
@ -12,7 +12,7 @@ SET LOCAL query_cache_type= ON;
|
|||||||
flush query cache;
|
flush query cache;
|
||||||
flush query cache;
|
flush query cache;
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
drop table if exists t1,t2,t3,t4,t11,t21,t1_1,t1_2,t9,t9_1,t9_2;
|
drop table if exists t1,t2,t3,t4,t11,t21,t1_1,t1_2,t9,t9_1,t9_2;
|
||||||
drop database if exists mysqltest;
|
drop database if exists mysqltest;
|
||||||
drop table if exists ```a`;
|
drop table if exists ```a`;
|
||||||
@ -673,7 +673,7 @@ SET SQL_SELECT_LIMIT=DEFAULT;
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
flush query cache;
|
flush query cache;
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
set GLOBAL query_cache_size=1048576;
|
set GLOBAL query_cache_size=1048576;
|
||||||
create table t1 (a int not null);
|
create table t1 (a int not null);
|
||||||
insert into t1 values (1),(2),(3);
|
insert into t1 values (1),(2),(3);
|
||||||
@ -955,7 +955,7 @@ zyxwvutsrqponmlkjihgfedcbazyxwvutsrqponmlkjihgfedcbazyxwvutsrqponmlkjihgfedcbazy
|
|||||||
flush query cache;
|
flush query cache;
|
||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
set GLOBAL query_cache_size=1355776;
|
set GLOBAL query_cache_size=1355776;
|
||||||
flush status;
|
flush global status;
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
`date` datetime NOT NULL default '0000-00-00 00:00:00',
|
`date` datetime NOT NULL default '0000-00-00 00:00:00',
|
||||||
KEY `date` (`date`)
|
KEY `date` (`date`)
|
||||||
@ -990,7 +990,7 @@ drop table t1;
|
|||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
insert into t1 values (1);
|
insert into t1 values (1);
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
select * from (select * from t1) a;
|
select * from (select * from t1) a;
|
||||||
a
|
a
|
||||||
1
|
1
|
||||||
@ -1040,7 +1040,7 @@ Variable_name Value
|
|||||||
Qcache_hits 1
|
Qcache_hits 1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
flush status;
|
flush global status;
|
||||||
(select a from t1) union (select a from t1);
|
(select a from t1) union (select a from t1);
|
||||||
a
|
a
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
@ -1117,7 +1117,7 @@ drop function f1//
|
|||||||
drop table t1//
|
drop table t1//
|
||||||
flush query cache;
|
flush query cache;
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
create table t1 (s1 int)//
|
create table t1 (s1 int)//
|
||||||
create procedure f1 () begin
|
create procedure f1 () begin
|
||||||
select sql_cache * from t1;
|
select sql_cache * from t1;
|
||||||
@ -1176,7 +1176,7 @@ s1
|
|||||||
1
|
1
|
||||||
flush query cache;
|
flush query cache;
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
select sql_cache * from t1;
|
select sql_cache * from t1;
|
||||||
s1
|
s1
|
||||||
1
|
1
|
||||||
@ -1309,7 +1309,7 @@ Last_query_cost 0.000000
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
SET GLOBAL query_cache_size=0;
|
SET GLOBAL query_cache_size=0;
|
||||||
set global query_cache_size=1024*1024;
|
set global query_cache_size=1024*1024;
|
||||||
flush status;
|
flush global status;
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
insert into t1 (a) values (1), (2), (3);
|
insert into t1 (a) values (1), (2), (3);
|
||||||
select * from t1;
|
select * from t1;
|
||||||
@ -1674,7 +1674,7 @@ set GLOBAL query_cache_size=@save_query_cache_size;
|
|||||||
set local query_cache_type=default;
|
set local query_cache_type=default;
|
||||||
set GLOBAL query_cache_type=on;
|
set GLOBAL query_cache_type=on;
|
||||||
set local query_cache_type=on;
|
set local query_cache_type=on;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SET GLOBAL query_cache_size=10*1024*1024;
|
SET GLOBAL query_cache_size=10*1024*1024;
|
||||||
SET @save_concurrent_insert= @@concurrent_insert;
|
SET @save_concurrent_insert= @@concurrent_insert;
|
||||||
SET GLOBAL concurrent_insert= 0;
|
SET GLOBAL concurrent_insert= 0;
|
||||||
@ -1701,7 +1701,7 @@ DROP TABLE t1;
|
|||||||
SET GLOBAL concurrent_insert= @save_concurrent_insert;
|
SET GLOBAL concurrent_insert= @save_concurrent_insert;
|
||||||
SET GLOBAL query_cache_size= default;
|
SET GLOBAL query_cache_size= default;
|
||||||
DROP TABLE IF EXISTS t1;
|
DROP TABLE IF EXISTS t1;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SET GLOBAL query_cache_size=1048576;
|
SET GLOBAL query_cache_size=1048576;
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
|
INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
|
||||||
@ -1956,7 +1956,7 @@ set GLOBAL query_cache_size=1355776;
|
|||||||
FLUSH USER_STATISTICS;
|
FLUSH USER_STATISTICS;
|
||||||
FLUSH CLIENT_STATISTICS;
|
FLUSH CLIENT_STATISTICS;
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
insert into t1 values (1);
|
insert into t1 values (1);
|
||||||
select * from t1;
|
select * from t1;
|
||||||
@ -1993,7 +1993,7 @@ Qcache_hits 2
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
FLUSH USER_STATISTICS;
|
FLUSH USER_STATISTICS;
|
||||||
FLUSH CLIENT_STATISTICS;
|
FLUSH CLIENT_STATISTICS;
|
||||||
flush status;
|
flush global status;
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
select * from t1;
|
select * from t1;
|
||||||
a
|
a
|
||||||
@ -2025,7 +2025,7 @@ Variable_name Value
|
|||||||
Qcache_hits 2
|
Qcache_hits 2
|
||||||
FLUSH USER_STATISTICS;
|
FLUSH USER_STATISTICS;
|
||||||
FLUSH CLIENT_STATISTICS;
|
FLUSH CLIENT_STATISTICS;
|
||||||
flush status;
|
flush global status;
|
||||||
create procedure p1()
|
create procedure p1()
|
||||||
select * from t1;
|
select * from t1;
|
||||||
call p1;
|
call p1;
|
||||||
@ -2058,7 +2058,7 @@ Variable_name Value
|
|||||||
Qcache_hits 2
|
Qcache_hits 2
|
||||||
FLUSH USER_STATISTICS;
|
FLUSH USER_STATISTICS;
|
||||||
FLUSH CLIENT_STATISTICS;
|
FLUSH CLIENT_STATISTICS;
|
||||||
flush status;
|
flush global status;
|
||||||
SET GLOBAL query_cache_size= 0;
|
SET GLOBAL query_cache_size= 0;
|
||||||
call p1;
|
call p1;
|
||||||
a
|
a
|
||||||
@ -2122,7 +2122,7 @@ SET GLOBAL query_cache_size= @qc;
|
|||||||
#
|
#
|
||||||
CREATE DATABASE `foo.bar`;
|
CREATE DATABASE `foo.bar`;
|
||||||
use `foo.bar`;
|
use `foo.bar`;
|
||||||
flush status;
|
flush global status;
|
||||||
CREATE TABLE moocow (a int);
|
CREATE TABLE moocow (a int);
|
||||||
INSERT INTO moocow VALUES (1), (2), (3);
|
INSERT INTO moocow VALUES (1), (2), (3);
|
||||||
SHOW STATUS LIKE 'Qcache_inserts';
|
SHOW STATUS LIKE 'Qcache_inserts';
|
||||||
@ -2154,7 +2154,7 @@ End of 10.0 tests
|
|||||||
# MDEV-10766 Queries which start with WITH clause do not get
|
# MDEV-10766 Queries which start with WITH clause do not get
|
||||||
# inserted into query cache
|
# inserted into query cache
|
||||||
#
|
#
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "Qcache_inserts";
|
show status like "Qcache_inserts";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_inserts 0
|
Qcache_inserts 0
|
||||||
@ -2242,7 +2242,7 @@ SET GLOBAL query_cache_size= @qc;
|
|||||||
#
|
#
|
||||||
create table t1 (a text);
|
create table t1 (a text);
|
||||||
insert into t1 values ('{"a":"foo"}');
|
insert into t1 values ('{"a":"foo"}');
|
||||||
flush status;
|
flush global status;
|
||||||
SHOW STATUS LIKE 'Qcache_inserts';
|
SHOW STATUS LIKE 'Qcache_inserts';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_inserts 0
|
Qcache_inserts 0
|
||||||
@ -2272,7 +2272,7 @@ set global query_cache_type= 1;
|
|||||||
set query_cache_type= 1;
|
set query_cache_type= 1;
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
insert into t1 values (1000);
|
insert into t1 values (1000);
|
||||||
flush status;
|
flush global status;
|
||||||
select * from information_schema.global_status where variable_name in ('Qcache_inserts','Qcache_hits') order by variable_name;
|
select * from information_schema.global_status where variable_name in ('Qcache_inserts','Qcache_hits') order by variable_name;
|
||||||
VARIABLE_NAME VARIABLE_VALUE
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
QCACHE_HITS 0
|
QCACHE_HITS 0
|
||||||
|
@ -24,7 +24,7 @@ SET LOCAL query_cache_type= ON;
|
|||||||
flush query cache; # This crashed in some versions
|
flush query cache; # This crashed in some versions
|
||||||
flush query cache; # This crashed in some versions
|
flush query cache; # This crashed in some versions
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
drop table if exists t1,t2,t3,t4,t11,t21,t1_1,t1_2,t9,t9_1,t9_2;
|
drop table if exists t1,t2,t3,t4,t11,t21,t1_1,t1_2,t9,t9_1,t9_2;
|
||||||
drop database if exists mysqltest;
|
drop database if exists mysqltest;
|
||||||
@ -465,7 +465,7 @@ drop table t1;
|
|||||||
#
|
#
|
||||||
flush query cache;
|
flush query cache;
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
set GLOBAL query_cache_size=1048576;
|
set GLOBAL query_cache_size=1048576;
|
||||||
|
|
||||||
create table t1 (a int not null);
|
create table t1 (a int not null);
|
||||||
@ -732,7 +732,7 @@ set GLOBAL query_cache_size=1355776;
|
|||||||
#
|
#
|
||||||
# Query with warning prohibited to query cache (BUG#9414)
|
# Query with warning prohibited to query cache (BUG#9414)
|
||||||
#
|
#
|
||||||
flush status;
|
flush global status;
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
`date` datetime NOT NULL default '0000-00-00 00:00:00',
|
`date` datetime NOT NULL default '0000-00-00 00:00:00',
|
||||||
KEY `date` (`date`)
|
KEY `date` (`date`)
|
||||||
@ -754,7 +754,7 @@ drop table t1;
|
|||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
insert into t1 values (1);
|
insert into t1 values (1);
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
select * from (select * from t1) a;
|
select * from (select * from t1) a;
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
show status like "Qcache_inserts";
|
show status like "Qcache_inserts";
|
||||||
@ -777,7 +777,7 @@ drop table t1;
|
|||||||
# BUG#14652: Queries with leading '(' characters.
|
# BUG#14652: Queries with leading '(' characters.
|
||||||
#
|
#
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
flush status;
|
flush global status;
|
||||||
(select a from t1) union (select a from t1);
|
(select a from t1) union (select a from t1);
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
show status like "Qcache_inserts";
|
show status like "Qcache_inserts";
|
||||||
@ -845,7 +845,7 @@ delimiter ;//
|
|||||||
#
|
#
|
||||||
flush query cache;
|
flush query cache;
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
delimiter //;
|
delimiter //;
|
||||||
create table t1 (s1 int)//
|
create table t1 (s1 int)//
|
||||||
create procedure f1 () begin
|
create procedure f1 () begin
|
||||||
@ -880,7 +880,7 @@ call f1();
|
|||||||
select sql_cache * from t1;
|
select sql_cache * from t1;
|
||||||
flush query cache;
|
flush query cache;
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
select sql_cache * from t1;
|
select sql_cache * from t1;
|
||||||
select sql_cache * from t1 where s1=1;
|
select sql_cache * from t1 where s1=1;
|
||||||
call f1();
|
call f1();
|
||||||
@ -926,7 +926,7 @@ SET GLOBAL query_cache_size=0;
|
|||||||
# Bug #20045: Server crash on INSERT ... SELECT ... FROM non-mergeable view
|
# Bug #20045: Server crash on INSERT ... SELECT ... FROM non-mergeable view
|
||||||
#
|
#
|
||||||
set global query_cache_size=1024*1024;
|
set global query_cache_size=1024*1024;
|
||||||
flush status;
|
flush global status;
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
insert into t1 (a) values (1), (2), (3);
|
insert into t1 (a) values (1), (2), (3);
|
||||||
select * from t1;
|
select * from t1;
|
||||||
@ -1282,7 +1282,7 @@ set local query_cache_type=on;
|
|||||||
#
|
#
|
||||||
# Bug#33756 - query cache with concurrent_insert=0 appears broken
|
# Bug#33756 - query cache with concurrent_insert=0 appears broken
|
||||||
#
|
#
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SET GLOBAL query_cache_size=10*1024*1024;
|
SET GLOBAL query_cache_size=10*1024*1024;
|
||||||
SET @save_concurrent_insert= @@concurrent_insert;
|
SET @save_concurrent_insert= @@concurrent_insert;
|
||||||
SET GLOBAL concurrent_insert= 0;
|
SET GLOBAL concurrent_insert= 0;
|
||||||
@ -1306,7 +1306,7 @@ SET GLOBAL query_cache_size= default;
|
|||||||
DROP TABLE IF EXISTS t1;
|
DROP TABLE IF EXISTS t1;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SET GLOBAL query_cache_size=1048576;
|
SET GLOBAL query_cache_size=1048576;
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
|
INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
|
||||||
@ -1645,7 +1645,7 @@ set GLOBAL query_cache_size=1355776;
|
|||||||
FLUSH USER_STATISTICS;
|
FLUSH USER_STATISTICS;
|
||||||
FLUSH CLIENT_STATISTICS;
|
FLUSH CLIENT_STATISTICS;
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
|
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
insert into t1 values (1);
|
insert into t1 values (1);
|
||||||
@ -1666,7 +1666,7 @@ show status like "Qcache_hits";
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
FLUSH USER_STATISTICS;
|
FLUSH USER_STATISTICS;
|
||||||
FLUSH CLIENT_STATISTICS;
|
FLUSH CLIENT_STATISTICS;
|
||||||
flush status;
|
flush global status;
|
||||||
|
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
select * from t1;
|
select * from t1;
|
||||||
@ -1685,7 +1685,7 @@ show status like "Qcache_hits";
|
|||||||
|
|
||||||
FLUSH USER_STATISTICS;
|
FLUSH USER_STATISTICS;
|
||||||
FLUSH CLIENT_STATISTICS;
|
FLUSH CLIENT_STATISTICS;
|
||||||
flush status;
|
flush global status;
|
||||||
|
|
||||||
create procedure p1()
|
create procedure p1()
|
||||||
select * from t1;
|
select * from t1;
|
||||||
@ -1705,7 +1705,7 @@ show status like "Qcache_hits";
|
|||||||
|
|
||||||
FLUSH USER_STATISTICS;
|
FLUSH USER_STATISTICS;
|
||||||
FLUSH CLIENT_STATISTICS;
|
FLUSH CLIENT_STATISTICS;
|
||||||
flush status;
|
flush global status;
|
||||||
|
|
||||||
SET GLOBAL query_cache_size= 0;
|
SET GLOBAL query_cache_size= 0;
|
||||||
call p1;
|
call p1;
|
||||||
@ -1761,7 +1761,7 @@ SET GLOBAL query_cache_size= @qc;
|
|||||||
--echo #
|
--echo #
|
||||||
CREATE DATABASE `foo.bar`;
|
CREATE DATABASE `foo.bar`;
|
||||||
use `foo.bar`;
|
use `foo.bar`;
|
||||||
flush status;
|
flush global status;
|
||||||
CREATE TABLE moocow (a int);
|
CREATE TABLE moocow (a int);
|
||||||
INSERT INTO moocow VALUES (1), (2), (3);
|
INSERT INTO moocow VALUES (1), (2), (3);
|
||||||
SHOW STATUS LIKE 'Qcache_inserts';
|
SHOW STATUS LIKE 'Qcache_inserts';
|
||||||
@ -1779,7 +1779,7 @@ drop database `foo.bar`;
|
|||||||
--echo # MDEV-10766 Queries which start with WITH clause do not get
|
--echo # MDEV-10766 Queries which start with WITH clause do not get
|
||||||
--echo # inserted into query cache
|
--echo # inserted into query cache
|
||||||
--echo #
|
--echo #
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "Qcache_inserts";
|
show status like "Qcache_inserts";
|
||||||
create table t1 (i int);
|
create table t1 (i int);
|
||||||
with cte as (select * from t1) select * from cte;
|
with cte as (select * from t1) select * from cte;
|
||||||
@ -1859,7 +1859,7 @@ SET GLOBAL query_cache_size= @qc;
|
|||||||
--echo #
|
--echo #
|
||||||
create table t1 (a text);
|
create table t1 (a text);
|
||||||
insert into t1 values ('{"a":"foo"}');
|
insert into t1 values ('{"a":"foo"}');
|
||||||
flush status;
|
flush global status;
|
||||||
SHOW STATUS LIKE 'Qcache_inserts';
|
SHOW STATUS LIKE 'Qcache_inserts';
|
||||||
select * from t1, json_table(t1.a, '$' columns (f varchar(20) path '$.a')) as jt;
|
select * from t1, json_table(t1.a, '$' columns (f varchar(20) path '$.a')) as jt;
|
||||||
SHOW STATUS LIKE 'Qcache_inserts';
|
SHOW STATUS LIKE 'Qcache_inserts';
|
||||||
@ -1889,7 +1889,7 @@ set query_cache_type= 1;
|
|||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
insert into t1 values (1000);
|
insert into t1 values (1000);
|
||||||
|
|
||||||
flush status;
|
flush global status;
|
||||||
--let $v1 = `select hex(random_bytes(a)) from t1`
|
--let $v1 = `select hex(random_bytes(a)) from t1`
|
||||||
select * from information_schema.global_status where variable_name in ('Qcache_inserts','Qcache_hits') order by variable_name;
|
select * from information_schema.global_status where variable_name in ('Qcache_inserts','Qcache_hits') order by variable_name;
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ disconnect root;
|
|||||||
disconnect root2;
|
disconnect root2;
|
||||||
flush query cache;
|
flush query cache;
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
create table t1 (s1 int)//
|
create table t1 (s1 int)//
|
||||||
create procedure f1 () begin
|
create procedure f1 () begin
|
||||||
select sql_cache * from t1;
|
select sql_cache * from t1;
|
||||||
@ -215,7 +215,7 @@ Variable_name Value
|
|||||||
Qcache_hits 10
|
Qcache_hits 10
|
||||||
flush query cache;
|
flush query cache;
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
select sql_cache * from t1;
|
select sql_cache * from t1;
|
||||||
s1
|
s1
|
||||||
1
|
1
|
||||||
@ -374,7 +374,7 @@ connection default;
|
|||||||
set GLOBAL query_cache_size=0;
|
set GLOBAL query_cache_size=0;
|
||||||
SET @@global.log_bin_trust_function_creators = @old_log_bin_trust_function_creators;
|
SET @@global.log_bin_trust_function_creators = @old_log_bin_trust_function_creators;
|
||||||
DROP DATABASE IF EXISTS bug30269;
|
DROP DATABASE IF EXISTS bug30269;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
CREATE DATABASE bug30269;
|
CREATE DATABASE bug30269;
|
||||||
USE bug30269;
|
USE bug30269;
|
||||||
CREATE TABLE test1 (id int, name varchar(23));
|
CREATE TABLE test1 (id int, name varchar(23));
|
||||||
@ -427,7 +427,7 @@ end|
|
|||||||
insert into t1 values ("x", 3), ("y", 5)|
|
insert into t1 values ("x", 3), ("y", 5)|
|
||||||
set @x = @@query_cache_size|
|
set @x = @@query_cache_size|
|
||||||
set global query_cache_size = 10*1024*1024|
|
set global query_cache_size = 10*1024*1024|
|
||||||
flush status|
|
flush global status|
|
||||||
flush query cache|
|
flush query cache|
|
||||||
show status like 'Qcache_hits'|
|
show status like 'Qcache_hits'|
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
@ -457,7 +457,7 @@ show status like 'Qcache_hits'|
|
|||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_hits 2
|
Qcache_hits 2
|
||||||
set global query_cache_size = @x|
|
set global query_cache_size = @x|
|
||||||
flush status|
|
flush global status|
|
||||||
flush query cache|
|
flush query cache|
|
||||||
delete from t1|
|
delete from t1|
|
||||||
drop procedure bug3583|
|
drop procedure bug3583|
|
||||||
|
@ -116,7 +116,7 @@ disconnect root2;
|
|||||||
--disable_ps2_protocol
|
--disable_ps2_protocol
|
||||||
flush query cache;
|
flush query cache;
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
delimiter //;
|
delimiter //;
|
||||||
create table t1 (s1 int)//
|
create table t1 (s1 int)//
|
||||||
create procedure f1 () begin
|
create procedure f1 () begin
|
||||||
@ -167,7 +167,7 @@ show status like "Qcache_inserts";
|
|||||||
show status like "Qcache_hits";
|
show status like "Qcache_hits";
|
||||||
flush query cache;
|
flush query cache;
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush global status;
|
||||||
select sql_cache * from t1;
|
select sql_cache * from t1;
|
||||||
select sql_cache * from t1 where s1=1;
|
select sql_cache * from t1 where s1=1;
|
||||||
call f1();
|
call f1();
|
||||||
@ -251,7 +251,7 @@ SET @@global.log_bin_trust_function_creators = @old_log_bin_trust_function_creat
|
|||||||
--disable_warnings
|
--disable_warnings
|
||||||
DROP DATABASE IF EXISTS bug30269;
|
DROP DATABASE IF EXISTS bug30269;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
CREATE DATABASE bug30269;
|
CREATE DATABASE bug30269;
|
||||||
USE bug30269;
|
USE bug30269;
|
||||||
CREATE TABLE test1 (id int, name varchar(23));
|
CREATE TABLE test1 (id int, name varchar(23));
|
||||||
@ -310,7 +310,7 @@ insert into t1 values ("x", 3), ("y", 5)|
|
|||||||
set @x = @@query_cache_size|
|
set @x = @@query_cache_size|
|
||||||
set global query_cache_size = 10*1024*1024|
|
set global query_cache_size = 10*1024*1024|
|
||||||
|
|
||||||
flush status|
|
flush global status|
|
||||||
flush query cache|
|
flush query cache|
|
||||||
show status like 'Qcache_hits'|
|
show status like 'Qcache_hits'|
|
||||||
call bug3583()|
|
call bug3583()|
|
||||||
@ -320,7 +320,7 @@ call bug3583()|
|
|||||||
show status like 'Qcache_hits'|
|
show status like 'Qcache_hits'|
|
||||||
|
|
||||||
set global query_cache_size = @x|
|
set global query_cache_size = @x|
|
||||||
flush status|
|
flush global status|
|
||||||
flush query cache|
|
flush query cache|
|
||||||
delete from t1|
|
delete from t1|
|
||||||
drop procedure bug3583|
|
drop procedure bug3583|
|
||||||
|
@ -4,7 +4,7 @@ connect con1,localhost,root,,test,$MASTER_MYPORT,;
|
|||||||
connection default;
|
connection default;
|
||||||
set @initial_query_cache_size = @@global.query_cache_size;
|
set @initial_query_cache_size = @@global.query_cache_size;
|
||||||
set @@global.query_cache_size=102400;
|
set @@global.query_cache_size=102400;
|
||||||
flush status;
|
flush global status;
|
||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
create table t1(c1 int);
|
create table t1(c1 int);
|
||||||
insert into t1 values(1),(10),(100);
|
insert into t1 values(1),(10),(100);
|
||||||
@ -540,7 +540,7 @@ use test;
|
|||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
create table t1 (a varchar(255));
|
create table t1 (a varchar(255));
|
||||||
insert into t1 (a) values ("Pack my box with five dozen liquor jugs.");
|
insert into t1 (a) values ("Pack my box with five dozen liquor jugs.");
|
||||||
flush status;
|
flush global status;
|
||||||
prepare stmt from "select a from t1";
|
prepare stmt from "select a from t1";
|
||||||
execute stmt;
|
execute stmt;
|
||||||
a
|
a
|
||||||
|
@ -4,7 +4,7 @@ connect con1,localhost,root,,test,$MASTER_MYPORT,;
|
|||||||
connection default;
|
connection default;
|
||||||
set @initial_query_cache_size = @@global.query_cache_size;
|
set @initial_query_cache_size = @@global.query_cache_size;
|
||||||
set @@global.query_cache_size=102400;
|
set @@global.query_cache_size=102400;
|
||||||
flush status;
|
flush global status;
|
||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
create table t1(c1 int);
|
create table t1(c1 int);
|
||||||
insert into t1 values(1),(10),(100);
|
insert into t1 values(1),(10),(100);
|
||||||
@ -540,7 +540,7 @@ use test;
|
|||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
create table t1 (a varchar(255));
|
create table t1 (a varchar(255));
|
||||||
insert into t1 (a) values ("Pack my box with five dozen liquor jugs.");
|
insert into t1 (a) values ("Pack my box with five dozen liquor jugs.");
|
||||||
flush status;
|
flush global status;
|
||||||
prepare stmt from "select a from t1";
|
prepare stmt from "select a from t1";
|
||||||
execute stmt;
|
execute stmt;
|
||||||
a
|
a
|
||||||
|
@ -5,7 +5,7 @@ set @save_query_cache_type=@@global.query_cache_type;
|
|||||||
set GLOBAL query_cache_type=ON;
|
set GLOBAL query_cache_type=ON;
|
||||||
set LOCAL query_cache_type=ON;
|
set LOCAL query_cache_type=ON;
|
||||||
set GLOBAL query_cache_size=1355776;
|
set GLOBAL query_cache_size=1355776;
|
||||||
flush status;
|
flush global status;
|
||||||
create table t1 (a int, b int);
|
create table t1 (a int, b int);
|
||||||
create view v1 (c,d) as select sql_no_cache a,b from t1;
|
create view v1 (c,d) as select sql_no_cache a,b from t1;
|
||||||
create view v2 (c,d) as select a+rand(),b from t1;
|
create view v2 (c,d) as select a+rand(),b from t1;
|
||||||
@ -46,7 +46,7 @@ Variable_name Value
|
|||||||
Qcache_hits 0
|
Qcache_hits 0
|
||||||
drop view v1,v2;
|
drop view v1,v2;
|
||||||
set query_cache_type=demand;
|
set query_cache_type=demand;
|
||||||
flush status;
|
flush global status;
|
||||||
create view v1 (c,d) as select sql_cache a,b from t1;
|
create view v1 (c,d) as select sql_cache a,b from t1;
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
@ -136,7 +136,7 @@ unlock tables;
|
|||||||
set query_cache_wlock_invalidate=default;
|
set query_cache_wlock_invalidate=default;
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
flush status;
|
flush global status;
|
||||||
create table t1 (a int, b int);
|
create table t1 (a int, b int);
|
||||||
create algorithm=temptable view v1 as select * from t1;
|
create algorithm=temptable view v1 as select * from t1;
|
||||||
select * from v1;
|
select * from v1;
|
||||||
|
@ -15,7 +15,7 @@ set LOCAL query_cache_type=ON;
|
|||||||
set GLOBAL query_cache_size=1355776;
|
set GLOBAL query_cache_size=1355776;
|
||||||
|
|
||||||
--disable_ps2_protocol
|
--disable_ps2_protocol
|
||||||
flush status;
|
flush global status;
|
||||||
create table t1 (a int, b int);
|
create table t1 (a int, b int);
|
||||||
|
|
||||||
# queries with following views should not be in query cache
|
# queries with following views should not be in query cache
|
||||||
@ -41,7 +41,7 @@ drop view v1,v2;
|
|||||||
# SQL_CACHE option
|
# SQL_CACHE option
|
||||||
set query_cache_type=demand;
|
set query_cache_type=demand;
|
||||||
--disable_ps2_protocol
|
--disable_ps2_protocol
|
||||||
flush status;
|
flush global status;
|
||||||
# query with view will be cached, but direct acess to table will not
|
# query with view will be cached, but direct acess to table will not
|
||||||
create view v1 (c,d) as select sql_cache a,b from t1;
|
create view v1 (c,d) as select sql_cache a,b from t1;
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
@ -111,7 +111,7 @@ drop table t1;
|
|||||||
# BUG#15119: returning temptable view from the query cache.
|
# BUG#15119: returning temptable view from the query cache.
|
||||||
#
|
#
|
||||||
--disable_ps2_protocol
|
--disable_ps2_protocol
|
||||||
flush status;
|
flush global status;
|
||||||
create table t1 (a int, b int);
|
create table t1 (a int, b int);
|
||||||
create algorithm=temptable view v1 as select * from t1;
|
create algorithm=temptable view v1 as select * from t1;
|
||||||
select * from v1;
|
select * from v1;
|
||||||
|
@ -5,7 +5,7 @@ SET GLOBAL LOG_OUTPUT = 'FILE';
|
|||||||
connect con1,localhost,root,,;
|
connect con1,localhost,root,,;
|
||||||
connect con2,localhost,root,,;
|
connect con2,localhost,root,,;
|
||||||
connection default;
|
connection default;
|
||||||
flush status;
|
flush global status;
|
||||||
show status like 'Table_lock%';
|
show status like 'Table_lock%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Table_locks_immediate 0
|
Table_locks_immediate 0
|
||||||
@ -82,7 +82,7 @@ show status like 'last_query_cost';
|
|||||||
Variable_name Value
|
Variable_name Value
|
||||||
Last_query_cost 0.000000
|
Last_query_cost 0.000000
|
||||||
drop table t1;
|
drop table t1;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SHOW STATUS LIKE 'max_used_connections';
|
SHOW STATUS LIKE 'max_used_connections';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Max_used_connections 1
|
Max_used_connections 1
|
||||||
@ -101,7 +101,7 @@ Max_used_connections 3
|
|||||||
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
|
||||||
VARIABLE_NAME VARIABLE_VALUE
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
MAX_USED_CONNECTIONS 3
|
MAX_USED_CONNECTIONS 3
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SHOW STATUS LIKE 'max_used_connections';
|
SHOW STATUS LIKE 'max_used_connections';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Max_used_connections 2
|
Max_used_connections 2
|
||||||
@ -450,7 +450,7 @@ SET GLOBAL log_output = @old_log_output;
|
|||||||
#
|
#
|
||||||
# MDEV-30543 New status variable: Max_used_connections_time
|
# MDEV-30543 New status variable: Max_used_connections_time
|
||||||
#
|
#
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
connect con1,localhost,root,,;
|
connect con1,localhost,root,,;
|
||||||
connect con2,localhost,root,,;
|
connect con2,localhost,root,,;
|
||||||
connection con1;
|
connection con1;
|
||||||
@ -466,3 +466,21 @@ expect_1
|
|||||||
disconnect con4;
|
disconnect con4;
|
||||||
disconnect con3;
|
disconnect con3;
|
||||||
disconnect con1;
|
disconnect con1;
|
||||||
|
connection default;
|
||||||
|
# Test Uptime_since_flush_status
|
||||||
|
# All results below should be 1
|
||||||
|
flush global status;
|
||||||
|
flush session status;
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
#
|
||||||
|
# end of 11.5 tests
|
||||||
|
#
|
||||||
|
@ -25,7 +25,7 @@ connect (con1,localhost,root,,);
|
|||||||
connect (con2,localhost,root,,);
|
connect (con2,localhost,root,,);
|
||||||
connection default;
|
connection default;
|
||||||
|
|
||||||
flush status;
|
flush global status;
|
||||||
|
|
||||||
show status like 'Table_lock%';
|
show status like 'Table_lock%';
|
||||||
select * from information_schema.session_status where variable_name like 'Table_lock%';
|
select * from information_schema.session_status where variable_name like 'Table_lock%';
|
||||||
@ -121,7 +121,7 @@ drop table t1;
|
|||||||
let $disconnect_timeout = 10;
|
let $disconnect_timeout = 10;
|
||||||
|
|
||||||
# Wait for any previous disconnects to finish.
|
# Wait for any previous disconnects to finish.
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
--disable_result_log
|
--disable_result_log
|
||||||
eval SET @wait_left = $disconnect_timeout;
|
eval SET @wait_left = $disconnect_timeout;
|
||||||
@ -131,7 +131,7 @@ let $wait_more = `SELECT @max_used_connections != 1 && @wait_left > 0`;
|
|||||||
while ($wait_more)
|
while ($wait_more)
|
||||||
{
|
{
|
||||||
sleep 1;
|
sleep 1;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SET @wait_left = @wait_left - 1;
|
SET @wait_left = @wait_left - 1;
|
||||||
let $max_used_connections = `SHOW STATUS LIKE 'max_used_connections'`;
|
let $max_used_connections = `SHOW STATUS LIKE 'max_used_connections'`;
|
||||||
eval SET @max_used_connections = SUBSTRING('$max_used_connections', 21)+0;
|
eval SET @max_used_connections = SUBSTRING('$max_used_connections', 21)+0;
|
||||||
@ -160,7 +160,7 @@ SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_us
|
|||||||
|
|
||||||
# Check that after flush max_used_connections equals to current number
|
# Check that after flush max_used_connections equals to current number
|
||||||
# of connections. First wait for previous disconnect to finish.
|
# of connections. First wait for previous disconnect to finish.
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
--disable_result_log
|
--disable_result_log
|
||||||
eval SET @wait_left = $disconnect_timeout;
|
eval SET @wait_left = $disconnect_timeout;
|
||||||
@ -170,7 +170,7 @@ let $wait_more = `SELECT @max_used_connections != 2 && @wait_left > 0`;
|
|||||||
while ($wait_more)
|
while ($wait_more)
|
||||||
{
|
{
|
||||||
sleep 1;
|
sleep 1;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SET @wait_left = @wait_left - 1;
|
SET @wait_left = @wait_left - 1;
|
||||||
let $max_used_connections = `SHOW STATUS LIKE 'max_used_connections'`;
|
let $max_used_connections = `SHOW STATUS LIKE 'max_used_connections'`;
|
||||||
eval SET @max_used_connections = SUBSTRING('$max_used_connections', 21)+0;
|
eval SET @max_used_connections = SUBSTRING('$max_used_connections', 21)+0;
|
||||||
@ -446,7 +446,7 @@ SET GLOBAL log_output = @old_log_output;
|
|||||||
--echo # MDEV-30543 New status variable: Max_used_connections_time
|
--echo # MDEV-30543 New status variable: Max_used_connections_time
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
|
|
||||||
connect (con1,localhost,root,,);
|
connect (con1,localhost,root,,);
|
||||||
--sleep 1
|
--sleep 1
|
||||||
@ -472,4 +472,42 @@ eval SELECT '$time_1' < '$time_3' as expect_1;
|
|||||||
disconnect con4;
|
disconnect con4;
|
||||||
disconnect con3;
|
disconnect con3;
|
||||||
disconnect con1;
|
disconnect con1;
|
||||||
|
connection default;
|
||||||
|
|
||||||
|
--echo # Test Uptime_since_flush_status
|
||||||
|
--echo # All results below should be 1
|
||||||
|
|
||||||
|
flush global status;
|
||||||
|
flush session status;
|
||||||
|
|
||||||
|
--sleep 1
|
||||||
|
|
||||||
|
let $global_flush_status= `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME LIKE 'Uptime_since_flush_status'`;
|
||||||
|
let $local_flush_status= `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'Uptime_since_flush_status'`;
|
||||||
|
|
||||||
|
--sleep 2
|
||||||
|
|
||||||
|
--disable_query_log
|
||||||
|
--eval select $global_flush_status >= $local_flush_status as "1"
|
||||||
|
flush session status;
|
||||||
|
|
||||||
|
let $new_global_flush_status= `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME LIKE 'Uptime_since_flush_status'`;
|
||||||
|
let $new_local_flush_status= `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'Uptime_since_flush_status'`;
|
||||||
|
|
||||||
|
--eval select $new_global_flush_status >= $global_flush_status as "1"
|
||||||
|
--eval select $new_local_flush_status < $global_flush_status as "1"
|
||||||
|
|
||||||
|
--sleep 2
|
||||||
|
flush global status;
|
||||||
|
|
||||||
|
let $local_flush_status=$new_local_flush_status;
|
||||||
|
let $new_global_flush_status= `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME LIKE 'Uptime_since_flush_status'`;
|
||||||
|
let $new_local_flush_status= `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'Uptime_since_flush_status'`;
|
||||||
|
|
||||||
|
--eval select $new_local_flush_status >= $local_flush_status as "1"
|
||||||
|
--eval select $new_global_flush_status < $new_local_flush_status as "1"
|
||||||
|
|
||||||
|
--enable_query_log
|
||||||
|
--echo #
|
||||||
|
--echo # end of 11.5 tests
|
||||||
|
--echo #
|
||||||
|
@ -7007,6 +7007,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
||||||
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT MIN(b) FROM t1, t2
|
(SELECT MIN(b) FROM t1, t2
|
||||||
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
||||||
@ -7049,6 +7050,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
||||||
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT MIN(b) FROM t1, t2
|
(SELECT MIN(b) FROM t1, t2
|
||||||
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
||||||
|
@ -5868,6 +5868,7 @@ FROM t2 alias1, t1 alias2, t1 alias3;
|
|||||||
|
|
||||||
--disable_ps2_protocol
|
--disable_ps2_protocol
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT MIN(b) FROM t1, t2
|
(SELECT MIN(b) FROM t1, t2
|
||||||
@ -5886,6 +5887,7 @@ SELECT
|
|||||||
FROM t2 alias1, t1 alias2, t1 alias3;
|
FROM t2 alias1, t1 alias2, t1 alias3;
|
||||||
|
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT MIN(b) FROM t1, t2
|
(SELECT MIN(b) FROM t1, t2
|
||||||
|
@ -12,6 +12,7 @@ insert into t2 values (2,3),(3,4),(5,6),(4,1);
|
|||||||
* Test subquery as top item in different clauses
|
* Test subquery as top item in different clauses
|
||||||
*
|
*
|
||||||
#single value subquery test (SELECT list)
|
#single value subquery test (SELECT list)
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select a, (select d from t2 where b=c) from t1;
|
select a, (select d from t2 where b=c) from t1;
|
||||||
a (select d from t2 where b=c)
|
a (select d from t2 where b=c)
|
||||||
@ -359,6 +360,7 @@ EXPLAIN
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select a, (select d from t2 where b=c) from t1;
|
select a, (select d from t2 where b=c) from t1;
|
||||||
a (select d from t2 where b=c)
|
a (select d from t2 where b=c)
|
||||||
@ -389,6 +391,7 @@ Handler_read_rnd_deleted 0
|
|||||||
Handler_read_rnd_next 61
|
Handler_read_rnd_next 61
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
#single value subquery test (where)
|
#single value subquery test (where)
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select a from t1 where (select d from t2 where b=c);
|
select a from t1 where (select d from t2 where b=c);
|
||||||
a
|
a
|
||||||
@ -416,6 +419,7 @@ Handler_read_rnd 0
|
|||||||
Handler_read_rnd_deleted 0
|
Handler_read_rnd_deleted 0
|
||||||
Handler_read_rnd_next 31
|
Handler_read_rnd_next 31
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select a from t1 where (select d from t2 where b=c);
|
select a from t1 where (select d from t2 where b=c);
|
||||||
a
|
a
|
||||||
@ -444,6 +448,7 @@ Handler_read_rnd_deleted 0
|
|||||||
Handler_read_rnd_next 61
|
Handler_read_rnd_next 61
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
#single value subquery test (having)
|
#single value subquery test (having)
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select a from t1 where a > 0 having (select d from t2 where b=c);
|
select a from t1 where a > 0 having (select d from t2 where b=c);
|
||||||
a
|
a
|
||||||
@ -471,6 +476,7 @@ Handler_read_rnd 0
|
|||||||
Handler_read_rnd_deleted 0
|
Handler_read_rnd_deleted 0
|
||||||
Handler_read_rnd_next 31
|
Handler_read_rnd_next 31
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select a from t1 where a > 0 having (select d from t2 where b=c);
|
select a from t1 where a > 0 having (select d from t2 where b=c);
|
||||||
a
|
a
|
||||||
@ -499,6 +505,7 @@ Handler_read_rnd_deleted 0
|
|||||||
Handler_read_rnd_next 61
|
Handler_read_rnd_next 61
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
#single value subquery test (OUTER JOIN ON)
|
#single value subquery test (OUTER JOIN ON)
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select ta.a, tb.a from t1 ta join t1 tb on (select d from t2 where tb.b=c);
|
select ta.a, tb.a from t1 ta join t1 tb on (select d from t2 where tb.b=c);
|
||||||
a a
|
a a
|
||||||
@ -598,6 +605,7 @@ Handler_read_rnd 0
|
|||||||
Handler_read_rnd_deleted 0
|
Handler_read_rnd_deleted 0
|
||||||
Handler_read_rnd_next 442
|
Handler_read_rnd_next 442
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select ta.a, tb.a from t1 ta join t1 tb on (select d from t2 where tb.b=c);
|
select ta.a, tb.a from t1 ta join t1 tb on (select d from t2 where tb.b=c);
|
||||||
a a
|
a a
|
||||||
@ -698,6 +706,7 @@ Handler_read_rnd_deleted 0
|
|||||||
Handler_read_rnd_next 472
|
Handler_read_rnd_next 472
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
#single value subquery test (GROUP BY)
|
#single value subquery test (GROUP BY)
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select max(a) from t1 GROUP BY (select d from t2 where b=c);
|
select max(a) from t1 GROUP BY (select d from t2 where b=c);
|
||||||
max(a)
|
max(a)
|
||||||
@ -721,6 +730,7 @@ Handler_read_rnd 4
|
|||||||
Handler_read_rnd_deleted 0
|
Handler_read_rnd_deleted 0
|
||||||
Handler_read_rnd_next 36
|
Handler_read_rnd_next 36
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select max(a) from t1 GROUP BY (select d from t2 where b=c);
|
select max(a) from t1 GROUP BY (select d from t2 where b=c);
|
||||||
max(a)
|
max(a)
|
||||||
@ -745,6 +755,7 @@ Handler_read_rnd_deleted 0
|
|||||||
Handler_read_rnd_next 86
|
Handler_read_rnd_next 86
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
#single value subquery test (distinct GROUP BY)
|
#single value subquery test (distinct GROUP BY)
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select distinct max(a) from t1 GROUP BY (select d from t2 where b=c);
|
select distinct max(a) from t1 GROUP BY (select d from t2 where b=c);
|
||||||
max(a)
|
max(a)
|
||||||
@ -768,6 +779,7 @@ Handler_read_rnd 4
|
|||||||
Handler_read_rnd_deleted 0
|
Handler_read_rnd_deleted 0
|
||||||
Handler_read_rnd_next 41
|
Handler_read_rnd_next 41
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select distinct max(a) from t1 GROUP BY (select d from t2 where b=c);
|
select distinct max(a) from t1 GROUP BY (select d from t2 where b=c);
|
||||||
max(a)
|
max(a)
|
||||||
@ -792,6 +804,7 @@ Handler_read_rnd_deleted 0
|
|||||||
Handler_read_rnd_next 91
|
Handler_read_rnd_next 91
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
#single value subquery test (ORDER BY)
|
#single value subquery test (ORDER BY)
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select a from t1 ORDER BY (select d from t2 where b=c);
|
select a from t1 ORDER BY (select d from t2 where b=c);
|
||||||
a
|
a
|
||||||
@ -821,6 +834,7 @@ Handler_read_rnd 0
|
|||||||
Handler_read_rnd_deleted 0
|
Handler_read_rnd_deleted 0
|
||||||
Handler_read_rnd_next 31
|
Handler_read_rnd_next 31
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select a from t1 ORDER BY (select d from t2 where b=c);
|
select a from t1 ORDER BY (select d from t2 where b=c);
|
||||||
a
|
a
|
||||||
@ -851,6 +865,7 @@ Handler_read_rnd_deleted 0
|
|||||||
Handler_read_rnd_next 61
|
Handler_read_rnd_next 61
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
#single value subquery test (distinct ORDER BY)
|
#single value subquery test (distinct ORDER BY)
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select distinct a from t1 ORDER BY (select d from t2 where b=c);
|
select distinct a from t1 ORDER BY (select d from t2 where b=c);
|
||||||
a
|
a
|
||||||
@ -874,6 +889,7 @@ Handler_read_rnd 4
|
|||||||
Handler_read_rnd_deleted 1
|
Handler_read_rnd_deleted 1
|
||||||
Handler_read_rnd_next 36
|
Handler_read_rnd_next 36
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select distinct a from t1 ORDER BY (select d from t2 where b=c);
|
select distinct a from t1 ORDER BY (select d from t2 where b=c);
|
||||||
a
|
a
|
||||||
@ -898,6 +914,7 @@ Handler_read_rnd_deleted 1
|
|||||||
Handler_read_rnd_next 66
|
Handler_read_rnd_next 66
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
#single value subquery test (LEFT JOIN ON)
|
#single value subquery test (LEFT JOIN ON)
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select ta.a, tb.a from t1 ta left join t1 tb on (select d from t2 where tb.b=c);
|
select ta.a, tb.a from t1 ta left join t1 tb on (select d from t2 where tb.b=c);
|
||||||
a a
|
a a
|
||||||
@ -997,6 +1014,7 @@ Handler_read_rnd 0
|
|||||||
Handler_read_rnd_deleted 0
|
Handler_read_rnd_deleted 0
|
||||||
Handler_read_rnd_next 141
|
Handler_read_rnd_next 141
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select ta.a, tb.a from t1 ta left join t1 tb on (select d from t2 where tb.b=c);
|
select ta.a, tb.a from t1 ta left join t1 tb on (select d from t2 where tb.b=c);
|
||||||
a a
|
a a
|
||||||
@ -1159,6 +1177,7 @@ a (select d from t2 where b=c) + 1
|
|||||||
4 7
|
4 7
|
||||||
drop procedure p1;
|
drop procedure p1;
|
||||||
#IN subquery test
|
#IN subquery test
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
@ -1219,6 +1238,7 @@ Variable_name Value
|
|||||||
Subquery_cache_hit 18
|
Subquery_cache_hit 18
|
||||||
Subquery_cache_miss 16
|
Subquery_cache_miss 16
|
||||||
# multicolumn NOT IN with NULLs
|
# multicolumn NOT IN with NULLs
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
select a, b, (b, a) not in (select d, c from t2) as SUBS from t1;
|
select a, b, (b, a) not in (select d, c from t2) as SUBS from t1;
|
||||||
@ -1259,6 +1279,7 @@ Variable_name Value
|
|||||||
Subquery_cache_hit 6
|
Subquery_cache_hit 6
|
||||||
Subquery_cache_miss 6
|
Subquery_cache_miss 6
|
||||||
# multicolumn NOT IN with NULLs (other order)
|
# multicolumn NOT IN with NULLs (other order)
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
select a, b, (a, b) not in (select d, c from t2) as SUBS from t1;
|
select a, b, (a, b) not in (select d, c from t2) as SUBS from t1;
|
||||||
@ -1299,6 +1320,7 @@ Variable_name Value
|
|||||||
Subquery_cache_hit 6
|
Subquery_cache_hit 6
|
||||||
Subquery_cache_miss 6
|
Subquery_cache_miss 6
|
||||||
# multicolumn IN with NULLs
|
# multicolumn IN with NULLs
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
select a, b, (b, a) in (select d, c from t2) as SUBS from t1;
|
select a, b, (b, a) in (select d, c from t2) as SUBS from t1;
|
||||||
@ -1339,6 +1361,7 @@ Variable_name Value
|
|||||||
Subquery_cache_hit 6
|
Subquery_cache_hit 6
|
||||||
Subquery_cache_miss 6
|
Subquery_cache_miss 6
|
||||||
# multicolumn IN with NULLs (other order)
|
# multicolumn IN with NULLs (other order)
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
select a, b, (a, b) in (select d, c from t2) as SUBS from t1;
|
select a, b, (a, b) in (select d, c from t2) as SUBS from t1;
|
||||||
@ -1691,6 +1714,7 @@ a b SUBS
|
|||||||
drop procedure p1;
|
drop procedure p1;
|
||||||
#several subqueries
|
#several subqueries
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select a, b , exists (select * from t2 where b=d) as SUBSE, b in (select d from t2) as SUBSI, (select d from t2 where b=c) SUBSR from t1;
|
select a, b , exists (select * from t2 where b=d) as SUBSE, b in (select d from t2) as SUBSI, (select d from t2 where b=c) SUBSR from t1;
|
||||||
a b SUBSE SUBSI SUBSR
|
a b SUBSE SUBSI SUBSR
|
||||||
@ -1722,6 +1746,7 @@ Handler_read_rnd 0
|
|||||||
Handler_read_rnd_deleted 0
|
Handler_read_rnd_deleted 0
|
||||||
Handler_read_rnd_next 145
|
Handler_read_rnd_next 145
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select a, b , exists (select * from t2 where b=d) as SUBSE, b in (select d from t2) as SUBSI, (select d from t2 where b=c) SUBSR from t1;
|
select a, b , exists (select * from t2 where b=d) as SUBSE, b in (select d from t2) as SUBSI, (select d from t2 where b=c) SUBSR from t1;
|
||||||
a b SUBSE SUBSI SUBSR
|
a b SUBSE SUBSI SUBSR
|
||||||
@ -1754,8 +1779,10 @@ Handler_read_rnd_deleted 0
|
|||||||
Handler_read_rnd_next 84
|
Handler_read_rnd_next 84
|
||||||
#several subqueries (several levels)
|
#several subqueries (several levels)
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select a, b, (select exists (select * from t2 where b=d) from t2 where b=c) as SUNS1 from t1;
|
select a, b, (select exists (select * from t2 where b=d) from t2 where b=c) as SUNS1 from t1;
|
||||||
a b SUNS1
|
a b SUNS1
|
||||||
@ -1787,6 +1814,7 @@ Handler_read_rnd 0
|
|||||||
Handler_read_rnd_deleted 0
|
Handler_read_rnd_deleted 0
|
||||||
Handler_read_rnd_next 127
|
Handler_read_rnd_next 127
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select a, b, (select exists (select * from t2 where b=d) from t2 where b=c) as SUNS1 from t1;
|
select a, b, (select exists (select * from t2 where b=d) from t2 where b=c) as SUNS1 from t1;
|
||||||
a b SUNS1
|
a b SUNS1
|
||||||
@ -1917,6 +1945,7 @@ POINT(1 1)
|
|||||||
POINT(3 3)
|
POINT(3 3)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#uncacheable queries test (random and side effect)
|
#uncacheable queries test (random and side effect)
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
CREATE TABLE t1 (a int);
|
CREATE TABLE t1 (a int);
|
||||||
INSERT INTO t1 VALUES (2), (4), (1), (3);
|
INSERT INTO t1 VALUES (2), (4), (1), (3);
|
||||||
@ -1983,6 +2012,7 @@ insert into t1 values (2,1), (3,1), (2,4), (3,4), (10,2), (20,2), (2,5),
|
|||||||
insert into t2 values (1,1),(3,3),(20,20);
|
insert into t2 values (1,1),(3,3),(20,20);
|
||||||
aggregate function as parameter of subquery
|
aggregate function as parameter of subquery
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select max(a), (select max(a) from t2 where max(a)=c) from t1 group by b;
|
select max(a), (select max(a) from t2 where max(a)=c) from t1 group by b;
|
||||||
max(a) (select max(a) from t2 where max(a)=c)
|
max(a) (select max(a) from t2 where max(a)=c)
|
||||||
@ -2010,6 +2040,7 @@ Handler_read_rnd 8
|
|||||||
Handler_read_rnd_deleted 0
|
Handler_read_rnd_deleted 0
|
||||||
Handler_read_rnd_next 57
|
Handler_read_rnd_next 57
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select max(a), (select max(a) from t2 where max(a)=c) from t1 group by b;
|
select max(a), (select max(a) from t2 where max(a)=c) from t1 group by b;
|
||||||
max(a) (select max(a) from t2 where max(a)=c)
|
max(a) (select max(a) from t2 where max(a)=c)
|
||||||
@ -2038,6 +2069,7 @@ Handler_read_rnd_deleted 0
|
|||||||
Handler_read_rnd_next 37
|
Handler_read_rnd_next 37
|
||||||
argument of aggregate function as parameter of subquery (illegal use)
|
argument of aggregate function as parameter of subquery (illegal use)
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select max(a), (select a from t2 where a=c) from t1 group by b;
|
select max(a), (select a from t2 where a=c) from t1 group by b;
|
||||||
max(a) (select a from t2 where a=c)
|
max(a) (select a from t2 where a=c)
|
||||||
@ -2065,6 +2097,7 @@ Handler_read_rnd 8
|
|||||||
Handler_read_rnd_deleted 0
|
Handler_read_rnd_deleted 0
|
||||||
Handler_read_rnd_next 57
|
Handler_read_rnd_next 57
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select max(a), (select a from t2 where a=c) from t1 group by b;
|
select max(a), (select a from t2 where a=c) from t1 group by b;
|
||||||
max(a) (select a from t2 where a=c)
|
max(a) (select a from t2 where a=c)
|
||||||
@ -2101,6 +2134,7 @@ insert into t1 values
|
|||||||
create table t2 (pk int, a int, primary key(pk));
|
create table t2 (pk int, a int, primary key(pk));
|
||||||
insert into t2 select a,a from t0;
|
insert into t2 select a,a from t0;
|
||||||
set optimizer_switch='default,semijoin=on,materialization=on,subquery_cache=on';
|
set optimizer_switch='default,semijoin=on,materialization=on,subquery_cache=on';
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select * from t1 where a in (select pk from t2);
|
select * from t1 where a in (select pk from t2);
|
||||||
a b
|
a b
|
||||||
@ -2140,6 +2174,7 @@ explain select * from t1 where a in (select pk from t2);
|
|||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 15 Using where
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 15 Using where
|
||||||
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 10 Using where
|
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select * from t1 where a in (select pk from t2);
|
select * from t1 where a in (select pk from t2);
|
||||||
a b
|
a b
|
||||||
@ -2178,6 +2213,7 @@ explain select * from t1 where a in (select pk from t2);
|
|||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 15 Using where
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 15 Using where
|
||||||
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 10 Using where
|
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select * from t1 where a in (select pk from t2);
|
select * from t1 where a in (select pk from t2);
|
||||||
a b
|
a b
|
||||||
@ -2216,6 +2252,7 @@ explain select * from t1 where a in (select pk from t2);
|
|||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 15 Using where
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 15 Using where
|
||||||
2 MATERIALIZED t2 ALL NULL NULL NULL NULL 10
|
2 MATERIALIZED t2 ALL NULL NULL NULL NULL 10
|
||||||
|
flush global status;
|
||||||
flush status;
|
flush status;
|
||||||
select * from t1 where a in (select pk from t2);
|
select * from t1 where a in (select pk from t2);
|
||||||
a b
|
a b
|
||||||
|
@ -23,7 +23,7 @@ insert into t2 values (2,3),(3,4),(5,6),(4,1);
|
|||||||
--echo *
|
--echo *
|
||||||
--echo #single value subquery test (SELECT list)
|
--echo #single value subquery test (SELECT list)
|
||||||
--disable_ps2_protocol
|
--disable_ps2_protocol
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select a, (select d from t2 where b=c) from t1;
|
select a, (select d from t2 where b=c) from t1;
|
||||||
|
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
@ -42,7 +42,7 @@ select a, (select d from t2 where b=c) from t1;
|
|||||||
explain format=json
|
explain format=json
|
||||||
select a, (select d from t2 where b=c), (select d from t2 where b=c union select 1 order by 1 limit 1) from t1;
|
select a, (select d from t2 where b=c), (select d from t2 where b=c union select 1 order by 1 limit 1) from t1;
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
|
|
||||||
select a, (select d from t2 where b=c) from t1;
|
select a, (select d from t2 where b=c) from t1;
|
||||||
|
|
||||||
@ -52,14 +52,14 @@ set optimizer_switch='subquery_cache=on';
|
|||||||
|
|
||||||
|
|
||||||
--echo #single value subquery test (where)
|
--echo #single value subquery test (where)
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select a from t1 where (select d from t2 where b=c);
|
select a from t1 where (select d from t2 where b=c);
|
||||||
|
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
|
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
|
|
||||||
select a from t1 where (select d from t2 where b=c);
|
select a from t1 where (select d from t2 where b=c);
|
||||||
|
|
||||||
@ -68,14 +68,14 @@ show status like '%Handler_read%';
|
|||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
|
|
||||||
--echo #single value subquery test (having)
|
--echo #single value subquery test (having)
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select a from t1 where a > 0 having (select d from t2 where b=c);
|
select a from t1 where a > 0 having (select d from t2 where b=c);
|
||||||
|
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
|
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
|
|
||||||
select a from t1 where a > 0 having (select d from t2 where b=c);
|
select a from t1 where a > 0 having (select d from t2 where b=c);
|
||||||
|
|
||||||
@ -84,14 +84,14 @@ show status like '%Handler_read%';
|
|||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
|
|
||||||
--echo #single value subquery test (OUTER JOIN ON)
|
--echo #single value subquery test (OUTER JOIN ON)
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select ta.a, tb.a from t1 ta join t1 tb on (select d from t2 where tb.b=c);
|
select ta.a, tb.a from t1 ta join t1 tb on (select d from t2 where tb.b=c);
|
||||||
|
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
|
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
|
|
||||||
select ta.a, tb.a from t1 ta join t1 tb on (select d from t2 where tb.b=c);
|
select ta.a, tb.a from t1 ta join t1 tb on (select d from t2 where tb.b=c);
|
||||||
|
|
||||||
@ -100,14 +100,14 @@ show status like '%Handler_read%';
|
|||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
|
|
||||||
--echo #single value subquery test (GROUP BY)
|
--echo #single value subquery test (GROUP BY)
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select max(a) from t1 GROUP BY (select d from t2 where b=c);
|
select max(a) from t1 GROUP BY (select d from t2 where b=c);
|
||||||
|
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select max(a) from t1 GROUP BY (select d from t2 where b=c);
|
select max(a) from t1 GROUP BY (select d from t2 where b=c);
|
||||||
|
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
@ -115,14 +115,14 @@ show status like '%Handler_read%';
|
|||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
|
|
||||||
--echo #single value subquery test (distinct GROUP BY)
|
--echo #single value subquery test (distinct GROUP BY)
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select distinct max(a) from t1 GROUP BY (select d from t2 where b=c);
|
select distinct max(a) from t1 GROUP BY (select d from t2 where b=c);
|
||||||
|
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select distinct max(a) from t1 GROUP BY (select d from t2 where b=c);
|
select distinct max(a) from t1 GROUP BY (select d from t2 where b=c);
|
||||||
|
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
@ -130,14 +130,14 @@ show status like '%Handler_read%';
|
|||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
|
|
||||||
--echo #single value subquery test (ORDER BY)
|
--echo #single value subquery test (ORDER BY)
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select a from t1 ORDER BY (select d from t2 where b=c);
|
select a from t1 ORDER BY (select d from t2 where b=c);
|
||||||
|
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select a from t1 ORDER BY (select d from t2 where b=c);
|
select a from t1 ORDER BY (select d from t2 where b=c);
|
||||||
|
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
@ -145,14 +145,14 @@ show status like '%Handler_read%';
|
|||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
|
|
||||||
--echo #single value subquery test (distinct ORDER BY)
|
--echo #single value subquery test (distinct ORDER BY)
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select distinct a from t1 ORDER BY (select d from t2 where b=c);
|
select distinct a from t1 ORDER BY (select d from t2 where b=c);
|
||||||
|
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
|
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select distinct a from t1 ORDER BY (select d from t2 where b=c);
|
select distinct a from t1 ORDER BY (select d from t2 where b=c);
|
||||||
|
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
@ -160,14 +160,14 @@ show status like '%Handler_read%';
|
|||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
|
|
||||||
--echo #single value subquery test (LEFT JOIN ON)
|
--echo #single value subquery test (LEFT JOIN ON)
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select ta.a, tb.a from t1 ta left join t1 tb on (select d from t2 where tb.b=c);
|
select ta.a, tb.a from t1 ta left join t1 tb on (select d from t2 where tb.b=c);
|
||||||
|
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
|
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
|
|
||||||
select ta.a, tb.a from t1 ta left join t1 tb on (select d from t2 where tb.b=c);
|
select ta.a, tb.a from t1 ta left join t1 tb on (select d from t2 where tb.b=c);
|
||||||
|
|
||||||
@ -192,7 +192,7 @@ call p1;
|
|||||||
drop procedure p1;
|
drop procedure p1;
|
||||||
|
|
||||||
--echo #IN subquery test
|
--echo #IN subquery test
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
|
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
select a, b , b in (select d from t2) as SUBS from t1;
|
select a, b , b in (select d from t2) as SUBS from t1;
|
||||||
@ -207,7 +207,7 @@ select a, b , b in (select d from t2) as SUBS from t1;
|
|||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
|
|
||||||
--echo # multicolumn NOT IN with NULLs
|
--echo # multicolumn NOT IN with NULLs
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
select a, b, (b, a) not in (select d, c from t2) as SUBS from t1;
|
select a, b, (b, a) not in (select d, c from t2) as SUBS from t1;
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
@ -217,7 +217,7 @@ select a, b, (b, a) not in (select d, c from t2) as SUBS from t1;
|
|||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
|
|
||||||
--echo # multicolumn NOT IN with NULLs (other order)
|
--echo # multicolumn NOT IN with NULLs (other order)
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
select a, b, (a, b) not in (select d, c from t2) as SUBS from t1;
|
select a, b, (a, b) not in (select d, c from t2) as SUBS from t1;
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
@ -227,7 +227,7 @@ select a, b, (a, b) not in (select d, c from t2) as SUBS from t1;
|
|||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
|
|
||||||
--echo # multicolumn IN with NULLs
|
--echo # multicolumn IN with NULLs
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
select a, b, (b, a) in (select d, c from t2) as SUBS from t1;
|
select a, b, (b, a) in (select d, c from t2) as SUBS from t1;
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
@ -237,7 +237,7 @@ select a, b, (b, a) in (select d, c from t2) as SUBS from t1;
|
|||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
|
|
||||||
--echo # multicolumn IN with NULLs (other order)
|
--echo # multicolumn IN with NULLs (other order)
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
select a, b, (a, b) in (select d, c from t2) as SUBS from t1;
|
select a, b, (a, b) in (select d, c from t2) as SUBS from t1;
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
@ -317,30 +317,30 @@ drop procedure p1;
|
|||||||
|
|
||||||
--echo #several subqueries
|
--echo #several subqueries
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select a, b , exists (select * from t2 where b=d) as SUBSE, b in (select d from t2) as SUBSI, (select d from t2 where b=c) SUBSR from t1;
|
select a, b , exists (select * from t2 where b=d) as SUBSE, b in (select d from t2) as SUBSI, (select d from t2 where b=c) SUBSR from t1;
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
|
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select a, b , exists (select * from t2 where b=d) as SUBSE, b in (select d from t2) as SUBSI, (select d from t2 where b=c) SUBSR from t1;
|
select a, b , exists (select * from t2 where b=d) as SUBSE, b in (select d from t2) as SUBSI, (select d from t2 where b=c) SUBSR from t1;
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
|
|
||||||
--echo #several subqueries (several levels)
|
--echo #several subqueries (several levels)
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
|
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select a, b, (select exists (select * from t2 where b=d) from t2 where b=c) as SUNS1 from t1;
|
select a, b, (select exists (select * from t2 where b=d) from t2 where b=c) as SUNS1 from t1;
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
|
|
||||||
|
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select a, b, (select exists (select * from t2 where b=d) from t2 where b=c) as SUNS1 from t1;
|
select a, b, (select exists (select * from t2 where b=d) from t2 where b=c) as SUNS1 from t1;
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
@ -425,7 +425,7 @@ DROP TABLE t1;
|
|||||||
|
|
||||||
--echo #uncacheable queries test (random and side effect)
|
--echo #uncacheable queries test (random and side effect)
|
||||||
--disable_ps2_protocol
|
--disable_ps2_protocol
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
CREATE TABLE t1 (a int);
|
CREATE TABLE t1 (a int);
|
||||||
INSERT INTO t1 VALUES (2), (4), (1), (3);
|
INSERT INTO t1 VALUES (2), (4), (1), (3);
|
||||||
select a, a in (select a from t1) from t1 as ext;
|
select a, a in (select a from t1) from t1 as ext;
|
||||||
@ -464,25 +464,25 @@ insert into t2 values (1,1),(3,3),(20,20);
|
|||||||
--disable_ps2_protocol
|
--disable_ps2_protocol
|
||||||
--echo aggregate function as parameter of subquery
|
--echo aggregate function as parameter of subquery
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select max(a), (select max(a) from t2 where max(a)=c) from t1 group by b;
|
select max(a), (select max(a) from t2 where max(a)=c) from t1 group by b;
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select max(a), (select max(a) from t2 where max(a)=c) from t1 group by b;
|
select max(a), (select max(a) from t2 where max(a)=c) from t1 group by b;
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
|
|
||||||
--echo argument of aggregate function as parameter of subquery (illegal use)
|
--echo argument of aggregate function as parameter of subquery (illegal use)
|
||||||
set optimizer_switch='subquery_cache=off';
|
set optimizer_switch='subquery_cache=off';
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select max(a), (select a from t2 where a=c) from t1 group by b;
|
select max(a), (select a from t2 where a=c) from t1 group by b;
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
|
|
||||||
set optimizer_switch='subquery_cache=on';
|
set optimizer_switch='subquery_cache=on';
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select max(a), (select a from t2 where a=c) from t1 group by b;
|
select max(a), (select a from t2 where a=c) from t1 group by b;
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
@ -503,7 +503,7 @@ insert into t2 select a,a from t0;
|
|||||||
|
|
||||||
--disable_ps2_protocol
|
--disable_ps2_protocol
|
||||||
set optimizer_switch='default,semijoin=on,materialization=on,subquery_cache=on';
|
set optimizer_switch='default,semijoin=on,materialization=on,subquery_cache=on';
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select * from t1 where a in (select pk from t2);
|
select * from t1 where a in (select pk from t2);
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
@ -512,7 +512,7 @@ alter table t2 drop primary key;
|
|||||||
set optimizer_switch='default,semijoin=off,materialization=off,subquery_cache=off';
|
set optimizer_switch='default,semijoin=off,materialization=off,subquery_cache=off';
|
||||||
|
|
||||||
explain select * from t1 where a in (select pk from t2);
|
explain select * from t1 where a in (select pk from t2);
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select * from t1 where a in (select pk from t2);
|
select * from t1 where a in (select pk from t2);
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
@ -520,7 +520,7 @@ show status like '%Handler_read%';
|
|||||||
set optimizer_switch='default,semijoin=off,materialization=off,subquery_cache=on';
|
set optimizer_switch='default,semijoin=off,materialization=off,subquery_cache=on';
|
||||||
|
|
||||||
explain select * from t1 where a in (select pk from t2);
|
explain select * from t1 where a in (select pk from t2);
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select * from t1 where a in (select pk from t2);
|
select * from t1 where a in (select pk from t2);
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
@ -529,7 +529,7 @@ show status like '%Handler_read%';
|
|||||||
set optimizer_switch='default,semijoin=off,materialization=on,subquery_cache=on';
|
set optimizer_switch='default,semijoin=off,materialization=on,subquery_cache=on';
|
||||||
|
|
||||||
explain select * from t1 where a in (select pk from t2);
|
explain select * from t1 where a in (select pk from t2);
|
||||||
flush status;
|
flush global status; flush status;
|
||||||
select * from t1 where a in (select pk from t2);
|
select * from t1 where a in (select pk from t2);
|
||||||
show status like "subquery_cache%";
|
show status like "subquery_cache%";
|
||||||
show status like '%Handler_read%';
|
show status like '%Handler_read%';
|
||||||
|
@ -7009,6 +7009,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
||||||
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT MIN(b) FROM t1, t2
|
(SELECT MIN(b) FROM t1, t2
|
||||||
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
||||||
@ -7051,6 +7052,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
||||||
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT MIN(b) FROM t1, t2
|
(SELECT MIN(b) FROM t1, t2
|
||||||
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
||||||
|
@ -7005,6 +7005,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
||||||
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT MIN(b) FROM t1, t2
|
(SELECT MIN(b) FROM t1, t2
|
||||||
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
||||||
@ -7047,6 +7048,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
||||||
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT MIN(b) FROM t1, t2
|
(SELECT MIN(b) FROM t1, t2
|
||||||
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
||||||
|
@ -7002,6 +7002,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
||||||
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT MIN(b) FROM t1, t2
|
(SELECT MIN(b) FROM t1, t2
|
||||||
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
||||||
@ -7044,6 +7045,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
||||||
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT MIN(b) FROM t1, t2
|
(SELECT MIN(b) FROM t1, t2
|
||||||
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
||||||
|
@ -7013,6 +7013,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
||||||
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT MIN(b) FROM t1, t2
|
(SELECT MIN(b) FROM t1, t2
|
||||||
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
||||||
@ -7055,6 +7056,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
||||||
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT MIN(b) FROM t1, t2
|
(SELECT MIN(b) FROM t1, t2
|
||||||
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
||||||
|
@ -7002,6 +7002,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
||||||
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT MIN(b) FROM t1, t2
|
(SELECT MIN(b) FROM t1, t2
|
||||||
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
||||||
@ -7044,6 +7045,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
||||||
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT MIN(b) FROM t1, t2
|
(SELECT MIN(b) FROM t1, t2
|
||||||
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
WHERE b = a AND (b = alias1.b OR EXISTS (SELECT * FROM t3))) AS m
|
||||||
|
@ -2201,7 +2201,11 @@ create table t1 (s1 int);
|
|||||||
create view abc as select * from t1 as abc;
|
create view abc as select * from t1 as abc;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
drop view abc;
|
drop view abc;
|
||||||
|
#
|
||||||
|
# Bug#12993 View column rename broken in subselect
|
||||||
|
#
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
create table t1(f1 char(1));
|
create table t1(f1 char(1));
|
||||||
create view v1 as select * from t1;
|
create view v1 as select * from t1;
|
||||||
select * from (select f1 as f2, f1 as f3 from v1) v where v.f2='a';
|
select * from (select f1 as f2, f1 as f3 from v1) v where v.f2='a';
|
||||||
|
@ -2040,12 +2040,12 @@ create view abc as select * from t1 as abc;
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
drop view abc;
|
drop view abc;
|
||||||
|
|
||||||
|
--echo #
|
||||||
#
|
--echo # Bug#12993 View column rename broken in subselect
|
||||||
# Bug#12993 View column rename broken in subselect
|
--echo #
|
||||||
#
|
|
||||||
|
|
||||||
flush status;
|
flush status;
|
||||||
|
flush global status;
|
||||||
create table t1(f1 char(1));
|
create table t1(f1 char(1));
|
||||||
create view v1 as select * from t1;
|
create view v1 as select * from t1;
|
||||||
select * from (select f1 as f2, f1 as f3 from v1) v where v.f2='a';
|
select * from (select f1 as f2, f1 as f3 from v1) v where v.f2='a';
|
||||||
|
@ -87,7 +87,7 @@ reset master;
|
|||||||
|
|
||||||
create table t1 (a int, b char(255)) engine=innodb;
|
create table t1 (a int, b char(255)) engine=innodb;
|
||||||
|
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "binlog_cache_use";
|
show status like "binlog_cache_use";
|
||||||
|
|
||||||
let $1=100;
|
let $1=100;
|
||||||
|
@ -25,7 +25,7 @@ set @@global.binlog_cache_size=32768;
|
|||||||
--echo **** Preparing the enviroment to check commit and its effect on status variables.
|
--echo **** Preparing the enviroment to check commit and its effect on status variables.
|
||||||
--echo **** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
--echo **** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||||
--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||||
flush status;
|
flush global status;
|
||||||
let $exp_cache= 0;
|
let $exp_cache= 0;
|
||||||
let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
|
let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
|
||||||
let $exp_disk= 0;
|
let $exp_disk= 0;
|
||||||
@ -142,7 +142,7 @@ if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cach
|
|||||||
--echo **** Preparing the enviroment to check abort and its effect on the status variables.
|
--echo **** Preparing the enviroment to check abort and its effect on the status variables.
|
||||||
--echo **** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
--echo **** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||||
--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||||
flush status;
|
flush global status;
|
||||||
let $exp_cache= 0;
|
let $exp_cache= 0;
|
||||||
let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
|
let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
|
||||||
let $exp_disk= 0;
|
let $exp_disk= 0;
|
||||||
|
@ -55,7 +55,7 @@ INSERT INTO t1 VALUES (303);
|
|||||||
SET @gtid_pos= @@GLOBAL.gtid_binlog_pos;
|
SET @gtid_pos= @@GLOBAL.gtid_binlog_pos;
|
||||||
INSERT INTO t1 VALUES (304);
|
INSERT INTO t1 VALUES (304);
|
||||||
INSERT INTO t1 VALUES (305);
|
INSERT INTO t1 VALUES (305);
|
||||||
FLUSH NO_WRITE_TO_BINLOG STATUS;
|
FLUSH NO_WRITE_TO_BINLOG GLOBAL STATUS;
|
||||||
+++ Initial status:
|
+++ Initial status:
|
||||||
SHOW STATUS LIKE 'binlog_gtid_index_%';
|
SHOW STATUS LIKE 'binlog_gtid_index_%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
|
@ -121,7 +121,7 @@ master-bin.000001 # Table_map # # table_id: # (test.t1)
|
|||||||
master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
|
master-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
|
||||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "binlog_cache_use";
|
show status like "binlog_cache_use";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Binlog_cache_use 0
|
Binlog_cache_use 0
|
||||||
|
@ -8,7 +8,7 @@ set @@global.binlog_cache_size=32768;
|
|||||||
**** Preparing the enviroment to check commit and its effect on status variables.
|
**** Preparing the enviroment to check commit and its effect on status variables.
|
||||||
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||||
flush status;
|
flush global status;
|
||||||
**** Transactional changes which are long enough so they will be flushed to disk...
|
**** Transactional changes which are long enough so they will be flushed to disk...
|
||||||
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
||||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||||
@ -37,7 +37,7 @@ commit;
|
|||||||
**** Preparing the enviroment to check abort and its effect on the status variables.
|
**** Preparing the enviroment to check abort and its effect on the status variables.
|
||||||
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||||
flush status;
|
flush global status;
|
||||||
**** Transactional changes which are long enough so they will be flushed to disk...
|
**** Transactional changes which are long enough so they will be flushed to disk...
|
||||||
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
||||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||||
|
@ -373,7 +373,7 @@ set @bcs = @@binlog_cache_size;
|
|||||||
set global binlog_cache_size=4096;
|
set global binlog_cache_size=4096;
|
||||||
reset master;
|
reset master;
|
||||||
create table t1 (a int, b char(255)) engine=innodb;
|
create table t1 (a int, b char(255)) engine=innodb;
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "binlog_cache_use";
|
show status like "binlog_cache_use";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Binlog_cache_use 0
|
Binlog_cache_use 0
|
||||||
@ -385,7 +385,7 @@ Log_name Pos Event_type Server_id End_log_pos Info
|
|||||||
master-bin.000001 # Gtid # # GTID #-#-#
|
master-bin.000001 # Gtid # # GTID #-#-#
|
||||||
master-bin.000001 # Query # # use `test`; create table t1 (a int, b char(255)) engine=innodb
|
master-bin.000001 # Query # # use `test`; create table t1 (a int, b char(255)) engine=innodb
|
||||||
master-bin.000001 # Gtid # # GTID #-#-#
|
master-bin.000001 # Gtid # # GTID #-#-#
|
||||||
master-bin.000001 # Query # # use `test`; flush status
|
master-bin.000001 # Query # # use `test`; flush global status
|
||||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||||
master-bin.000001 # Annotate_rows # # insert into t1 values( 100, 'just to fill void to make transaction occupying at least two buffers of the trans cache' )
|
master-bin.000001 # Annotate_rows # # insert into t1 values( 100, 'just to fill void to make transaction occupying at least two buffers of the trans cache' )
|
||||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||||
|
@ -8,7 +8,7 @@ set @@global.binlog_cache_size=32768;
|
|||||||
**** Preparing the enviroment to check commit and its effect on status variables.
|
**** Preparing the enviroment to check commit and its effect on status variables.
|
||||||
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||||
flush status;
|
flush global status;
|
||||||
**** Transactional changes which are long enough so they will be flushed to disk...
|
**** Transactional changes which are long enough so they will be flushed to disk...
|
||||||
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
||||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||||
@ -37,7 +37,7 @@ commit;
|
|||||||
**** Preparing the enviroment to check abort and its effect on the status variables.
|
**** Preparing the enviroment to check abort and its effect on the status variables.
|
||||||
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||||
flush status;
|
flush global status;
|
||||||
**** Transactional changes which are long enough so they will be flushed to disk...
|
**** Transactional changes which are long enough so they will be flushed to disk...
|
||||||
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
||||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||||
|
@ -176,7 +176,7 @@ set @bcs = @@binlog_cache_size;
|
|||||||
set global binlog_cache_size=4096;
|
set global binlog_cache_size=4096;
|
||||||
reset master;
|
reset master;
|
||||||
create table t1 (a int, b char(255)) engine=innodb;
|
create table t1 (a int, b char(255)) engine=innodb;
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "binlog_cache_use";
|
show status like "binlog_cache_use";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Binlog_cache_use 0
|
Binlog_cache_use 0
|
||||||
@ -188,7 +188,7 @@ Log_name Pos Event_type Server_id End_log_pos Info
|
|||||||
master-bin.000001 # Gtid # # GTID #-#-#
|
master-bin.000001 # Gtid # # GTID #-#-#
|
||||||
master-bin.000001 # Query # # use `test`; create table t1 (a int, b char(255)) engine=innodb
|
master-bin.000001 # Query # # use `test`; create table t1 (a int, b char(255)) engine=innodb
|
||||||
master-bin.000001 # Gtid # # GTID #-#-#
|
master-bin.000001 # Gtid # # GTID #-#-#
|
||||||
master-bin.000001 # Query # # use `test`; flush status
|
master-bin.000001 # Query # # use `test`; flush global status
|
||||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||||
master-bin.000001 # Query # # use `test`; insert into t1 values( 100, 'just to fill void to make transaction occupying at least two buffers of the trans cache' )
|
master-bin.000001 # Query # # use `test`; insert into t1 values( 100, 'just to fill void to make transaction occupying at least two buffers of the trans cache' )
|
||||||
master-bin.000001 # Query # # use `test`; insert into t1 values( 99, 'just to fill void to make transaction occupying at least two buffers of the trans cache' )
|
master-bin.000001 # Query # # use `test`; insert into t1 values( 99, 'just to fill void to make transaction occupying at least two buffers of the trans cache' )
|
||||||
|
@ -8,7 +8,7 @@ set @@global.binlog_cache_size=32768;
|
|||||||
**** Preparing the enviroment to check commit and its effect on status variables.
|
**** Preparing the enviroment to check commit and its effect on status variables.
|
||||||
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||||
flush status;
|
flush global status;
|
||||||
**** Transactional changes which are long enough so they will be flushed to disk...
|
**** Transactional changes which are long enough so they will be flushed to disk...
|
||||||
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
||||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||||
@ -37,7 +37,7 @@ commit;
|
|||||||
**** Preparing the enviroment to check abort and its effect on the status variables.
|
**** Preparing the enviroment to check abort and its effect on the status variables.
|
||||||
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
|
||||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||||
flush status;
|
flush global status;
|
||||||
**** Transactional changes which are long enough so they will be flushed to disk...
|
**** Transactional changes which are long enough so they will be flushed to disk...
|
||||||
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
|
||||||
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
|
||||||
|
@ -4,9 +4,9 @@ reset master;
|
|||||||
include/show_binlog_events.inc
|
include/show_binlog_events.inc
|
||||||
Log_name Pos Event_type Server_id End_log_pos Info
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
master-bin.000001 # Gtid # # GTID #-#-#
|
master-bin.000001 # Gtid # # GTID #-#-#
|
||||||
master-bin.000001 # Query # # flush status
|
master-bin.000001 # Query # # flush /*!110500 global */ status
|
||||||
include/show_binlog_events.inc
|
include/show_binlog_events.inc
|
||||||
Log_name Pos Event_type Server_id End_log_pos Info
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
master-bin.000001 # Gtid # # GTID #-#-#
|
master-bin.000001 # Gtid # # GTID #-#-#
|
||||||
master-bin.000001 # Query # # flush status
|
master-bin.000001 # Query # # flush /*!110500 global */ status
|
||||||
drop user adm@localhost;
|
drop user adm@localhost;
|
||||||
|
@ -87,7 +87,7 @@ INSERT INTO t1 VALUES (305);
|
|||||||
|
|
||||||
# BINLOG_GTID_POS() has a side effect: it increments binlog_gtid_index_hit
|
# BINLOG_GTID_POS() has a side effect: it increments binlog_gtid_index_hit
|
||||||
--disable_ps2_protocol
|
--disable_ps2_protocol
|
||||||
FLUSH NO_WRITE_TO_BINLOG STATUS;
|
FLUSH NO_WRITE_TO_BINLOG GLOBAL STATUS;
|
||||||
--echo +++ Initial status:
|
--echo +++ Initial status:
|
||||||
SHOW STATUS LIKE 'binlog_gtid_index_%';
|
SHOW STATUS LIKE 'binlog_gtid_index_%';
|
||||||
--echo +++ GTID Lookup in good index.
|
--echo +++ GTID Lookup in good index.
|
||||||
|
@ -101,7 +101,7 @@ DROP TABLE t1;
|
|||||||
# Actually this test has nothing to do with innodb per se, it just requires
|
# Actually this test has nothing to do with innodb per se, it just requires
|
||||||
# transactional table.
|
# transactional table.
|
||||||
#
|
#
|
||||||
flush status;
|
flush global status;
|
||||||
show status like "binlog_cache_use";
|
show status like "binlog_cache_use";
|
||||||
show status like "binlog_cache_disk_use";
|
show status like "binlog_cache_disk_use";
|
||||||
|
|
||||||
|
@ -261,7 +261,7 @@ Rpl_semi_sync_master_no_tx 12
|
|||||||
SHOW STATUS LIKE 'Rpl_semi_sync_master_yes_tx';
|
SHOW STATUS LIKE 'Rpl_semi_sync_master_yes_tx';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Rpl_semi_sync_master_yes_tx 15
|
Rpl_semi_sync_master_yes_tx 15
|
||||||
FLUSH NO_WRITE_TO_BINLOG STATUS;
|
FLUSH NO_WRITE_TO_BINLOG GLOBAL STATUS;
|
||||||
[ Semi-sync master status variables after FLUSH STATUS ]
|
[ Semi-sync master status variables after FLUSH STATUS ]
|
||||||
SHOW STATUS LIKE 'Rpl_semi_sync_master_no_tx';
|
SHOW STATUS LIKE 'Rpl_semi_sync_master_no_tx';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
|
@ -4,7 +4,7 @@ CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB;
|
|||||||
INSERT INTO t1 VALUES (1);
|
INSERT INTO t1 VALUES (1);
|
||||||
connection node_2;
|
connection node_2;
|
||||||
RESET QUERY CACHE;
|
RESET QUERY CACHE;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SELECT COUNT(*) FROM t1;
|
SELECT COUNT(*) FROM t1;
|
||||||
COUNT(*)
|
COUNT(*)
|
||||||
1
|
1
|
||||||
@ -20,7 +20,7 @@ VARIABLE_VALUE = 1
|
|||||||
connection node_1;
|
connection node_1;
|
||||||
INSERT INTO t1 VALUES (2);
|
INSERT INTO t1 VALUES (2);
|
||||||
connection node_2;
|
connection node_2;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
|
SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
|
||||||
VARIABLE_VALUE = 0
|
VARIABLE_VALUE = 0
|
||||||
1
|
1
|
||||||
@ -42,7 +42,7 @@ VARIABLE_VALUE = 1
|
|||||||
connection node_1;
|
connection node_1;
|
||||||
ALTER TABLE t1 ADD COLUMN f2 INTEGER;
|
ALTER TABLE t1 ADD COLUMN f2 INTEGER;
|
||||||
connection node_2;
|
connection node_2;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
|
SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
|
||||||
VARIABLE_VALUE = 0
|
VARIABLE_VALUE = 0
|
||||||
1
|
1
|
||||||
|
@ -17,7 +17,7 @@ INSERT INTO t1 VALUES (1);
|
|||||||
|
|
||||||
--connection node_2
|
--connection node_2
|
||||||
RESET QUERY CACHE;
|
RESET QUERY CACHE;
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
|
|
||||||
#
|
#
|
||||||
# 1. Cache works
|
# 1. Cache works
|
||||||
@ -37,7 +37,7 @@ SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_
|
|||||||
INSERT INTO t1 VALUES (2);
|
INSERT INTO t1 VALUES (2);
|
||||||
|
|
||||||
--connection node_2
|
--connection node_2
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
|
|
||||||
SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
|
SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
|
||||||
SELECT COUNT(*) FROM t1;
|
SELECT COUNT(*) FROM t1;
|
||||||
@ -55,7 +55,7 @@ SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_
|
|||||||
ALTER TABLE t1 ADD COLUMN f2 INTEGER;
|
ALTER TABLE t1 ADD COLUMN f2 INTEGER;
|
||||||
|
|
||||||
--connection node_2
|
--connection node_2
|
||||||
FLUSH STATUS;
|
FLUSH GLOBAL STATUS;
|
||||||
|
|
||||||
SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
|
SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Qcache_queries_in_cache';
|
||||||
SELECT COUNT(*) FROM t1;
|
SELECT COUNT(*) FROM t1;
|
||||||
|
@ -75,7 +75,7 @@ truncate table performance_schema.hosts;
|
|||||||
|
|
||||||
# Start from a known clean state, to avoid noise from previous tests
|
# Start from a known clean state, to avoid noise from previous tests
|
||||||
flush tables;
|
flush tables;
|
||||||
flush status;
|
flush global status;
|
||||||
|
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
drop procedure if exists dump_all;
|
drop procedure if exists dump_all;
|
||||||
|
@ -145,7 +145,7 @@ update performance_schema.setup_instruments set enabled='YES', timed='YES'
|
|||||||
|
|
||||||
# Start from a known clean state, to avoid noise from previous tests
|
# Start from a known clean state, to avoid noise from previous tests
|
||||||
flush tables;
|
flush tables;
|
||||||
flush status;
|
flush global status;
|
||||||
truncate performance_schema.events_waits_summary_by_thread_by_event_name;
|
truncate performance_schema.events_waits_summary_by_thread_by_event_name;
|
||||||
truncate performance_schema.events_waits_summary_by_account_by_event_name;
|
truncate performance_schema.events_waits_summary_by_account_by_event_name;
|
||||||
truncate performance_schema.events_waits_summary_by_user_by_event_name;
|
truncate performance_schema.events_waits_summary_by_user_by_event_name;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Set a known initial state for the test
|
# Set a known initial state for the test
|
||||||
|
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -106,7 +106,7 @@ update performance_schema.setup_instruments set enabled='YES', timed='YES'
|
|||||||
|
|
||||||
# Start from a known clean state, to avoid noise from previous tests
|
# Start from a known clean state, to avoid noise from previous tests
|
||||||
flush tables;
|
flush tables;
|
||||||
flush status;
|
flush global status;
|
||||||
truncate performance_schema.memory_summary_by_thread_by_event_name;
|
truncate performance_schema.memory_summary_by_thread_by_event_name;
|
||||||
truncate performance_schema.memory_summary_by_account_by_event_name;
|
truncate performance_schema.memory_summary_by_account_by_event_name;
|
||||||
truncate performance_schema.memory_summary_by_user_by_event_name;
|
truncate performance_schema.memory_summary_by_user_by_event_name;
|
||||||
|
@ -69,7 +69,7 @@ update performance_schema.setup_instruments set enabled='YES', timed='YES';
|
|||||||
|
|
||||||
# Start from a known clean state, to avoid noise from previous tests
|
# Start from a known clean state, to avoid noise from previous tests
|
||||||
flush tables;
|
flush tables;
|
||||||
flush status;
|
flush global status;
|
||||||
truncate performance_schema.events_stages_summary_by_thread_by_event_name;
|
truncate performance_schema.events_stages_summary_by_thread_by_event_name;
|
||||||
truncate performance_schema.events_stages_summary_global_by_event_name;
|
truncate performance_schema.events_stages_summary_global_by_event_name;
|
||||||
truncate performance_schema.events_stages_history;
|
truncate performance_schema.events_stages_history;
|
||||||
|
@ -133,7 +133,7 @@ update performance_schema.setup_consumers set enabled='YES';
|
|||||||
|
|
||||||
# Start from a known clean state, to avoid noise from previous tests
|
# Start from a known clean state, to avoid noise from previous tests
|
||||||
flush tables;
|
flush tables;
|
||||||
flush status;
|
flush global status;
|
||||||
|
|
||||||
create table test.t1(a int, b int, c int, d int default 0,
|
create table test.t1(a int, b int, c int, d int default 0,
|
||||||
primary key(a),
|
primary key(a),
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
update performance_schema.setup_consumers set enabled='NO';
|
update performance_schema.setup_consumers set enabled='NO';
|
||||||
truncate performance_schema.events_waits_history_long;
|
truncate performance_schema.events_waits_history_long;
|
||||||
drop table test.marker;
|
drop table test.marker;
|
||||||
flush status;
|
flush global status;
|
||||||
update performance_schema.setup_instruments set enabled='YES';
|
update performance_schema.setup_instruments set enabled='YES';
|
||||||
update performance_schema.setup_consumers set enabled='YES';
|
update performance_schema.setup_consumers set enabled='YES';
|
||||||
|
|
||||||
|
@ -18,5 +18,5 @@ show global status like 'performance_schema_%';
|
|||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
truncate performance_schema.events_waits_history_long;
|
truncate performance_schema.events_waits_history_long;
|
||||||
flush status;
|
flush global status;
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ update performance_schema.setup_instruments set enabled='YES'
|
|||||||
truncate table performance_schema.events_waits_history_long;
|
truncate table performance_schema.events_waits_history_long;
|
||||||
|
|
||||||
# Reset lost counters to a known state
|
# Reset lost counters to a known state
|
||||||
flush status;
|
flush global status;
|
||||||
|
|
||||||
# Make sure there is room to instrument tables from this test.
|
# Make sure there is room to instrument tables from this test.
|
||||||
flush tables;
|
flush tables;
|
||||||
|
@ -5,7 +5,7 @@ update performance_schema.setup_instruments set enabled='NO';
|
|||||||
update performance_schema.setup_instruments set enabled='YES'
|
update performance_schema.setup_instruments set enabled='YES'
|
||||||
where name like "wait/io/table/%";
|
where name like "wait/io/table/%";
|
||||||
truncate table performance_schema.events_waits_history_long;
|
truncate table performance_schema.events_waits_history_long;
|
||||||
flush status;
|
flush global status;
|
||||||
flush tables;
|
flush tables;
|
||||||
drop table if exists test.no_index_tab;
|
drop table if exists test.no_index_tab;
|
||||||
update performance_schema.setup_consumers set enabled='YES';
|
update performance_schema.setup_consumers set enabled='YES';
|
||||||
@ -136,10 +136,10 @@ Performance_schema_thread_classes_lost 0
|
|||||||
Performance_schema_thread_instances_lost 0
|
Performance_schema_thread_instances_lost 0
|
||||||
Performance_schema_users_lost 0
|
Performance_schema_users_lost 0
|
||||||
truncate performance_schema.events_waits_history_long;
|
truncate performance_schema.events_waits_history_long;
|
||||||
flush status;
|
flush global status;
|
||||||
update performance_schema.setup_consumers set enabled='NO';
|
update performance_schema.setup_consumers set enabled='NO';
|
||||||
truncate performance_schema.events_waits_history_long;
|
truncate performance_schema.events_waits_history_long;
|
||||||
drop table test.marker;
|
drop table test.marker;
|
||||||
flush status;
|
flush global status;
|
||||||
update performance_schema.setup_instruments set enabled='YES';
|
update performance_schema.setup_instruments set enabled='YES';
|
||||||
update performance_schema.setup_consumers set enabled='YES';
|
update performance_schema.setup_consumers set enabled='YES';
|
||||||
|
@ -4,7 +4,7 @@ WHERE name LIKE 'wait/io/file/%';
|
|||||||
update performance_schema.threads SET instrumented = 'YES'
|
update performance_schema.threads SET instrumented = 'YES'
|
||||||
WHERE PROCESSLIST_ID=connection_id();
|
WHERE PROCESSLIST_ID=connection_id();
|
||||||
truncate table performance_schema.events_statements_summary_by_digest;
|
truncate table performance_schema.events_statements_summary_by_digest;
|
||||||
flush status;
|
flush global status;
|
||||||
DROP TABLE IF EXISTS t1;
|
DROP TABLE IF EXISTS t1;
|
||||||
CREATE TABLE t1 (id INT PRIMARY KEY, b CHAR(100) DEFAULT 'initial value')
|
CREATE TABLE t1 (id INT PRIMARY KEY, b CHAR(100) DEFAULT 'initial value')
|
||||||
ENGINE=MyISAM;
|
ENGINE=MyISAM;
|
||||||
|
@ -3,7 +3,7 @@ UPDATE performance_schema.setup_instruments SET enabled = 'YES'
|
|||||||
WHERE name LIKE 'wait/synch/mutex/%'
|
WHERE name LIKE 'wait/synch/mutex/%'
|
||||||
OR name LIKE 'wait/synch/rwlock/%';
|
OR name LIKE 'wait/synch/rwlock/%';
|
||||||
truncate table performance_schema.events_statements_summary_by_digest;
|
truncate table performance_schema.events_statements_summary_by_digest;
|
||||||
flush status;
|
flush global status;
|
||||||
select NAME from performance_schema.mutex_instances
|
select NAME from performance_schema.mutex_instances
|
||||||
where NAME = 'wait/synch/mutex/mysys/THR_LOCK::mutex' GROUP BY NAME;
|
where NAME = 'wait/synch/mutex/mysys/THR_LOCK::mutex' GROUP BY NAME;
|
||||||
NAME
|
NAME
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("santa.claus.ipv4.example.com");
|
call mtr.add_suppression("santa.claus.ipv4.example.com");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("santa.claus.ipv4.example.com");
|
call mtr.add_suppression("santa.claus.ipv4.example.com");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("santa.claus.ipv4.example.com");
|
call mtr.add_suppression("santa.claus.ipv4.example.com");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("santa.claus.ipv4.example.com");
|
call mtr.add_suppression("santa.claus.ipv4.example.com");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("192.0.2.4");
|
call mtr.add_suppression("192.0.2.4");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("192.0.2.4");
|
call mtr.add_suppression("192.0.2.4");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("santa.claus.ipv4.example.com");
|
call mtr.add_suppression("santa.claus.ipv4.example.com");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("santa.claus.ipv4.example.com");
|
call mtr.add_suppression("santa.claus.ipv4.example.com");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
install soname 'auth_ed25519';
|
install soname 'auth_ed25519';
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("192.0.2.4");
|
call mtr.add_suppression("192.0.2.4");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("192.0.2.4");
|
call mtr.add_suppression("192.0.2.4");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("192.0.2.4");
|
call mtr.add_suppression("192.0.2.4");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("192.0.2.4");
|
call mtr.add_suppression("192.0.2.4");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("192.0.2.4");
|
call mtr.add_suppression("192.0.2.4");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("santa.claus.ipv6.example.com");
|
call mtr.add_suppression("santa.claus.ipv6.example.com");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("santa.claus.ipv6.example.com");
|
call mtr.add_suppression("santa.claus.ipv6.example.com");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("santa.claus.ipv6.example.com");
|
call mtr.add_suppression("santa.claus.ipv6.example.com");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("santa.claus.ipv6.example.com");
|
call mtr.add_suppression("santa.claus.ipv6.example.com");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("192.0.2.4");
|
call mtr.add_suppression("192.0.2.4");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("santa.claus.ipv6.example.com");
|
call mtr.add_suppression("santa.claus.ipv6.example.com");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("santa.claus.ipv6.example.com");
|
call mtr.add_suppression("santa.claus.ipv6.example.com");
|
||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
flush status;
|
flush global status;
|
||||||
flush hosts;
|
flush hosts;
|
||||||
flush user_resources;
|
flush user_resources;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user