mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
SEQUENCE tests for MDEV-18892 Regression in slow log and admin statements
Adding tests to cover how SEQUENCE related statements work in combination with the slow log configuration commands.
This commit is contained in:
20
mysql-test/include/log_slow_debug_common.inc
Normal file
20
mysql-test/include/log_slow_debug_common.inc
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
CREATE TABLE t1 (a INT);
|
||||||
|
CREATE INDEX t1a ON t1 (a);
|
||||||
|
DROP INDEX t1a ON t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t2 (a INT);
|
||||||
|
ALTER TABLE t2 RENAME t2;
|
||||||
|
RENAME TABLE t2 TO t3;
|
||||||
|
DROP TABLE t3;
|
||||||
|
CREATE TABLE t4 (a INT);
|
||||||
|
PREPARE stmt FROM 'ALTER TABLE t4 MODIFY a INT DEFAULT 1';
|
||||||
|
EXECUTE stmt;
|
||||||
|
DEALLOCATE PREPARE stmt;
|
||||||
|
DROP TABLE t4;
|
||||||
|
|
||||||
|
CREATE SEQUENCE s4;
|
||||||
|
ALTER SEQUENCE s4 MAXVALUE 100;
|
||||||
|
PREPARE stmt FROM 'ALTER SEQUENCE s4 MAXVALUE=101';
|
||||||
|
EXECUTE stmt;
|
||||||
|
DEALLOCATE PREPARE stmt;
|
||||||
|
DROP SEQUENCE s4;
|
@ -25,7 +25,7 @@ $$
|
|||||||
#
|
#
|
||||||
# Expect all admin statements in the slow log (ON,DEFAULT)
|
# Expect all admin statements in the slow log (ON,DEFAULT)
|
||||||
#
|
#
|
||||||
SET @@GLOBAL.log_slow_admin_statements=ON;
|
SET @@SESSION.log_slow_admin_statements=ON;
|
||||||
SET log_slow_filter=DEFAULT;
|
SET log_slow_filter=DEFAULT;
|
||||||
TRUNCATE TABLE mysql.slow_log;
|
TRUNCATE TABLE mysql.slow_log;
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
@ -41,7 +41,13 @@ PREPARE stmt FROM 'ALTER TABLE t4 MODIFY a INT DEFAULT 1';
|
|||||||
EXECUTE stmt;
|
EXECUTE stmt;
|
||||||
DEALLOCATE PREPARE stmt;
|
DEALLOCATE PREPARE stmt;
|
||||||
DROP TABLE t4;
|
DROP TABLE t4;
|
||||||
CALL show_slow_log_exclude_ps();
|
CREATE SEQUENCE s4;
|
||||||
|
ALTER SEQUENCE s4 MAXVALUE 100;
|
||||||
|
PREPARE stmt FROM 'ALTER SEQUENCE s4 MAXVALUE=101';
|
||||||
|
EXECUTE stmt;
|
||||||
|
DEALLOCATE PREPARE stmt;
|
||||||
|
DROP SEQUENCE s4;
|
||||||
|
CALL show_slow_log();
|
||||||
sql_text
|
sql_text
|
||||||
[slow] TRUNCATE TABLE mysql.slow_log
|
[slow] TRUNCATE TABLE mysql.slow_log
|
||||||
[slow] CREATE TABLE t1 (a INT)
|
[slow] CREATE TABLE t1 (a INT)
|
||||||
@ -57,10 +63,16 @@ sql_text
|
|||||||
[slow] ALTER TABLE t4 MODIFY a INT DEFAULT 1
|
[slow] ALTER TABLE t4 MODIFY a INT DEFAULT 1
|
||||||
[slow] DEALLOCATE PREPARE stmt
|
[slow] DEALLOCATE PREPARE stmt
|
||||||
[slow] DROP TABLE t4
|
[slow] DROP TABLE t4
|
||||||
|
[slow] CREATE SEQUENCE s4
|
||||||
|
[slow] ALTER SEQUENCE s4 MAXVALUE 100
|
||||||
|
[slow] PREPARE stmt FROM 'ALTER SEQUENCE s4 MAXVALUE=101'
|
||||||
|
[slow] ALTER SEQUENCE s4 MAXVALUE=101
|
||||||
|
[slow] DEALLOCATE PREPARE stmt
|
||||||
|
[slow] DROP SEQUENCE s4
|
||||||
#
|
#
|
||||||
# Expect all admin statements in the slow log (ON,admin)
|
# Expect all admin statements in the slow log (ON,admin)
|
||||||
#
|
#
|
||||||
SET @@GLOBAL.log_slow_admin_statements=ON;
|
SET @@SESSION.log_slow_admin_statements=ON;
|
||||||
SET log_slow_filter=admin;
|
SET log_slow_filter=admin;
|
||||||
TRUNCATE TABLE mysql.slow_log;
|
TRUNCATE TABLE mysql.slow_log;
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
@ -76,6 +88,12 @@ PREPARE stmt FROM 'ALTER TABLE t4 MODIFY a INT DEFAULT 1';
|
|||||||
EXECUTE stmt;
|
EXECUTE stmt;
|
||||||
DEALLOCATE PREPARE stmt;
|
DEALLOCATE PREPARE stmt;
|
||||||
DROP TABLE t4;
|
DROP TABLE t4;
|
||||||
|
CREATE SEQUENCE s4;
|
||||||
|
ALTER SEQUENCE s4 MAXVALUE 100;
|
||||||
|
PREPARE stmt FROM 'ALTER SEQUENCE s4 MAXVALUE=101';
|
||||||
|
EXECUTE stmt;
|
||||||
|
DEALLOCATE PREPARE stmt;
|
||||||
|
DROP SEQUENCE s4;
|
||||||
CALL show_slow_log();
|
CALL show_slow_log();
|
||||||
sql_text
|
sql_text
|
||||||
[slow] CREATE INDEX t1a ON t1 (a)
|
[slow] CREATE INDEX t1a ON t1 (a)
|
||||||
@ -83,10 +101,12 @@ sql_text
|
|||||||
[slow] ALTER TABLE t2 RENAME t2
|
[slow] ALTER TABLE t2 RENAME t2
|
||||||
[slow] RENAME TABLE t2 TO t3
|
[slow] RENAME TABLE t2 TO t3
|
||||||
[slow] ALTER TABLE t4 MODIFY a INT DEFAULT 1
|
[slow] ALTER TABLE t4 MODIFY a INT DEFAULT 1
|
||||||
|
[slow] ALTER SEQUENCE s4 MAXVALUE 100
|
||||||
|
[slow] ALTER SEQUENCE s4 MAXVALUE=101
|
||||||
#
|
#
|
||||||
# Expect none of admin DDL statements in the slow log (ON,filesort)
|
# Expect none of admin DDL statements in the slow log (ON,filesort)
|
||||||
#
|
#
|
||||||
SET @@GLOBAL.log_slow_admin_statements=ON;
|
SET @@SESSION.log_slow_admin_statements=ON;
|
||||||
SET log_slow_filter=filesort;
|
SET log_slow_filter=filesort;
|
||||||
TRUNCATE TABLE mysql.slow_log;
|
TRUNCATE TABLE mysql.slow_log;
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
@ -102,12 +122,18 @@ PREPARE stmt FROM 'ALTER TABLE t4 MODIFY a INT DEFAULT 1';
|
|||||||
EXECUTE stmt;
|
EXECUTE stmt;
|
||||||
DEALLOCATE PREPARE stmt;
|
DEALLOCATE PREPARE stmt;
|
||||||
DROP TABLE t4;
|
DROP TABLE t4;
|
||||||
|
CREATE SEQUENCE s4;
|
||||||
|
ALTER SEQUENCE s4 MAXVALUE 100;
|
||||||
|
PREPARE stmt FROM 'ALTER SEQUENCE s4 MAXVALUE=101';
|
||||||
|
EXECUTE stmt;
|
||||||
|
DEALLOCATE PREPARE stmt;
|
||||||
|
DROP SEQUENCE s4;
|
||||||
CALL show_slow_log();
|
CALL show_slow_log();
|
||||||
sql_text
|
sql_text
|
||||||
#
|
#
|
||||||
# Expect none of admin statements in the slow log (OFF,DEFAULT)
|
# Expect none of admin statements in the slow log (OFF,DEFAULT)
|
||||||
#
|
#
|
||||||
SET @@GLOBAL.log_slow_admin_statements=OFF;
|
SET @@SESSION.log_slow_admin_statements=OFF;
|
||||||
SET log_slow_filter=DEFAULT;
|
SET log_slow_filter=DEFAULT;
|
||||||
TRUNCATE TABLE mysql.slow_log;
|
TRUNCATE TABLE mysql.slow_log;
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
@ -123,7 +149,58 @@ PREPARE stmt FROM 'ALTER TABLE t4 MODIFY a INT DEFAULT 1';
|
|||||||
EXECUTE stmt;
|
EXECUTE stmt;
|
||||||
DEALLOCATE PREPARE stmt;
|
DEALLOCATE PREPARE stmt;
|
||||||
DROP TABLE t4;
|
DROP TABLE t4;
|
||||||
CALL show_slow_log_exclude_ps();
|
CREATE SEQUENCE s4;
|
||||||
|
ALTER SEQUENCE s4 MAXVALUE 100;
|
||||||
|
PREPARE stmt FROM 'ALTER SEQUENCE s4 MAXVALUE=101';
|
||||||
|
EXECUTE stmt;
|
||||||
|
DEALLOCATE PREPARE stmt;
|
||||||
|
DROP SEQUENCE s4;
|
||||||
|
CALL show_slow_log();
|
||||||
|
sql_text
|
||||||
|
[slow] TRUNCATE TABLE mysql.slow_log
|
||||||
|
[slow] CREATE TABLE t1 (a INT)
|
||||||
|
[slow] DROP TABLE t1
|
||||||
|
[slow] CREATE TABLE t2 (a INT)
|
||||||
|
[slow] DROP TABLE t3
|
||||||
|
[slow] CREATE TABLE t4 (a INT)
|
||||||
|
[slow] PREPARE stmt FROM 'ALTER TABLE t4 MODIFY a INT DEFAULT 1'
|
||||||
|
[slow] DEALLOCATE PREPARE stmt
|
||||||
|
[slow] DROP TABLE t4
|
||||||
|
[slow] CREATE SEQUENCE s4
|
||||||
|
[slow] PREPARE stmt FROM 'ALTER SEQUENCE s4 MAXVALUE=101'
|
||||||
|
[slow] DEALLOCATE PREPARE stmt
|
||||||
|
[slow] DROP SEQUENCE s4
|
||||||
|
#
|
||||||
|
# Expect all admin statements in the slow log (GLOBAL OFF,LOCAL ON,DEFAULT)
|
||||||
|
# In the original implementation, this combination disabled slow log for admin commands.
|
||||||
|
# However, instead of this exception in GLOBAL vs LOCAL variable behaviour,
|
||||||
|
# we should make max_system_variables.log_slow_admin_statements=0
|
||||||
|
# prevent enabling globally suppressed logging by setting the session variable to ON.
|
||||||
|
#
|
||||||
|
SET @@GLOBAL.log_slow_admin_statements=OFF;
|
||||||
|
SET @@SESSION.log_slow_admin_statements=ON;
|
||||||
|
SET log_slow_filter=DEFAULT;
|
||||||
|
TRUNCATE TABLE mysql.slow_log;
|
||||||
|
CREATE TABLE t1 (a INT);
|
||||||
|
CREATE INDEX t1a ON t1 (a);
|
||||||
|
DROP INDEX t1a ON t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t2 (a INT);
|
||||||
|
ALTER TABLE t2 RENAME t2;
|
||||||
|
RENAME TABLE t2 TO t3;
|
||||||
|
DROP TABLE t3;
|
||||||
|
CREATE TABLE t4 (a INT);
|
||||||
|
PREPARE stmt FROM 'ALTER TABLE t4 MODIFY a INT DEFAULT 1';
|
||||||
|
EXECUTE stmt;
|
||||||
|
DEALLOCATE PREPARE stmt;
|
||||||
|
DROP TABLE t4;
|
||||||
|
CREATE SEQUENCE s4;
|
||||||
|
ALTER SEQUENCE s4 MAXVALUE 100;
|
||||||
|
PREPARE stmt FROM 'ALTER SEQUENCE s4 MAXVALUE=101';
|
||||||
|
EXECUTE stmt;
|
||||||
|
DEALLOCATE PREPARE stmt;
|
||||||
|
DROP SEQUENCE s4;
|
||||||
|
CALL show_slow_log();
|
||||||
sql_text
|
sql_text
|
||||||
[slow] TRUNCATE TABLE mysql.slow_log
|
[slow] TRUNCATE TABLE mysql.slow_log
|
||||||
[slow] CREATE TABLE t1 (a INT)
|
[slow] CREATE TABLE t1 (a INT)
|
||||||
@ -139,6 +216,12 @@ sql_text
|
|||||||
[slow] ALTER TABLE t4 MODIFY a INT DEFAULT 1
|
[slow] ALTER TABLE t4 MODIFY a INT DEFAULT 1
|
||||||
[slow] DEALLOCATE PREPARE stmt
|
[slow] DEALLOCATE PREPARE stmt
|
||||||
[slow] DROP TABLE t4
|
[slow] DROP TABLE t4
|
||||||
|
[slow] CREATE SEQUENCE s4
|
||||||
|
[slow] ALTER SEQUENCE s4 MAXVALUE 100
|
||||||
|
[slow] PREPARE stmt FROM 'ALTER SEQUENCE s4 MAXVALUE=101'
|
||||||
|
[slow] ALTER SEQUENCE s4 MAXVALUE=101
|
||||||
|
[slow] DEALLOCATE PREPARE stmt
|
||||||
|
[slow] DROP SEQUENCE s4
|
||||||
#
|
#
|
||||||
# Clean up
|
# Clean up
|
||||||
#
|
#
|
||||||
|
@ -34,45 +34,21 @@ DELIMITER ;$$
|
|||||||
--echo # Expect all admin statements in the slow log (ON,DEFAULT)
|
--echo # Expect all admin statements in the slow log (ON,DEFAULT)
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
SET @@GLOBAL.log_slow_admin_statements=ON;
|
SET @@SESSION.log_slow_admin_statements=ON;
|
||||||
SET log_slow_filter=DEFAULT;
|
SET log_slow_filter=DEFAULT;
|
||||||
TRUNCATE TABLE mysql.slow_log;
|
TRUNCATE TABLE mysql.slow_log;
|
||||||
CREATE TABLE t1 (a INT);
|
--source include/log_slow_debug_common.inc
|
||||||
CREATE INDEX t1a ON t1 (a);
|
CALL show_slow_log();
|
||||||
DROP INDEX t1a ON t1;
|
|
||||||
DROP TABLE t1;
|
|
||||||
CREATE TABLE t2 (a INT);
|
|
||||||
ALTER TABLE t2 RENAME t2;
|
|
||||||
RENAME TABLE t2 TO t3;
|
|
||||||
DROP TABLE t3;
|
|
||||||
CREATE TABLE t4 (a INT);
|
|
||||||
PREPARE stmt FROM 'ALTER TABLE t4 MODIFY a INT DEFAULT 1';
|
|
||||||
EXECUTE stmt;
|
|
||||||
DEALLOCATE PREPARE stmt;
|
|
||||||
DROP TABLE t4;
|
|
||||||
CALL show_slow_log_exclude_ps();
|
|
||||||
|
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Expect all admin statements in the slow log (ON,admin)
|
--echo # Expect all admin statements in the slow log (ON,admin)
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
SET @@GLOBAL.log_slow_admin_statements=ON;
|
SET @@SESSION.log_slow_admin_statements=ON;
|
||||||
SET log_slow_filter=admin;
|
SET log_slow_filter=admin;
|
||||||
TRUNCATE TABLE mysql.slow_log;
|
TRUNCATE TABLE mysql.slow_log;
|
||||||
CREATE TABLE t1 (a INT);
|
--source include/log_slow_debug_common.inc
|
||||||
CREATE INDEX t1a ON t1 (a);
|
|
||||||
DROP INDEX t1a ON t1;
|
|
||||||
DROP TABLE t1;
|
|
||||||
CREATE TABLE t2 (a INT);
|
|
||||||
ALTER TABLE t2 RENAME t2;
|
|
||||||
RENAME TABLE t2 TO t3;
|
|
||||||
DROP TABLE t3;
|
|
||||||
CREATE TABLE t4 (a INT);
|
|
||||||
PREPARE stmt FROM 'ALTER TABLE t4 MODIFY a INT DEFAULT 1';
|
|
||||||
EXECUTE stmt;
|
|
||||||
DEALLOCATE PREPARE stmt;
|
|
||||||
DROP TABLE t4;
|
|
||||||
CALL show_slow_log();
|
CALL show_slow_log();
|
||||||
|
|
||||||
|
|
||||||
@ -80,22 +56,10 @@ CALL show_slow_log();
|
|||||||
--echo # Expect none of admin DDL statements in the slow log (ON,filesort)
|
--echo # Expect none of admin DDL statements in the slow log (ON,filesort)
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
SET @@GLOBAL.log_slow_admin_statements=ON;
|
SET @@SESSION.log_slow_admin_statements=ON;
|
||||||
SET log_slow_filter=filesort;
|
SET log_slow_filter=filesort;
|
||||||
TRUNCATE TABLE mysql.slow_log;
|
TRUNCATE TABLE mysql.slow_log;
|
||||||
CREATE TABLE t1 (a INT);
|
--source include/log_slow_debug_common.inc
|
||||||
CREATE INDEX t1a ON t1 (a);
|
|
||||||
DROP INDEX t1a ON t1;
|
|
||||||
DROP TABLE t1;
|
|
||||||
CREATE TABLE t2 (a INT);
|
|
||||||
ALTER TABLE t2 RENAME t2;
|
|
||||||
RENAME TABLE t2 TO t3;
|
|
||||||
DROP TABLE t3;
|
|
||||||
CREATE TABLE t4 (a INT);
|
|
||||||
PREPARE stmt FROM 'ALTER TABLE t4 MODIFY a INT DEFAULT 1';
|
|
||||||
EXECUTE stmt;
|
|
||||||
DEALLOCATE PREPARE stmt;
|
|
||||||
DROP TABLE t4;
|
|
||||||
CALL show_slow_log();
|
CALL show_slow_log();
|
||||||
|
|
||||||
|
|
||||||
@ -103,23 +67,27 @@ CALL show_slow_log();
|
|||||||
--echo # Expect none of admin statements in the slow log (OFF,DEFAULT)
|
--echo # Expect none of admin statements in the slow log (OFF,DEFAULT)
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
SET @@GLOBAL.log_slow_admin_statements=OFF;
|
SET @@SESSION.log_slow_admin_statements=OFF;
|
||||||
SET log_slow_filter=DEFAULT;
|
SET log_slow_filter=DEFAULT;
|
||||||
TRUNCATE TABLE mysql.slow_log;
|
TRUNCATE TABLE mysql.slow_log;
|
||||||
CREATE TABLE t1 (a INT);
|
--source include/log_slow_debug_common.inc
|
||||||
CREATE INDEX t1a ON t1 (a);
|
CALL show_slow_log();
|
||||||
DROP INDEX t1a ON t1;
|
|
||||||
DROP TABLE t1;
|
|
||||||
CREATE TABLE t2 (a INT);
|
--echo #
|
||||||
ALTER TABLE t2 RENAME t2;
|
--echo # Expect all admin statements in the slow log (GLOBAL OFF,LOCAL ON,DEFAULT)
|
||||||
RENAME TABLE t2 TO t3;
|
--echo # In the original implementation, this combination disabled slow log for admin commands.
|
||||||
DROP TABLE t3;
|
--echo # However, instead of this exception in GLOBAL vs LOCAL variable behaviour,
|
||||||
CREATE TABLE t4 (a INT);
|
--echo # we should make max_system_variables.log_slow_admin_statements=0
|
||||||
PREPARE stmt FROM 'ALTER TABLE t4 MODIFY a INT DEFAULT 1';
|
--echo # prevent enabling globally suppressed logging by setting the session variable to ON.
|
||||||
EXECUTE stmt;
|
--echo #
|
||||||
DEALLOCATE PREPARE stmt;
|
|
||||||
DROP TABLE t4;
|
SET @@GLOBAL.log_slow_admin_statements=OFF;
|
||||||
CALL show_slow_log_exclude_ps();
|
SET @@SESSION.log_slow_admin_statements=ON;
|
||||||
|
SET log_slow_filter=DEFAULT;
|
||||||
|
TRUNCATE TABLE mysql.slow_log;
|
||||||
|
--source include/log_slow_debug_common.inc
|
||||||
|
CALL show_slow_log();
|
||||||
|
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
|
Reference in New Issue
Block a user