summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb_plugin/t/innodb_bug39438.test
blob: 879059bac0d4778aea61236c2559d6b26f0c39db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#
# Bug#39438 Testcase for Bug#39436 crashes on 5.1 in fil_space_get_latch
# http://bugs.mysql.com/39438
#
# This test must be run with innodb_file_per_table=1 because the crash
# only occurs if that option is turned on and DISCARD TABLESPACE only
# works with innodb_file_per_table.
#

-- source include/have_innodb_plugin.inc

SET storage_engine=InnoDB;

# we care only that the following SQL commands do not crash the server
-- disable_query_log
-- disable_result_log

DROP TABLE IF EXISTS bug39438;

CREATE TABLE bug39438 (id INT) ENGINE=INNODB;

# remove: XXX Uncomment the following ALTER and remove those lines after
# remove: applying the patch.
# remove: Obviously this test is useless without this ALTER command,
# remove: but it causes warnings to be printed by mysqld and the whole
# remove: mysql-test suite fails at the end (returns non-zero). Please
# remove: apply this patch to the mysql source tree, remove those lines
# remove: and uncomment the following ALTER. We do not care about the
# remove: warnings, this test is to ensure mysqld does not crash.
# remove: === modified file 'mysql-test/lib/mtr_report.pl'
# remove: --- mysql-test/lib/mtr_report.pl	2008-08-12 10:26:23 +0000
# remove: +++ mysql-test/lib/mtr_report.pl	2008-10-01 11:57:41 +0000
# remove: @@ -412,7 +412,10 @@
# remove:  
# remove:                  # When trying to set lower_case_table_names = 2
# remove:                  # on a case sensitive file system. Bug#37402.
# remove: -                /lower_case_table_names was set to 2, even though your the file system '.*' is case sensitive.  Now setting lower_case_table_names to 0 to avoid future problems./
# remove: +                /lower_case_table_names was set to 2, even though your the file system '.*' is case sensitive.  Now setting lower_case_table_names to 0 to avoid future problems./ or
# remove: +
# remove: +                # this test is expected to print warnings
# remove: +                ($testname eq 'main.innodb_bug39438')
# remove:  		)
# remove:              {
# remove:                next;                       # Skip these lines
# remove: 
#ALTER TABLE bug39438 DISCARD TABLESPACE;

# this crashes the server if the bug is present
SHOW TABLE STATUS;

DROP TABLE bug39438;