summaryrefslogtreecommitdiff
path: root/mysql-test/t/myisam-metadata.test
blob: 609cf5d8c5e7eef4d631731afa6908dbb96f71a5 (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
#
# Test bugs in MyISAM that may cause problems for metadata
#

--source include/big_test.inc
--source include/have_debug_sync.inc

--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings

#
# LP:989055 - Querying myisam table metadata may corrupt the table
#

CREATE TABLE t1 (
  id INT PRIMARY KEY,
  a VARCHAR(100),
  INDEX(a)
) ENGINE=MyISAM;
ALTER TABLE t1 DISABLE KEYS;

let $1=100000;
--disable_query_log
while ($1)
{
 eval insert into t1 values($1, "line number $1");
 dec $1;
}
--enable_query_log

--connect(con1,localhost,root,,)
SET debug_sync= 'myisam_before_repair_by_sort SIGNAL waiting WAIT_FOR go';
send
  ALTER TABLE t1 ENABLE KEYS;

--connection default
SET debug_sync= 'now WAIT_FOR waiting';
SET debug_sync= 'now SIGNAL go';

--replace_column 7 # 8 # 9 # 12 # 13 # 14 #
SHOW TABLE STATUS LIKE 't1';

--connection con1
--reap
--connection default
--disconnect con1
DROP TABLE t1;