summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2022-12-14 06:20:04 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2022-12-14 06:20:04 +0200
commitf97f6955bdaec26774488cf9c7bcefca0cc767d4 (patch)
tree266210edb99179220e0efe5d72ae7147faafa99b
parent87eccd78a791ff3acfa00914254f0bf858a14aa4 (diff)
parent697dbd15e0102f33fba1d1d6d9aa964b638f9534 (diff)
downloadmariadb-git-f97f6955bdaec26774488cf9c7bcefca0cc767d4.tar.gz
Merge 10.3 into 10.4
-rw-r--r--mysql-test/main/log_slow.result22
-rw-r--r--mysql-test/main/log_slow.test21
-rw-r--r--scripts/mysql_install_db.sh4
-rw-r--r--sql/sql_parse.cc2
4 files changed, 43 insertions, 6 deletions
diff --git a/mysql-test/main/log_slow.result b/mysql-test/main/log_slow.result
index 31d52ff0323..6b9fddb7fb6 100644
--- a/mysql-test/main/log_slow.result
+++ b/mysql-test/main/log_slow.result
@@ -64,7 +64,7 @@ rows_affected int(11) NO NULL
flush slow logs;
set long_query_time=0.1;
set log_slow_filter='';
-set global slow_query_log=1;
+set slow_query_log=1;
set global log_output='TABLE';
select sleep(0.5);
sleep(0.5)
@@ -73,7 +73,7 @@ select count(*) FROM mysql.slow_log;
count(*)
1
set @@long_query_time=default;
-set global slow_query_log= @org_slow_query_log;
+set @@slow_query_log=default;
set @@log_slow_filter=default;
set @@log_slow_verbosity=default;
set global log_output= default;
@@ -115,3 +115,21 @@ Slow_queries_increment
SET log_slow_filter=DEFAULT;
SET @@long_query_time=default;
SET GLOBAL slow_query_log= @org_slow_query_log;
+#
+# MDEV-21187: log_slow_filter="" logs queries not using indexes
+#
+flush status;
+create table t (id int);
+insert into t values (1),(4);
+set log_slow_filter='';
+select * from t;
+id
+1
+4
+show session status like 'Slow_queries';
+Variable_name Value
+Slow_queries 0
+drop table t;
+#
+# End of 10.3 tests
+#
diff --git a/mysql-test/main/log_slow.test b/mysql-test/main/log_slow.test
index b51777d859e..d2e314cf667 100644
--- a/mysql-test/main/log_slow.test
+++ b/mysql-test/main/log_slow.test
@@ -50,14 +50,14 @@ flush slow logs;
# MDEV-4206 (empty filter should be no filter)
set long_query_time=0.1;
set log_slow_filter='';
-set global slow_query_log=1;
+set slow_query_log=1;
set global log_output='TABLE';
select sleep(0.5);
select count(*) FROM mysql.slow_log;
# Reset used variables
set @@long_query_time=default;
-set global slow_query_log= @org_slow_query_log;
+set @@slow_query_log=default;
set @@log_slow_filter=default;
set @@log_slow_verbosity=default;
set global log_output= default;
@@ -102,3 +102,20 @@ SET log_slow_filter=DEFAULT;
SET @@long_query_time=default;
SET GLOBAL slow_query_log= @org_slow_query_log;
+
+--echo #
+--echo # MDEV-21187: log_slow_filter="" logs queries not using indexes
+--echo #
+
+flush status;
+create table t (id int);
+insert into t values (1),(4);
+set log_slow_filter='';
+select * from t;
+show session status like 'Slow_queries';
+
+drop table t;
+
+--echo #
+--echo # End of 10.3 tests
+--echo #
diff --git a/scripts/mysql_install_db.sh b/scripts/mysql_install_db.sh
index 7e6e256db70..e358aeea551 100644
--- a/scripts/mysql_install_db.sh
+++ b/scripts/mysql_install_db.sh
@@ -148,7 +148,9 @@ parse_arguments()
--builddir=*) builddir=`parse_arg "$arg"` ;;
--srcdir=*) srcdir=`parse_arg "$arg"` ;;
--ldata=*|--datadir=*|--data=*) ldata=`parse_arg "$arg"` ;;
- --log-error=*)
+ --log[-_]error=*)
+ # Keep in the arguments passed to the server
+ args="$args $arg"
log_error=`parse_arg "$arg"` ;;
# Note that the user will be passed to mysqld so that it runs
# as 'user' (crucial e.g. if log-bin=/some_other_path/
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 9d148895abe..f76e16153e0 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -2544,7 +2544,7 @@ void log_slow_statement(THD *thd)
if ((thd->server_status &
(SERVER_QUERY_NO_INDEX_USED | SERVER_QUERY_NO_GOOD_INDEX_USED)) &&
!(thd->query_plan_flags & QPLAN_STATUS) &&
- !slow_filter_masked(thd, QPLAN_NOT_USING_INDEX))
+ (thd->variables.log_slow_filter & QPLAN_NOT_USING_INDEX))
{
thd->query_plan_flags|= QPLAN_NOT_USING_INDEX;
/* We are always logging no index queries if enabled in filter */