mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
merge 10.0-base -> 10.0
This commit is contained in:
@@ -1933,6 +1933,152 @@ select @@query_cache_size, @@global.query_cache_type, @@local.query_cache_type;
|
||||
@@query_cache_size @@global.query_cache_type @@local.query_cache_type
|
||||
20971520 ON ON
|
||||
#
|
||||
# MDEV-4981: Account for queries handled by query-cache in
|
||||
# USER_STATISTICS (and in HOST_STATISTICS)
|
||||
#
|
||||
SET GLOBAL userstat=1;
|
||||
set GLOBAL query_cache_size=1355776;
|
||||
FLUSH USER_STATISTICS;
|
||||
FLUSH CLIENT_STATISTICS;
|
||||
reset query cache;
|
||||
flush status;
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1);
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
1 1 0
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
2 2 0
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 0
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
5 5 0
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
6 6 0
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 2
|
||||
drop table t1;
|
||||
FLUSH USER_STATISTICS;
|
||||
FLUSH CLIENT_STATISTICS;
|
||||
flush status;
|
||||
create table t1 (a int);
|
||||
select * from t1;
|
||||
a
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
1 0 1
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
2 1 1
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 0
|
||||
select * from t1;
|
||||
a
|
||||
select * from t1;
|
||||
a
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
5 2 3
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
6 3 3
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 2
|
||||
FLUSH USER_STATISTICS;
|
||||
FLUSH CLIENT_STATISTICS;
|
||||
flush status;
|
||||
create procedure p1()
|
||||
select * from t1;
|
||||
call p1;
|
||||
a
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
1 0 1
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
2 1 1
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 0
|
||||
call p1;
|
||||
a
|
||||
call p1;
|
||||
a
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
5 2 3
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
6 3 3
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 2
|
||||
FLUSH USER_STATISTICS;
|
||||
FLUSH CLIENT_STATISTICS;
|
||||
flush status;
|
||||
SET GLOBAL query_cache_size= 0;
|
||||
call p1;
|
||||
a
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
1 0 1
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
2 1 1
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 0
|
||||
call p1;
|
||||
a
|
||||
call p1;
|
||||
a
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
5 2 3
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
SELECT_COMMANDS ROWS_SENT EMPTY_QUERIES
|
||||
6 3 3
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 0
|
||||
drop procedure p1;
|
||||
drop table t1;
|
||||
set GLOBAL query_cache_size=1355776;
|
||||
SET GLOBAL userstat=default;
|
||||
End of 5.5 tests
|
||||
#
|
||||
# Bug#12977203: SERVER CRASH ON A DERIVED TABLE WITH QUERY CACHE ENABLED
|
||||
#
|
||||
SET @qc= @@query_cache_size;
|
||||
@@ -1944,8 +2090,6 @@ COUNT(*)
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL query_cache_size= @qc;
|
||||
#
|
||||
End of 5.5 tests
|
||||
#
|
||||
# MDEV-617 LP:671189 - Query cache is not used for tables or
|
||||
# databases with dots in their names
|
||||
#
|
||||
|
@@ -4873,6 +4873,52 @@ execute s;
|
||||
deallocate prepare s;
|
||||
drop view v1;
|
||||
drop tables t1,t2;
|
||||
#
|
||||
# MDEV-5034 (duplicate of MDEV-5107):
|
||||
# Left Join Yields All Nulls Instead of Appropriate Matches
|
||||
#
|
||||
# test #1
|
||||
CREATE TABLE t1 (state VARCHAR(32), INDEX(state));
|
||||
INSERT INTO t1 VALUES ('Indiana'),('Vermont');
|
||||
CREATE TABLE t2 (state VARCHAR(32));
|
||||
INSERT INTO t2 VALUES ('Hawaii'),('Oregon'),('Vermont');
|
||||
CREATE ALGORITHM=MERGE VIEW v1 AS SELECT t1.* FROM t2, t1;
|
||||
SELECT * FROM t1 AS outer_t1 LEFT JOIN v1 AS joined_t1
|
||||
ON (joined_t1.state = outer_t1.state AND joined_t1.state IN ( SELECT 'Vermont' UNION SELECT 'Florida' ) );
|
||||
state state
|
||||
Indiana NULL
|
||||
Vermont Vermont
|
||||
Vermont Vermont
|
||||
Vermont Vermont
|
||||
SELECT * FROM t1 AS outer_t1 LEFT JOIN (SELECT t1.* FROM t2, t1) AS joined_t1 ON (joined_t1.state = outer_t1.state AND joined_t1.state IN ( SELECT 'Vermont' UNION SELECT 'Florida' ) );
|
||||
state state
|
||||
Indiana NULL
|
||||
Vermont Vermont
|
||||
Vermont Vermont
|
||||
Vermont Vermont
|
||||
drop view v1;
|
||||
drop table t1, t2;
|
||||
# test #1
|
||||
CREATE TABLE t1 (a INT, b VARCHAR(1), INDEX(b,a));
|
||||
INSERT INTO t1 VALUES (4,'p'),(1,'q'),(9,'w');
|
||||
CREATE TABLE t2 (c VARCHAR(1), INDEX(c));
|
||||
INSERT INTO t2 VALUES ('q'),('a');
|
||||
CREATE ALGORITHM=MERGE VIEW v1 AS SELECT t1a.* FROM t1, t1 AS t1a;
|
||||
SELECT * FROM t2 LEFT JOIN v1 ON ( c=b AND a IN ( 1,6 ) );
|
||||
c a b
|
||||
a NULL NULL
|
||||
q 1 q
|
||||
q 1 q
|
||||
q 1 q
|
||||
CREATE OR REPLACE ALGORITHM=TEMPTABLE VIEW v1 AS SELECT t1a.* FROM t1, t1 AS t1a;
|
||||
SELECT * FROM t2 LEFT JOIN v1 ON ( c=b AND a IN ( 1,6 ) );
|
||||
c a b
|
||||
a NULL NULL
|
||||
q 1 q
|
||||
q 1 q
|
||||
q 1 q
|
||||
drop view v1;
|
||||
drop table t1,t2;
|
||||
# -----------------------------------------------------------------
|
||||
# -- End of 5.3 tests.
|
||||
# -----------------------------------------------------------------
|
||||
@@ -4917,7 +4963,7 @@ create algorithm=merge view v1 as select t1.a as a, (select max(b) from t2 where
|
||||
explain extended
|
||||
select * from v1;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 100.00
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 6 100.00
|
||||
3 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 6 100.00 Using where
|
||||
Warnings:
|
||||
Note 1276 Field or reference 'test.t1.a' of SELECT #3 was resolved in SELECT #2
|
||||
@@ -4933,8 +4979,8 @@ a c
|
||||
explain extended
|
||||
select * from t2, v1 where t2.a=v1.a;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 6 100.00
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 100.00 Using where; Using join buffer (flat, BNL join)
|
||||
1 PRIMARY t2 ALL NULL NULL NULL NULL 6 100.00
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 6 100.00 Using where; Using join buffer (flat, BNL join)
|
||||
3 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 6 100.00 Using where
|
||||
Warnings:
|
||||
Note 1276 Field or reference 'test.t1.a' of SELECT #3 was resolved in SELECT #2
|
||||
@@ -4952,8 +4998,8 @@ a b a c
|
||||
explain extended
|
||||
select * from t1, v1 where t1.a=v1.a;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 100.00
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 100.00 Using where; Using join buffer (flat, BNL join)
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 6 100.00
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 6 100.00 Using where; Using join buffer (flat, BNL join)
|
||||
3 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 6 100.00 Using where
|
||||
Warnings:
|
||||
Note 1276 Field or reference 'test.t1.a' of SELECT #3 was resolved in SELECT #2
|
||||
@@ -4971,8 +5017,8 @@ a b a c
|
||||
explain extended
|
||||
select * from t1, v1 where t1.b=v1.c;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 100.00
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 100.00 Using where; Using join buffer (flat, BNL join)
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 6 100.00
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 6 100.00 Using where; Using join buffer (flat, BNL join)
|
||||
3 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 6 100.00 Using where
|
||||
Warnings:
|
||||
Note 1276 Field or reference 'test.t1.a' of SELECT #3 was resolved in SELECT #2
|
||||
@@ -4988,9 +5034,9 @@ a b a c
|
||||
explain extended
|
||||
select * from t2, t1, v1 where t1.a=t2.a and t1.a=v1.a;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 6 100.00
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 100.00 Using where; Using join buffer (flat, BNL join)
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 100.00 Using where; Using join buffer (incremental, BNL join)
|
||||
1 PRIMARY t2 ALL NULL NULL NULL NULL 6 100.00
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 6 100.00 Using where; Using join buffer (flat, BNL join)
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 6 100.00 Using where; Using join buffer (incremental, BNL join)
|
||||
3 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 6 100.00 Using where
|
||||
Warnings:
|
||||
Note 1276 Field or reference 'test.t1.a' of SELECT #3 was resolved in SELECT #2
|
||||
|
@@ -1617,6 +1617,99 @@ select @@query_cache_size, @@global.query_cache_type, @@local.query_cache_type;
|
||||
set local query_cache_type= on;
|
||||
select @@query_cache_size, @@global.query_cache_type, @@local.query_cache_type;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-4981: Account for queries handled by query-cache in
|
||||
--echo # USER_STATISTICS (and in HOST_STATISTICS)
|
||||
--echo #
|
||||
|
||||
SET GLOBAL userstat=1;
|
||||
set GLOBAL query_cache_size=1355776;
|
||||
FLUSH USER_STATISTICS;
|
||||
FLUSH CLIENT_STATISTICS;
|
||||
reset query cache;
|
||||
flush status;
|
||||
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1);
|
||||
select * from t1;
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
show status like "Qcache_hits";
|
||||
select * from t1;
|
||||
select * from t1;
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
show status like "Qcache_hits";
|
||||
|
||||
drop table t1;
|
||||
FLUSH USER_STATISTICS;
|
||||
FLUSH CLIENT_STATISTICS;
|
||||
flush status;
|
||||
|
||||
create table t1 (a int);
|
||||
select * from t1;
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
show status like "Qcache_hits";
|
||||
select * from t1;
|
||||
select * from t1;
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
show status like "Qcache_hits";
|
||||
|
||||
FLUSH USER_STATISTICS;
|
||||
FLUSH CLIENT_STATISTICS;
|
||||
flush status;
|
||||
|
||||
create procedure p1()
|
||||
select * from t1;
|
||||
call p1;
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
show status like "Qcache_hits";
|
||||
call p1;
|
||||
call p1;
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
show status like "Qcache_hits";
|
||||
|
||||
FLUSH USER_STATISTICS;
|
||||
FLUSH CLIENT_STATISTICS;
|
||||
flush status;
|
||||
|
||||
SET GLOBAL query_cache_size= 0;
|
||||
call p1;
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
show status like "Qcache_hits";
|
||||
call p1;
|
||||
call p1;
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.CLIENT_STATISTICS
|
||||
where CLIENT="localhost";
|
||||
select SELECT_COMMANDS,ROWS_SENT,EMPTY_QUERIES from INFORMATION_SCHEMA.USER_STATISTICS
|
||||
where USER="root";
|
||||
show status like "Qcache_hits";
|
||||
drop procedure p1;
|
||||
drop table t1;
|
||||
set GLOBAL query_cache_size=1355776;
|
||||
SET GLOBAL userstat=default;
|
||||
|
||||
--echo End of 5.5 tests
|
||||
|
||||
--echo #
|
||||
--echo # Bug#12977203: SERVER CRASH ON A DERIVED TABLE WITH QUERY CACHE ENABLED
|
||||
--echo #
|
||||
@@ -1626,9 +1719,6 @@ CREATE TABLE t1 (f1 blob);
|
||||
SELECT COUNT(*) FROM (SELECT * FROM t1 ) tt;
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL query_cache_size= @qc;
|
||||
--echo #
|
||||
|
||||
--echo End of 5.5 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-617 LP:671189 - Query cache is not used for tables or
|
||||
|
@@ -4808,6 +4808,43 @@ deallocate prepare s;
|
||||
drop view v1;
|
||||
drop tables t1,t2;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-5034 (duplicate of MDEV-5107):
|
||||
--echo # Left Join Yields All Nulls Instead of Appropriate Matches
|
||||
--echo #
|
||||
|
||||
--echo # test #1
|
||||
|
||||
CREATE TABLE t1 (state VARCHAR(32), INDEX(state));
|
||||
INSERT INTO t1 VALUES ('Indiana'),('Vermont');
|
||||
|
||||
CREATE TABLE t2 (state VARCHAR(32));
|
||||
INSERT INTO t2 VALUES ('Hawaii'),('Oregon'),('Vermont');
|
||||
|
||||
CREATE ALGORITHM=MERGE VIEW v1 AS SELECT t1.* FROM t2, t1;
|
||||
SELECT * FROM t1 AS outer_t1 LEFT JOIN v1 AS joined_t1
|
||||
ON (joined_t1.state = outer_t1.state AND joined_t1.state IN ( SELECT 'Vermont' UNION SELECT 'Florida' ) );
|
||||
|
||||
SELECT * FROM t1 AS outer_t1 LEFT JOIN (SELECT t1.* FROM t2, t1) AS joined_t1 ON (joined_t1.state = outer_t1.state AND joined_t1.state IN ( SELECT 'Vermont' UNION SELECT 'Florida' ) );
|
||||
|
||||
drop view v1;
|
||||
drop table t1, t2;
|
||||
|
||||
--echo # test #1
|
||||
|
||||
CREATE TABLE t1 (a INT, b VARCHAR(1), INDEX(b,a));
|
||||
INSERT INTO t1 VALUES (4,'p'),(1,'q'),(9,'w');
|
||||
|
||||
CREATE TABLE t2 (c VARCHAR(1), INDEX(c));
|
||||
INSERT INTO t2 VALUES ('q'),('a');
|
||||
CREATE ALGORITHM=MERGE VIEW v1 AS SELECT t1a.* FROM t1, t1 AS t1a;
|
||||
SELECT * FROM t2 LEFT JOIN v1 ON ( c=b AND a IN ( 1,6 ) );
|
||||
CREATE OR REPLACE ALGORITHM=TEMPTABLE VIEW v1 AS SELECT t1a.* FROM t1, t1 AS t1a;
|
||||
SELECT * FROM t2 LEFT JOIN v1 ON ( c=b AND a IN ( 1,6 ) );
|
||||
|
||||
drop view v1;
|
||||
drop table t1,t2;
|
||||
|
||||
--echo # -----------------------------------------------------------------
|
||||
--echo # -- End of 5.3 tests.
|
||||
--echo # -----------------------------------------------------------------
|
||||
|
@@ -1096,6 +1096,18 @@
|
||||
fun:_Z8filesortP3THDP5TABLEP13st_sort_fieldjP10SQL_SELECTybPy
|
||||
}
|
||||
|
||||
{
|
||||
OpenSSL still reachable.
|
||||
Memcheck:Leak
|
||||
fun:*alloc
|
||||
fun:CRYPTO_malloc
|
||||
fun:sk_new
|
||||
obj:*libssl*
|
||||
fun:SSL_COMP_get_compression_methods
|
||||
fun:SSL_library_init
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
Problem with udf and libresolve
|
||||
Memcheck:Cond
|
||||
|
@@ -2825,6 +2825,9 @@ bool one_thread_per_connection_end(THD *thd, bool put_in_cache)
|
||||
mysql_mutex_unlock(&LOCK_thread_count);
|
||||
}
|
||||
DBUG_LEAVE; // Must match DBUG_ENTER()
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
ERR_remove_state(0);
|
||||
#endif
|
||||
my_thread_end();
|
||||
|
||||
pthread_exit(0);
|
||||
@@ -4463,6 +4466,7 @@ static void init_ssl()
|
||||
opt_ssl_cipher, &error,
|
||||
opt_ssl_crl, opt_ssl_crlpath);
|
||||
DBUG_PRINT("info",("ssl_acceptor_fd: 0x%lx", (long) ssl_acceptor_fd));
|
||||
ERR_remove_state(0);
|
||||
if (!ssl_acceptor_fd)
|
||||
{
|
||||
sql_print_warning("Failed to setup SSL");
|
||||
|
@@ -3987,6 +3987,7 @@ err_during_init:
|
||||
|
||||
DBUG_LEAVE; // Must match DBUG_ENTER()
|
||||
my_thread_end();
|
||||
ERR_remove_state(0);
|
||||
pthread_exit(0);
|
||||
return 0; // Avoid compiler warnings
|
||||
}
|
||||
@@ -4475,6 +4476,7 @@ err_during_init:
|
||||
|
||||
DBUG_LEAVE; // Must match DBUG_ENTER()
|
||||
my_thread_end();
|
||||
ERR_remove_state(0);
|
||||
pthread_exit(0);
|
||||
return 0; // Avoid compiler warnings
|
||||
}
|
||||
|
@@ -3095,7 +3095,15 @@ sp_instr_stmt::execute(THD *thd, uint *nextp)
|
||||
log_slow_statement(thd);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* change statistics */
|
||||
enum_sql_command save_sql_command= thd->lex->sql_command;
|
||||
thd->lex->sql_command= SQLCOM_SELECT;
|
||||
status_var_increment(thd->status_var.com_stat[SQLCOM_SELECT]);
|
||||
thd->update_stats();
|
||||
thd->lex->sql_command= save_sql_command;
|
||||
*nextp= m_ip+1;
|
||||
}
|
||||
thd->set_query(query_backup);
|
||||
thd->query_name_consts= 0;
|
||||
|
||||
|
@@ -2132,9 +2132,13 @@ def_week_frmt: %lu, in_trans: %d, autocommit: %d",
|
||||
}
|
||||
#endif /*!EMBEDDED_LIBRARY*/
|
||||
|
||||
thd->limit_found_rows = query->found_rows();
|
||||
thd->set_sent_row_count(thd->limit_found_rows = query->found_rows());
|
||||
thd->status_var.last_query_cost= 0.0;
|
||||
thd->query_plan_flags= (thd->query_plan_flags & ~QPLAN_QC_NO) | QPLAN_QC;
|
||||
if (!thd->get_sent_row_count())
|
||||
status_var_increment(thd->status_var.empty_queries);
|
||||
else
|
||||
status_var_add(thd->status_var.rows_sent, thd->get_sent_row_count());
|
||||
|
||||
/*
|
||||
End the statement transaction potentially started by an
|
||||
|
@@ -5176,6 +5176,7 @@ static bool execute_sqlcom_select(THD *thd, TABLE_LIST *all_tables)
|
||||
/* Count number of empty select queries */
|
||||
if (!thd->get_sent_row_count())
|
||||
status_var_increment(thd->status_var.empty_queries);
|
||||
else
|
||||
status_var_add(thd->status_var.rows_sent, thd->get_sent_row_count());
|
||||
return res;
|
||||
}
|
||||
@@ -6340,6 +6341,8 @@ void mysql_parse(THD *thd, char *rawbuf, uint length,
|
||||
thd->m_statement_psi=
|
||||
MYSQL_REFINE_STATEMENT(thd->m_statement_psi,
|
||||
sql_statement_info[SQLCOM_SELECT].m_key);
|
||||
status_var_increment(thd->status_var.com_stat[SQLCOM_SELECT]);
|
||||
thd->update_stats();
|
||||
}
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
@@ -3949,6 +3949,12 @@ bool Prepared_statement::execute(String *expanded_query, bool open_cursor)
|
||||
thd->m_statement_psi= parent_locker;
|
||||
MYSQL_QUERY_EXEC_DONE(error);
|
||||
}
|
||||
else
|
||||
{
|
||||
thd->lex->sql_command= SQLCOM_SELECT;
|
||||
status_var_increment(thd->status_var.com_stat[SQLCOM_SELECT]);
|
||||
thd->update_stats();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
@@ -17150,7 +17150,15 @@ sub_select(JOIN *join,JOIN_TAB *join_tab,bool end_of_records)
|
||||
{
|
||||
DBUG_ENTER("sub_select");
|
||||
|
||||
if (join_tab->last_inner)
|
||||
{
|
||||
JOIN_TAB *last_inner_tab= join_tab->last_inner;
|
||||
for (JOIN_TAB *jt= join_tab; jt <= last_inner_tab; jt++)
|
||||
jt->table->null_row= 0;
|
||||
}
|
||||
else
|
||||
join_tab->table->null_row=0;
|
||||
|
||||
if (end_of_records)
|
||||
{
|
||||
enum_nested_loop_state nls=
|
||||
|
Reference in New Issue
Block a user