mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-34539 Invalid "use" and "Schema" in slow query log file with multi-line schema
quote a database name in the slow log
This commit is contained in:
@ -181,6 +181,30 @@ SET @@global.slow_query_log= @old_slow_query_log;
|
|||||||
SET SESSION slow_query_log=default;
|
SET SESSION slow_query_log=default;
|
||||||
drop table tab_MDEV_30820, tab2;
|
drop table tab_MDEV_30820, tab2;
|
||||||
drop function get_zero;
|
drop function get_zero;
|
||||||
#
|
|
||||||
# End of 10.4 tests
|
# End of 10.4 tests
|
||||||
#
|
#
|
||||||
|
# MDEV-34539 Invalid "use" and "Schema" in slow query log file with multi-line schema
|
||||||
|
#
|
||||||
|
set global log_output='file';
|
||||||
|
set @@log_slow_filter= 'not_using_index';
|
||||||
|
set slow_query_log=1;
|
||||||
|
set timestamp=1234567890;
|
||||||
|
create database `a
|
||||||
|
b`;
|
||||||
|
use `a
|
||||||
|
b`;
|
||||||
|
select count(*) from mysql.global_priv where length(priv)>2;
|
||||||
|
count(*)
|
||||||
|
5
|
||||||
|
drop database `a
|
||||||
|
b`;
|
||||||
|
use test;
|
||||||
|
set global log_output= @old_log_output;
|
||||||
|
set slow_query_log=default;
|
||||||
|
set log_slow_filter=default;
|
||||||
|
set timestamp=default;
|
||||||
|
use `a
|
||||||
|
b`;
|
||||||
|
SET timestamp=1234567890;
|
||||||
|
select count(*) from mysql.global_priv where length(priv)>2
|
||||||
|
# End of 10.5 tests
|
||||||
|
@ -186,6 +186,33 @@ drop function get_zero;
|
|||||||
--enable_ps2_protocol
|
--enable_ps2_protocol
|
||||||
--enable_view_protocol
|
--enable_view_protocol
|
||||||
|
|
||||||
--echo #
|
|
||||||
--echo # End of 10.4 tests
|
--echo # End of 10.4 tests
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
|
--echo # MDEV-34539 Invalid "use" and "Schema" in slow query log file with multi-line schema
|
||||||
|
--echo #
|
||||||
|
set global log_output='file';
|
||||||
|
set @@log_slow_filter= 'not_using_index';
|
||||||
|
set slow_query_log=1;
|
||||||
|
set timestamp=1234567890;
|
||||||
|
create database `a
|
||||||
|
b`;
|
||||||
|
use `a
|
||||||
|
b`;
|
||||||
|
--disable_ps_protocol
|
||||||
|
select count(*) from mysql.global_priv where length(priv)>2;
|
||||||
|
--enable_ps_protocol
|
||||||
|
drop database `a
|
||||||
|
b`;
|
||||||
|
use test;
|
||||||
|
set global log_output= @old_log_output;
|
||||||
|
set slow_query_log=default;
|
||||||
|
set log_slow_filter=default;
|
||||||
|
set timestamp=default;
|
||||||
|
|
||||||
|
let SEARCH_FILE=`select @@slow_query_log_file`;
|
||||||
|
let SEARCH_PATTERN=use.*2;
|
||||||
|
let SEARCH_OUTPUT=matches;
|
||||||
|
source include/search_pattern_in_file.inc;
|
||||||
|
|
||||||
|
--echo # End of 10.5 tests
|
||||||
|
@ -3324,7 +3324,7 @@ bool MYSQL_QUERY_LOG::write(THD *thd, time_t current_time,
|
|||||||
}
|
}
|
||||||
if (thd->db.str && strcmp(thd->db.str, db))
|
if (thd->db.str && strcmp(thd->db.str, db))
|
||||||
{ // Database changed
|
{ // Database changed
|
||||||
if (my_b_printf(&log_file,"use %s;\n",thd->db.str))
|
if (my_b_printf(&log_file,"use %`s;\n",thd->db.str))
|
||||||
goto err;
|
goto err;
|
||||||
strmov(db,thd->db.str);
|
strmov(db,thd->db.str);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user