mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Merge siva.hindu.god:/usr/home/tim/m/bk/b19764/50
into siva.hindu.god:/usr/home/tim/m/bk/tmp/mrgOct16/50 sql/sql_parse.cc: Auto merged sql/sql_prepare.cc: Auto merged mysql-test/r/ps.result: Manual merge mysql-test/t/ps.test: Manual merge
This commit is contained in:
@@ -1379,4 +1379,21 @@ i
|
|||||||
1
|
1
|
||||||
DEALLOCATE PREPARE stmt;
|
DEALLOCATE PREPARE stmt;
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
|
flush status;
|
||||||
|
prepare sq from 'show status like "slow_queries"';
|
||||||
|
execute sq;
|
||||||
|
Variable_name Value
|
||||||
|
Slow_queries 0
|
||||||
|
prepare no_index from 'select 1 from information_schema.tables limit 1';
|
||||||
|
execute sq;
|
||||||
|
Variable_name Value
|
||||||
|
Slow_queries 0
|
||||||
|
execute no_index;
|
||||||
|
1
|
||||||
|
1
|
||||||
|
execute sq;
|
||||||
|
Variable_name Value
|
||||||
|
Slow_queries 1
|
||||||
|
deallocate prepare no_index;
|
||||||
|
deallocate prepare sq;
|
||||||
End of 5.0 tests.
|
End of 5.0 tests.
|
||||||
|
@@ -630,4 +630,19 @@ SHOW TABLES FROM no_such_database;
|
|||||||
ERROR 42000: Unknown database 'no_such_database'
|
ERROR 42000: Unknown database 'no_such_database'
|
||||||
SHOW COLUMNS FROM no_such_table;
|
SHOW COLUMNS FROM no_such_table;
|
||||||
ERROR 42S02: Table 'test.no_such_table' doesn't exist
|
ERROR 42S02: Table 'test.no_such_table' doesn't exist
|
||||||
|
flush status;
|
||||||
|
show status like 'slow_queries';
|
||||||
|
Variable_name Value
|
||||||
|
Slow_queries 0
|
||||||
|
show tables;
|
||||||
|
Tables_in_test
|
||||||
|
show status like 'slow_queries';
|
||||||
|
Variable_name Value
|
||||||
|
Slow_queries 0
|
||||||
|
select 1 from information_schema.tables limit 1;
|
||||||
|
1
|
||||||
|
1
|
||||||
|
show status like 'slow_queries';
|
||||||
|
Variable_name Value
|
||||||
|
Slow_queries 1
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
@@ -836,27 +836,27 @@ count(*)
|
|||||||
26
|
26
|
||||||
show status like 'Slow_queries';
|
show status like 'Slow_queries';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Slow_queries 1
|
Slow_queries 0
|
||||||
select count(*) from t1 where b=13;
|
select count(*) from t1 where b=13;
|
||||||
count(*)
|
count(*)
|
||||||
10
|
10
|
||||||
show status like 'Slow_queries';
|
show status like 'Slow_queries';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Slow_queries 3
|
Slow_queries 1
|
||||||
select count(*) from t1 where b=13 union select count(*) from t1 where a=7;
|
select count(*) from t1 where b=13 union select count(*) from t1 where a=7;
|
||||||
count(*)
|
count(*)
|
||||||
10
|
10
|
||||||
26
|
26
|
||||||
show status like 'Slow_queries';
|
show status like 'Slow_queries';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Slow_queries 5
|
Slow_queries 2
|
||||||
select count(*) from t1 where a=7 union select count(*) from t1 where b=13;
|
select count(*) from t1 where a=7 union select count(*) from t1 where b=13;
|
||||||
count(*)
|
count(*)
|
||||||
26
|
26
|
||||||
10
|
10
|
||||||
show status like 'Slow_queries';
|
show status like 'Slow_queries';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Slow_queries 7
|
Slow_queries 3
|
||||||
flush status;
|
flush status;
|
||||||
select a from t1 where b not in (1,2,3) union select a from t1 where b not in (4,5,6);
|
select a from t1 where b not in (1,2,3) union select a from t1 where b not in (4,5,6);
|
||||||
a
|
a
|
||||||
|
1
mysql-test/t/ps-master.opt
Normal file
1
mysql-test/t/ps-master.opt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
--log-slow-queries --log-long-format --log-queries-not-using-indexes
|
@@ -1437,4 +1437,18 @@ DEALLOCATE PREPARE stmt;
|
|||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug 19764: SHOW commands end up in the slow log as table scans
|
||||||
|
#
|
||||||
|
|
||||||
|
flush status;
|
||||||
|
prepare sq from 'show status like "slow_queries"';
|
||||||
|
execute sq;
|
||||||
|
prepare no_index from 'select 1 from information_schema.tables limit 1';
|
||||||
|
execute sq;
|
||||||
|
execute no_index;
|
||||||
|
execute sq;
|
||||||
|
deallocate prepare no_index;
|
||||||
|
deallocate prepare sq;
|
||||||
|
|
||||||
--echo End of 5.0 tests.
|
--echo End of 5.0 tests.
|
||||||
|
1
mysql-test/t/show_check-master.opt
Normal file
1
mysql-test/t/show_check-master.opt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
--log-slow-queries --log-long-format --log-queries-not-using-indexes
|
@@ -507,4 +507,16 @@ SHOW TABLES FROM no_such_database;
|
|||||||
SHOW COLUMNS FROM no_such_table;
|
SHOW COLUMNS FROM no_such_table;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #19764: SHOW commands end up in the slow log as table scans
|
||||||
|
#
|
||||||
|
flush status;
|
||||||
|
show status like 'slow_queries';
|
||||||
|
show tables;
|
||||||
|
show status like 'slow_queries';
|
||||||
|
# Table scan query, to ensure that slow_queries does still get incremented
|
||||||
|
# (mysqld is started with --log-queries-not-using-indexes)
|
||||||
|
select 1 from information_schema.tables limit 1;
|
||||||
|
show status like 'slow_queries';
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
@@ -2159,9 +2159,11 @@ void log_slow_statement(THD *thd)
|
|||||||
|
|
||||||
if ((ulong) (thd->start_time - thd->time_after_lock) >
|
if ((ulong) (thd->start_time - thd->time_after_lock) >
|
||||||
thd->variables.long_query_time ||
|
thd->variables.long_query_time ||
|
||||||
((thd->server_status &
|
(thd->server_status &
|
||||||
(SERVER_QUERY_NO_INDEX_USED | SERVER_QUERY_NO_GOOD_INDEX_USED)) &&
|
(SERVER_QUERY_NO_INDEX_USED | SERVER_QUERY_NO_GOOD_INDEX_USED)) &&
|
||||||
(specialflag & SPECIAL_LOG_QUERIES_NOT_USING_INDEXES)))
|
(specialflag & SPECIAL_LOG_QUERIES_NOT_USING_INDEXES) &&
|
||||||
|
/* == SQLCOM_END unless this is a SHOW command */
|
||||||
|
thd->lex->orig_sql_command == SQLCOM_END)
|
||||||
{
|
{
|
||||||
thd->status_var.long_query_count++;
|
thd->status_var.long_query_count++;
|
||||||
mysql_slow_log.write(thd, thd->query, thd->query_length, start_of_query);
|
mysql_slow_log.write(thd, thd->query, thd->query_length, start_of_query);
|
||||||
|
@@ -2929,6 +2929,12 @@ bool Prepared_statement::execute(String *expanded_query, bool open_cursor)
|
|||||||
stmt_backup.query= thd->query;
|
stmt_backup.query= thd->query;
|
||||||
stmt_backup.query_length= thd->query_length;
|
stmt_backup.query_length= thd->query_length;
|
||||||
|
|
||||||
|
/*
|
||||||
|
Save orig_sql_command as we use it to disable slow logging for SHOW
|
||||||
|
commands (see log_slow_statement()).
|
||||||
|
*/
|
||||||
|
stmt_backup.lex->orig_sql_command= thd->lex->orig_sql_command;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
At first execution of prepared statement we may perform logical
|
At first execution of prepared statement we may perform logical
|
||||||
transformations of the query tree. Such changes should be performed
|
transformations of the query tree. Such changes should be performed
|
||||||
|
Reference in New Issue
Block a user