polardbxengine/mysql-test/suite/innodb/t/innodb-status-output.test

99 lines
2.8 KiB
Plaintext

# This restarts the server and waits a long time for output.
--source include/big_test.inc
# Test the deprecation messages and connection to the flags.
CREATE TABLE innodb_monitor(a SERIAL) ENGINE=InnoDB;
SHOW VARIABLES LIKE 'innodb_status_output%';
DROP TABLE innodb_monitor;
SHOW VARIABLES LIKE 'innodb_status_output%';
CREATE TABLE innodb_lock_monitor(a SERIAL) ENGINE=InnoDB;
SHOW VARIABLES LIKE 'innodb_status_output%';
DROP TABLE innodb_lock_monitor;
SHOW VARIABLES LIKE 'innodb_status_output%';
CREATE TABLE innodb_tablespace_monitor(a SERIAL) ENGINE=InnoDB;
DROP TABLE innodb_tablespace_monitor;
CREATE TABLE innodb_table_monitor(a SERIAL) ENGINE=InnoDB;
DROP TABLE innodb_table_monitor;
CREATE TABLE t(a SERIAL) ENGINE=InnoDB;
INSERT INTO t VALUES(42);
--source include/shutdown_mysqld.inc
let SEARCH_FILE= $MYSQLTEST_VARDIR/tmp/innodb-status-output.err;
--error 0,1
--remove_file $SEARCH_FILE
# Test that the output appears.
--exec echo "restart: --no-console --log-error=$SEARCH_FILE">$_expect_file_name
--enable_reconnect
--source include/wait_until_connected_again.inc
--disable_reconnect
BEGIN;
SELECT * FROM t FOR UPDATE;
# Enable full output.
SET GLOBAL innodb_status_output_locks=ON;
SET GLOBAL innodb_status_output=ON;
SELECT SLEEP(30);
COMMIT;
--source include/shutdown_mysqld.inc
let SEARCH_PATTERN= INNODB MONITOR OUTPUT;
--source include/search_pattern.inc
let SEARCH_PATTERN= SELECT SLEEP.*\nTABLE LOCK.*\nRECORD LOCKS space id;
--source include/search_pattern_multiline.inc
--remove_file $SEARCH_FILE
--exec echo "restart: --no-console --log-error=$SEARCH_FILE --log-error-verbosity=3 ">$_expect_file_name
--enable_reconnect
--source include/wait_until_connected_again.inc
--disable_reconnect
BEGIN;
SELECT * FROM t FOR UPDATE;
# This alone should not enable any output.
SET GLOBAL innodb_status_output_locks=ON;
SELECT SLEEP(30);
COMMIT;
--source include/shutdown_mysqld.inc
# We should not see any extra output.
let SEARCH_PATTERN= ready for connections. Version:;
--source include/search_pattern.inc
let SEARCH_PATTERN= .*(a chance to die gracefully|Shutting down|Normal shutdown);
--source include/search_pattern_multiline.inc
--remove_file $SEARCH_FILE
--exec echo "restart: --no-console --log-error=$SEARCH_FILE">$_expect_file_name
--enable_reconnect
--source include/wait_until_connected_again.inc
--disable_reconnect
BEGIN;
SELECT * FROM t FOR UPDATE;
# Enable some output.
SET GLOBAL innodb_status_output=ON;
SELECT SLEEP(30);
COMMIT;
--source include/restart_mysqld.inc
# We should have some extra output.
let SEARCH_PATTERN= INNODB MONITOR OUTPUT;
--source include/search_pattern.inc
# No RECORD LOCKS output expected
let SEARCH_PATTERN= SELECT SLEEP.*\n------;
--source include/search_pattern_multiline.inc
--remove_file $SEARCH_FILE
# Clean up.
DROP TABLE t;