diff options
Diffstat (limited to 'mysql-test/suite/innodb/t')
19 files changed, 106 insertions, 452 deletions
diff --git a/mysql-test/suite/innodb/t/fake_changes-7000.test b/mysql-test/suite/innodb/t/fake_changes-7000.test deleted file mode 100644 index 2be6be2d476..00000000000 --- a/mysql-test/suite/innodb/t/fake_changes-7000.test +++ /dev/null @@ -1,9 +0,0 @@ ---source include/have_log_bin.inc ---source include/have_xtradb.inc - -create table t1 (i int) engine=InnoDB; -set innodb_fake_changes = 1; ---disable_abort_on_error -insert into t1 values (1); -set innodb_fake_changes = 0; -drop table t1; diff --git a/mysql-test/suite/innodb/t/group_commit_crash.test b/mysql-test/suite/innodb/t/group_commit_crash.test index 7ad0d9d1e74..12f7ba202e3 100644 --- a/mysql-test/suite/innodb/t/group_commit_crash.test +++ b/mysql-test/suite/innodb/t/group_commit_crash.test @@ -9,7 +9,6 @@ --source include/have_debug.inc --source include/have_log_bin.inc -let $file_format_max=`SELECT @@innodb_file_format_max`; CREATE TABLE t1(a CHAR(255), b CHAR(255), c CHAR(255), @@ -77,6 +76,3 @@ while ($numtests) DROP TABLE t1; DROP TABLE t2; DROP PROCEDURE setcrash; ---disable_query_log -eval SET GLOBAL innodb_file_format_max=$file_format_max; ---enable_query_log diff --git a/mysql-test/suite/innodb/t/group_commit_crash_no_optimize_thread.test b/mysql-test/suite/innodb/t/group_commit_crash_no_optimize_thread.test index 9dc2557e687..6115e3f0050 100644 --- a/mysql-test/suite/innodb/t/group_commit_crash_no_optimize_thread.test +++ b/mysql-test/suite/innodb/t/group_commit_crash_no_optimize_thread.test @@ -9,7 +9,6 @@ --source include/have_debug.inc --source include/have_log_bin.inc -let $file_format_max=`SELECT @@innodb_file_format_max`; CREATE TABLE t1(a CHAR(255), b CHAR(255), c CHAR(255), @@ -77,6 +76,3 @@ while ($numtests) DROP TABLE t1; DROP TABLE t2; DROP PROCEDURE setcrash; ---disable_query_log -eval SET GLOBAL innodb_file_format_max=$file_format_max; ---enable_query_log diff --git a/mysql-test/suite/innodb/t/innodb-16k.test b/mysql-test/suite/innodb/t/innodb-16k.test index a771fac27ed..099edec4ec6 100644 --- a/mysql-test/suite/innodb/t/innodb-16k.test +++ b/mysql-test/suite/innodb/t/innodb-16k.test @@ -5,13 +5,7 @@ call mtr.add_suppression("InnoDB: Cannot add field .* in table .* because after adding it, the row size is .* which is greater than maximum allowed size (.*) for a record on index leaf page."); ---disable_query_log let $MYSQLD_DATADIR= `select @@datadir`; -# These values can change during the test -let $innodb_large_prefix_orig = `SELECT @@innodb_large_prefix`; ---enable_query_log - -SET GLOBAL innodb_large_prefix = OFF; --echo # Test 1) Show the page size from Information Schema SELECT variable_value FROM information_schema.global_status @@ -942,11 +936,3 @@ COL195 TEXT, COL196 TEXT, COL197 TEXT) row_format=compact,ENGINE=INNODB; - -# -# restore environment to the state it was before this test execution -# - ---disable_query_log -EVAL SET GLOBAL innodb_large_prefix = $innodb_large_prefix_orig; ---enable_query_log diff --git a/mysql-test/suite/innodb/t/innodb-changed-pages-master.opt b/mysql-test/suite/innodb/t/innodb-changed-pages-master.opt deleted file mode 100644 index bdee9614faa..00000000000 --- a/mysql-test/suite/innodb/t/innodb-changed-pages-master.opt +++ /dev/null @@ -1 +0,0 @@ ---innodb-track-changed-pages=0 --innodb-changed-pages=1
\ No newline at end of file diff --git a/mysql-test/suite/innodb/t/innodb-changed-pages.test b/mysql-test/suite/innodb/t/innodb-changed-pages.test deleted file mode 100644 index 14668af25cb..00000000000 --- a/mysql-test/suite/innodb/t/innodb-changed-pages.test +++ /dev/null @@ -1,63 +0,0 @@ --- source include/have_xtradb.inc - -# -# This test requires innodb-changed-pages=1 so that necessary information schema table exists -# and innodb-track-changed-pages=0 to disable actual changed pages tracking, because -# page number are not consistent from run to run -# - -# -# MDEV-4791: ssertion range_end >= range_start fails in log0online.c -# on select from I_S.INNODB_CHANGED_PAGES - -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 10 AND end_lsn > 20 ; - -SELECT * FROM INFORMATION_SCHEMA . `INNODB_CHANGED_PAGES` AS table1 WHERE ( ( (NOT ( ( ( ( (NOT ( table1 . `page_id` <> table1 . `start_lsn` AND table1 . `space_id` <> 8) AND table1 . `page_id` >= table1 . `end_lsn`) OR table1 . `end_lsn` = table1 . `space_id`) AND table1 . `end_lsn` <> table1 . `page_id`) OR table1 . `end_lsn` < 8) AND table1 . `space_id` >= '2000-06-10 11:33:07.046821') AND table1 . `end_lsn` >= 5) AND table1 . `start_lsn` < 'mm') OR table1 . `end_lsn` != table1 . `end_lsn`) HAVING ( table1 . `start_lsn` < '2005-09-09 01:34:19.012946' OR table1 . `page_id` < 6) ORDER BY table1 . `start_lsn` -LIMIT 3; - -# -# Basic tests -# - -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES; - -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn > 2000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn >= 2000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn > 2000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn >= 2000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 and end_lsn < 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 and end_lsn < 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 and end_lsn <= 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 and end_lsn <= 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn = 2000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE end_lsn = 2000000; - -# -# OR -# -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn < 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn < 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn <= 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn <= 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn < 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn < 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn <= 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn <= 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn > 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn > 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn < 2000000 or end_lsn >= 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn <= 2000000 or end_lsn >= 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn > 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn > 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn > 2000000 or end_lsn >= 3000000; -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE start_lsn >= 2000000 or end_lsn >= 3000000; - -# -# Range -# -SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES WHERE (start_lsn > 2000000 and end_lsn < 3000000) or (start_lsn > 4000000 and end_lsn < 5000000); - diff --git a/mysql-test/suite/innodb/t/innodb-flush-changed-page-bitmaps.opt b/mysql-test/suite/innodb/t/innodb-flush-changed-page-bitmaps.opt deleted file mode 100644 index afa6311a74b..00000000000 --- a/mysql-test/suite/innodb/t/innodb-flush-changed-page-bitmaps.opt +++ /dev/null @@ -1,2 +0,0 @@ ---changed-page-bitmaps ---innodb-track-changed-pages diff --git a/mysql-test/suite/innodb/t/innodb-flush-changed-page-bitmaps.test b/mysql-test/suite/innodb/t/innodb-flush-changed-page-bitmaps.test deleted file mode 100644 index 662bbbaacaf..00000000000 --- a/mysql-test/suite/innodb/t/innodb-flush-changed-page-bitmaps.test +++ /dev/null @@ -1,5 +0,0 @@ --- source include/have_xtradb.inc --- source include/not_embedded.inc - -FLUSH NO_WRITE_TO_BINLOG changed_page_bitmaps; -select * from information_schema.changed_page_bitmaps; diff --git a/mysql-test/suite/innodb/t/innodb-timeout.test b/mysql-test/suite/innodb/t/innodb-timeout.test index 0beeea8f39e..0f8bbbec559 100644 --- a/mysql-test/suite/innodb/t/innodb-timeout.test +++ b/mysql-test/suite/innodb/t/innodb-timeout.test @@ -1,3 +1,5 @@ +# Save the initial number of concurrent sessions. +--source include/count_sessions.inc --source include/have_innodb.inc let $initial_timeout=`select @@innodb_lock_wait_timeout`; @@ -115,3 +117,84 @@ connection default; drop table t1; --replace_result $initial_timeout <initial_timeout> eval set global innodb_lock_wait_timeout=$initial_timeout; + +--echo # +--echo # MDEV-11379 - AliSQL: [Feature] Issue#8: SELECT FOR UPDATE WAIT +--echo # +CREATE TABLE t1 (c1 INT, c2 INT) ENGINE=InnoDB; +INSERT INTO t1 (c1,c2) values (1,1),(2,2),(3,3),(4,4); + +# Not supported in view/sp +--error ER_VIEW_SELECT_CLAUSE +CREATE VIEW v1 AS SELECT * FROM t1 WHERE c1=4 FOR UPDATE NOWAIT; +--error ER_VIEW_SELECT_CLAUSE +CREATE VIEW v1 AS SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 0; +--error ER_SP_BADSTATEMENT +CREATE PROCEDURE p1() SELECT * FROM t1 WHERE c1=4 FOR UPDATE NOWAIT; +--error ER_SP_BADSTATEMENT +CREATE PROCEDURE p1() SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 0; + +connect(con1,localhost,root,,); +LOCK TABLE t1 WRITE; + +connect(con2,localhost,root,,); +# The following statement should hang because con1 is locking the table +--error ER_LOCK_WAIT_TIMEOUT +SELECT * FROM t1 WHERE c1=4 FOR UPDATE NOWAIT; +--error ER_LOCK_WAIT_TIMEOUT +SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 0; +PREPARE stmt FROM 'SELECT * FROM t1 WHERE c1=4 FOR UPDATE NOWAIT'; +--error ER_LOCK_WAIT_TIMEOUT +EXECUTE stmt; +DEALLOCATE PREPARE stmt; +PREPARE stmt FROM 'SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 0'; +--error ER_LOCK_WAIT_TIMEOUT +EXECUTE stmt; +DEALLOCATE PREPARE stmt; + +connection con1; +INSERT INTO t1 VALUES(5,5); +UNLOCK TABLES; +set AUTOCOMMIT=0; +--disable_result_log +SELECT * FROM t1 WHERE c1=4 FOR UPDATE; +--enable_result_log + +connection con2; +set AUTOCOMMIT=0; +SET INNODB_LOCK_WAIT_TIMEOUT=1; +--error ER_LOCK_WAIT_TIMEOUT +SELECT * FROM t1 WHERE c1=4 FOR UPDATE; +--error ER_LOCK_WAIT_TIMEOUT +SELECT * FROM t1 WHERE c1=4 FOR UPDATE NOWAIT; +--error ER_LOCK_WAIT_TIMEOUT +SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 0; + +connection con1; +UPDATE t1 SET c2=5 WHERE c1=4; +COMMIT; +set AUTOCOMMIT=0; +SELECT * FROM t1 WHERE c1=4 FOR UPDATE; + +connection con2; +set AUTOCOMMIT=0; +SET INNODB_LOCK_WAIT_TIMEOUT=1; +--send +--disable_result_log +SELECT * FROM t1 WHERE c1=4 FOR UPDATE WAIT 10; + +connection con1; +COMMIT; + +connection con2; +--reap + + +disconnect con1; +disconnect con2; + +# clear +connection default; +DROP TABLE t1; + +--source include/wait_until_count_sessions.inc diff --git a/mysql-test/suite/innodb/t/innodb-trim.opt b/mysql-test/suite/innodb/t/innodb-trim.opt deleted file mode 100644 index c33d075b002..00000000000 --- a/mysql-test/suite/innodb/t/innodb-trim.opt +++ /dev/null @@ -1 +0,0 @@ ---loose-innodb-use-trim=1 diff --git a/mysql-test/suite/innodb/t/innodb.test b/mysql-test/suite/innodb/t/innodb.test index c3908abcf34..a4ba60ec94c 100644 --- a/mysql-test/suite/innodb/t/innodb.test +++ b/mysql-test/suite/innodb/t/innodb.test @@ -1410,9 +1410,7 @@ source include/varchar.inc; SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; # Embedded server doesn't chdir to data directory --replace_result $MYSQLTEST_VARDIR . master-data/ '' -SET GLOBAL innodb_large_prefix=OFF; create table t1 (v varchar(65530), key(v)); -SET GLOBAL innodb_large_prefix=default; drop table t1; create table t1 (v varchar(65536)); show create table t1; @@ -1580,39 +1578,6 @@ show create table t9; drop table t1, t2, t3, t4, t5, t6, t7, t8, t9; -SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; -SET GLOBAL innodb_large_prefix=OFF; -# these should have their index length trimmed -create table t1 (col1 varchar(768), index(col1)) - character set = latin1 engine = innodb; -create table t2 (col1 varbinary(768), index(col1)) - character set = latin1 engine = innodb; -create table t3 (col1 text, index(col1(768))) - character set = latin1 engine = innodb; -create table t4 (col1 blob, index(col1(768))) - character set = latin1 engine = innodb; -SET GLOBAL innodb_large_prefix=default; - -show create table t1; - -drop table t1, t2, t3, t4; - -# these should be refused -set global innodb_large_prefix=OFF; ---error ER_TOO_LONG_KEY -create table t1 (col1 varchar(768) primary key) - character set = latin1 engine = innodb; ---error ER_TOO_LONG_KEY -create table t2 (col1 varbinary(768) primary key) - character set = latin1 engine = innodb; ---error ER_TOO_LONG_KEY -create table t3 (col1 text, primary key(col1(768))) - character set = latin1 engine = innodb; ---error ER_TOO_LONG_KEY -create table t4 (col1 blob, primary key(col1(768))) - character set = latin1 engine = innodb; -SET sql_mode = default; -set global innodb_large_prefix=default; # # Test improved foreign key error messages (bug #3443) # diff --git a/mysql-test/suite/innodb/t/innodb_bug47167.test b/mysql-test/suite/innodb/t/innodb_bug47167.test deleted file mode 100644 index 88adfc753a9..00000000000 --- a/mysql-test/suite/innodb/t/innodb_bug47167.test +++ /dev/null @@ -1,51 +0,0 @@ ---source include/have_innodb.inc -# This is the unit test for bug #47167. -# It tests setting the global variable "innodb_file_format_max" ( -# originally "innodb_file_format_check") with a user-Defined Variable. - ---source include/not_embedded.inc ---source include/restart_and_reinit.inc - -# Save the value (Antelope) in 'innodb_file_format_max' to -# 'old_innodb_file_format_max' -set @old_innodb_file_format_max=@@innodb_file_format_max; - -# @old_innodb_file_format_max shall have the value of 'Antelope' -select @old_innodb_file_format_max; - -# Reset the value in 'innodb_file_format_max' to 'Barracuda' -set global innodb_file_format_max = Barracuda; - -select @@innodb_file_format_max; - -# Set 'innodb_file_format_max' to its default value, which -# is the latest file format supported in the current release. -set global innodb_file_format_max = DEFAULT; - -select @@innodb_file_format_max; - -# Put the saved value back to 'innodb_file_format_max' -set global innodb_file_format_max = @old_innodb_file_format_max; - -# Check whether 'innodb_file_format_max' get its original value. -select @@innodb_file_format_max; - -# Following are negative tests, all should fail. ---disable_warnings ---error ER_WRONG_VALUE_FOR_VAR -set global innodb_file_format_max = cheetah; - ---error ER_WRONG_VALUE_FOR_VAR -set global innodb_file_format_max = Bear; - ---error ER_WRONG_VALUE_FOR_VAR -set global innodb_file_format_max = on; - ---error ER_WRONG_VALUE_FOR_VAR -set global innodb_file_format_max = off; ---enable_warnings - -# Put the saved value back to 'innodb_file_format_max' ---disable_query_log -set global innodb_file_format_max = @old_innodb_file_format_max; ---enable_query_log diff --git a/mysql-test/suite/innodb/t/innodb_file_format.test b/mysql-test/suite/innodb/t/innodb_file_format.test deleted file mode 100644 index 2c99167ce6e..00000000000 --- a/mysql-test/suite/innodb/t/innodb_file_format.test +++ /dev/null @@ -1,44 +0,0 @@ --- source include/restart_and_reinit.inc --- source include/have_innodb.inc - -let $innodb_file_format_orig=`select @@innodb_file_format`; -let $innodb_file_format_max_orig=`select @@innodb_file_format_max`; - -select @@innodb_file_format; -select @@innodb_file_format_check; -select @@innodb_file_format_max; -set global innodb_file_format=antelope; -set global innodb_file_format=barracuda; ---error ER_WRONG_VALUE_FOR_VAR -set global innodb_file_format=cheetah; -select @@innodb_file_format; -set global innodb_file_format=default; -select @@innodb_file_format; ---error ER_WRONG_VALUE_FOR_VAR -set global innodb_file_format=on; ---error ER_WRONG_VALUE_FOR_VAR -set global innodb_file_format=off; -select @@innodb_file_format; -set global innodb_file_format_max=antelope; -set global innodb_file_format_max=barracuda; ---error ER_WRONG_VALUE_FOR_VAR -set global innodb_file_format_max=cheetah; -select @@innodb_file_format_max; -set global innodb_file_format_max=default; -select @@innodb_file_format_max; ---error ER_WRONG_VALUE_FOR_VAR -set global innodb_file_format=on; ---error ER_WRONG_VALUE_FOR_VAR -set global innodb_file_format=off; -select @@innodb_file_format_max; -set global innodb_file_format_max=antelope; - -# innodb_file_format_check is read only variable, can be -# set as server startup parameter ---error ER_INCORRECT_GLOBAL_LOCAL_VAR -set global innodb_file_format_check=off; - ---disable_query_log -eval SET GLOBAL innodb_file_format=$innodb_file_format_orig; -eval SET GLOBAL innodb_file_format_max=$innodb_file_format_max_orig; ---enable_query_log diff --git a/mysql-test/suite/innodb/t/innodb_mysql-master.opt b/mysql-test/suite/innodb/t/innodb_mysql-master.opt index a1ee2c096cf..17dd95cd2cc 100644 --- a/mysql-test/suite/innodb/t/innodb_mysql-master.opt +++ b/mysql-test/suite/innodb/t/innodb_mysql-master.opt @@ -1,3 +1,2 @@ --loose-innodb-lock-wait-timeout=2 --default-storage-engine=MyISAM ---loose-innodb-large-prefix=off diff --git a/mysql-test/suite/innodb/t/innodb_prefix_index_restart_server.test b/mysql-test/suite/innodb/t/innodb_prefix_index_restart_server.test index 7fb4037e6bb..c82e67a9a62 100644 --- a/mysql-test/suite/innodb/t/innodb_prefix_index_restart_server.test +++ b/mysql-test/suite/innodb/t/innodb_prefix_index_restart_server.test @@ -15,10 +15,6 @@ # Test restart the server and "shutdown_server" looks for pid file # which is not there with embedded mode --source include/not_embedded.inc -# Save innodb variables -let $innodb_large_prefix_orig=`select @@innodb_large_prefix`; - -set global innodb_large_prefix=1; #------------------------------------------------------------------------------ # Stop the server in between when prefix index are created and see if state is @@ -97,8 +93,3 @@ SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM worklog5743; DROP TABLE worklog5743; - - -#------------------------------------------------------------------------------ - -eval SET GLOBAL innodb_large_prefix=$innodb_large_prefix_orig; diff --git a/mysql-test/suite/innodb/t/innodb_xtradb_compat-master.opt b/mysql-test/suite/innodb/t/innodb_xtradb_compat-master.opt deleted file mode 100644 index 1ee264ee868..00000000000 --- a/mysql-test/suite/innodb/t/innodb_xtradb_compat-master.opt +++ /dev/null @@ -1,38 +0,0 @@ ---innodb-adaptive-hash-index-partitions=16 ---innodb-buffer-pool-populate=1 ---innodb-cleaner-eviction-factor ---innodb-cleaner-flush-chunk-size=16 ---innodb-cleaner_free_list_lwm=1 ---innodb-cleaner-lru-chunk-size=1 ---innodb-cleaner-lsn-age-factor=HIGH_CHECKPOINT ---innodb-cleaner-max-flush-time=1 ---innodb-cleaner-max-lru-time=1 ---innodb-corrupt-table-action=salvage ---innodb-empty-free-list-algorithm=BACKOFF ---innodb-fake-changes ---innodb-file-io-threads=16 ---innodb-foreground-preflush=EXPONENTIAL_BACKOFF ---innodb-kill-idle-transaction=1 ---innodb-locking-fake-changes ---innodb-log-arch-expire-sec=1 ---innodb-log-arch-dir='ttt' ---innodb-log-archive ---innodb-log-block-size=16 ---innodb-log_checksum_algorithm=STRICT_INNODB ---innodb-max-bitmap-file-size=1 ---innodb-max-changed-pages=1 ---innodb-mirrored-log-groups=8 ---innodb-priority-cleaner ---innodb-priority-io ---innodb-priority-master ---innodb-priority-purge ---innodb-sched-priority-cleaner=16 ---innodb-sched-priority-io=16 ---innodb-sched-priority-master=16 ---innodb-sched-priority-purge=16 ---innodb-show-locks-held=16 ---innodb-show-verbose-locks=1 ---innodb-track-changed-pages ---innodb-track-redo-log-now ---innodb-use-global-flush-log-at-trx-commit ---innodb-use-stacktrace diff --git a/mysql-test/suite/innodb/t/innodb_xtradb_compat.test b/mysql-test/suite/innodb/t/innodb_xtradb_compat.test deleted file mode 100644 index 359d93717d5..00000000000 --- a/mysql-test/suite/innodb/t/innodb_xtradb_compat.test +++ /dev/null @@ -1,160 +0,0 @@ ---source include/have_innodb.inc ---source include/have_debug.inc ---source include/not_embedded.inc ---source include/not_windows.inc - -select @@innodb_adaptive_hash_index_partitions, @@innodb_adaptive_hash_index_parts; ---error ER_INCORRECT_GLOBAL_LOCAL_VAR -set global innodb_adaptive_hash_index_partitions=1; - -select @@innodb_buffer_pool_populate; ---error ER_INCORRECT_GLOBAL_LOCAL_VAR -set global innodb_buffer_pool_populate=1; - -select @@innodb_cleaner_eviction_factor; -set global innodb_cleaner_eviction_factor=1; -select @@innodb_cleaner_eviction_factor; - -select @@innodb_cleaner_flush_chunk_size; -set global innodb_cleaner_flush_chunk_size=8; -select @@innodb_cleaner_flush_chunk_size; - -select @@innodb_cleaner_free_list_lwm; -set global innodb_cleaner_free_list_lwm=1; -select @@innodb_cleaner_free_list_lwm; - -select @@innodb_cleaner_lru_chunk_size; -set global innodb_cleaner_lru_chunk_size=8; -select @@innodb_cleaner_lru_chunk_size; - -select @@innodb_cleaner_lsn_age_factor; -set global innodb_cleaner_lsn_age_factor=HIGH_CHECKPOINT; -select @@innodb_cleaner_lsn_age_factor; - -select @@innodb_cleaner_max_flush_time; -set global innodb_cleaner_max_flush_time=1; -select @@innodb_cleaner_max_flush_time; - -select @@innodb_cleaner_max_lru_time; -set global innodb_cleaner_max_lru_time=1; -select @@innodb_cleaner_max_lru_time; - -select @@innodb_corrupt_table_action; -set global innodb_corrupt_table_action=salvage; -select @@innodb_corrupt_table_action; - -select @@innodb_empty_free_list_algorithm; -set global innodb_empty_free_list_algorithm=BACKOFF; -select @@innodb_empty_free_list_algorithm; - -select @@innodb_fake_changes; -set global innodb_fake_changes=1; -select @@innodb_fake_changes; - ---echo # @@innodb_file_io_threads is absent - -select @@innodb_foreground_preflush; -set global innodb_foreground_preflush=EXPONENTIAL_BACKOFF; -select @@innodb_foreground_preflush; - -select @@innodb_kill_idle_transaction; -set global innodb_kill_idle_transaction=1; -select @@innodb_kill_idle_transaction; - -select @@innodb_locking_fake_changes; -set global innodb_locking_fake_changes=1; -select @@innodb_locking_fake_changes; - -select @@innodb_log_arch_expire_sec; -set global innodb_log_arch_expire_sec=1; -select @@innodb_log_arch_expire_sec; - -select @@innodb_log_block_size; ---error ER_INCORRECT_GLOBAL_LOCAL_VAR -set global innodb_log_block_size= 8; - -select @@innodb_log_checksum_algorithm, @@innodb_log_checksums; -set global innodb_log_checksum_algorithm=NONE; -select @@innodb_log_checksum_algorithm, @@innodb_log_checksums; -set global innodb_log_checksum_algorithm=STRICT_INNODB; -select @@innodb_log_checksum_algorithm, @@innodb_log_checksums; - -select @@innodb_max_bitmap_file_size; -set global innodb_max_bitmap_file_size=1; -select @@innodb_max_bitmap_file_size; - -select @@innodb_max_changed_pages; -set global innodb_max_changed_pages=1; -select @@innodb_max_changed_pages; - -select @@innodb_mirrored_log_groups; ---error ER_INCORRECT_GLOBAL_LOCAL_VAR -set global innodb_mirrored_log_groups= 4; - -select @@innodb_priority_cleaner; -set global innodb_priority_cleaner=1; -select @@innodb_priority_cleaner; - -select @@innodb_priority_io; -set global innodb_priority_io=1; -select @@innodb_priority_io; - -select @@innodb_priority_master; -set global innodb_priority_master=1; -select @@innodb_priority_master; - -select @@innodb_priority_purge; -set global innodb_priority_purge=1; -select @@innodb_priority_purge; - -select @@innodb_sched_priority_cleaner; -set global innodb_sched_priority_cleaner=8; -select @@innodb_sched_priority_cleaner; - -select @@innodb_sched_priority_io; -set global innodb_sched_priority_io=8; -select @@innodb_sched_priority_io; - -select @@innodb_sched_priority_master; -set global innodb_sched_priority_master=8; -select @@innodb_sched_priority_master; - -select @@innodb_sched_priority_purge; -set global innodb_sched_priority_purge=8; -select @@innodb_sched_priority_purge; - -select @@innodb_show_locks_held; -set global innodb_show_locks_held=8; -select @@innodb_show_locks_held; - -select @@innodb_show_verbose_locks; -set global innodb_show_verbose_locks=1; -select @@innodb_show_verbose_locks; - -select @@innodb_track_changed_pages; ---error ER_INCORRECT_GLOBAL_LOCAL_VAR -set global innodb_track_changed_pages=1; - -select @@innodb_track_redo_log_now; -set global innodb_track_redo_log_now=1; -select @@innodb_track_redo_log_now; - -select @@innodb_use_global_flush_log_at_trx_commit; -set global innodb_use_global_flush_log_at_trx_commit=1; -select @@innodb_use_global_flush_log_at_trx_commit; - -select @@innodb_use_stacktrace; ---error ER_INCORRECT_GLOBAL_LOCAL_VAR -set global innodb_use_stacktrace=1; - -select @@innodb_log_archive; -set global innodb_log_archive=1; -select @@innodb_log_archive; - -select @@innodb_log_arch_dir; ---error ER_INCORRECT_GLOBAL_LOCAL_VAR -set global innodb_log_arch_dir="ttt"; - ---let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err ---let SEARCH_PATTERN=Using [A-Za-z\\-]* is deprecated and the parameter may be removed in future releases. Ignoning the parameter. ---source include/search_pattern_in_file.inc diff --git a/mysql-test/suite/innodb/t/log_corruption.test b/mysql-test/suite/innodb/t/log_corruption.test index 8013cc45830..3bf68cab4cc 100644 --- a/mysql-test/suite/innodb/t/log_corruption.test +++ b/mysql-test/suite/innodb/t/log_corruption.test @@ -165,7 +165,7 @@ EOF --source include/start_mysqld.inc eval $check_no_innodb; --source include/shutdown_mysqld.inc -let SEARCH_PATTERN=InnoDB: Unsupported redo log format. The redo log was created with malicious intentions, or perhaps\. Please follow the instructions at http://dev.mysql.com/doc/refman/5.7/en/upgrading-downgrading.html; +let SEARCH_PATTERN=InnoDB: Unsupported redo log format. The redo log was created with malicious intentions, or perhaps\.; --source include/search_pattern_in_file.inc --echo # valid header, but old-format checkpoint blocks @@ -204,6 +204,21 @@ EOF --source include/start_mysqld.inc eval $check_no_innodb; --source include/shutdown_mysqld.inc +let SEARCH_PATTERN=InnoDB: Upgrade after a crash is not supported\. The redo log was created with malicious intentions, or perhaps, and it appears corrupted\.; +--source include/search_pattern_in_file.inc + +--echo # same, but with current-version header +perl; +die unless open OUT, "+<", "$ENV{bugdir}/ib_logfile0"; +binmode OUT; +print OUT pack("Nx[5]nx[5]", 103, 0x1286), "MariaDB 10.3.1"; +print OUT pack("x[478]N", 0x85021a0f); +close OUT or die; +EOF +--source include/start_mysqld.inc +eval $check_no_innodb; +--source include/shutdown_mysqld.inc + let SEARCH_PATTERN=InnoDB: Invalid log block checksum. block: 2372 checkpoint no: 1 expected: 3362026715 found: 144444122; --source include/search_pattern_in_file.inc let SEARCH_PATTERN=InnoDB: Missing MLOG_CHECKPOINT between the checkpoint 1213964 and the end 1213952\.; @@ -221,9 +236,8 @@ perl; die unless open OUT, "+<", "$ENV{bugdir}/ib_logfile0"; binmode OUT; # header block -print OUT pack("Nx[5]nx[5]", 1, 0x1286); -print OUT "malicious intentions, or perhaps not"; -print OUT pack("x[456]N", 0xd42d53a2); +print OUT pack("Nx[5]nx[5]", 103, 0x1286), "MariaDB 10.3.1"; +print OUT pack("x[478]N", 0x85021a0f); # checkpoint page 1 and all-zero checkpoint 2 print OUT pack("x[13]nCNNx[264]", 0x1286, 12, 0, 0x80c); print OUT pack("H*x[212]Nx[1024]", "590DBAACFE922582", 0xc72d49c4); @@ -281,9 +295,8 @@ perl; die unless open OUT, "+<", "$ENV{bugdir}/ib_logfile0"; binmode OUT; # header block -print OUT pack("Nx[5]nx[5]", 1, 0x1286); -print OUT "ibbackup was here!!!1!"; -print OUT pack("x[470]N", 0x52b54540); +print OUT pack("Nx[5]nx[5]", 103, 0x1286), "MariaDB 10.3.1"; +print OUT pack("x[478]N", 0x85021a0f); # invalid (all-zero) checkpoint page 1 and an empty log page print OUT chr(0) x 1024; # valid checkpoint block 2 @@ -326,9 +339,8 @@ perl; die unless open OUT, "+<", "$ENV{bugdir}/ib_logfile0"; binmode OUT; # header block -print OUT pack("Nx[5]nx[5]", 1, 0x1286); -print OUT "ibbackup was here!!!1!"; -print OUT pack("x[470]N", 0x52b54540); +print OUT pack("Nx[5]nx[5]", 103, 0x1286), "MariaDB 10.3.1"; +print OUT pack("x[478]N", 0x85021a0f); # invalid (all-zero) checkpoint page 1 and an empty log page print OUT chr(0) x 1024; # valid checkpoint block 2 diff --git a/mysql-test/suite/innodb/t/table_flags.test b/mysql-test/suite/innodb/t/table_flags.test index a2dd249f090..7f47b8254e2 100644 --- a/mysql-test/suite/innodb/t/table_flags.test +++ b/mysql-test/suite/innodb/t/table_flags.test @@ -27,7 +27,7 @@ let bugdir= $MYSQLTEST_VARDIR/tmp/table_flags; --let $d=--innodb-data-home-dir=$bugdir --innodb-log-group-home-dir=$bugdir --let $d=$d --innodb-data-file-path=ibdata1:1M:autoextend --let $d=$d --innodb-undo-tablespaces=0 ---let $restart_parameters=$d --innodb-stats-persistent=0 --innodb-file-format=1 +--let $restart_parameters=$d --innodb-stats-persistent=0 --source include/restart_mysqld.inc SET GLOBAL innodb_file_per_table=1; |