~drizzle-trunk/drizzle/development

1 by brian
clean slate
1
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
2
PREPARE stmt_start FROM "SELECT UNIX_TIMESTAMP() INTO @start";
3
SET @runtime = <intended_runtime>;
4
PREPARE stmt_break FROM "SELECT UNIX_TIMESTAMP() - @start > @runtime - 1";
5
DROP TABLE IF EXISTS t1;
6
# Subtest 1A (one connection, no PREPARE/EXECUTE)
7
#    connection  action
8
#    default:    CREATE TABLE t1 (f1 BIGINT,f2 BIGINT,UNIQUE(f1),UNIQUE(f2))
9
ENGINE = MyISAM
10
#    default:    INSERT INTO t1 VALUES (1,1), (2,2), (3,3)
11
#    default:    DROP TABLE t1
12
# Subtest 1B (one connection, use PREPARE/EXECUTE)
13
#    connection  action
14
#    default:    CREATE TABLE t1 (f1 BIGINT,f2 BIGINT,UNIQUE(f1),UNIQUE(f2))
15
ENGINE = MyISAM
16
#    default:    INSERT INTO t1 VALUES (1,1), (2,2), (3,3)
17
#    default:    DROP TABLE t1
18
# Subtest 1C (two connections, no PREPARE/EXECUTE)
19
#    connection  action
20
#    default:    CREATE TABLE t1 (f1 BIGINT,f2 BIGINT,UNIQUE(f1),UNIQUE(f2))
21
ENGINE = MyISAM
22
#    con2:       INSERT INTO t1 VALUES (1,1), (2,2), (3,3)
23
#    con2:       DROP TABLE t1
24
# Subtest 1D (two connections, use PREPARE/EXECUTE)
25
#    connection  action
26
#    default:    CREATE TABLE t1 (f1 BIGINT,f2 BIGINT,UNIQUE(f1),UNIQUE(f2))
27
ENGINE = MyISAM
28
#    con2:       INSERT INTO t1 VALUES (1,1), (2,2), (3,3)
29
#    con2:       DROP TABLE t1
30
# Subtest 2A (one connection, no PREPARE/EXECUTE)
31
#    connection  action
32
#    default:    CREATE TABLE t1 ENGINE = MyISAM AS SELECT 1 AS f1
33
#    default:    SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1
34
#    default:    DROP TABLE t1
35
#    default:    SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1 (expect to get ER_NO_SUCH_TABLE)
36
# Subtest 2B (one connection, use PREPARE/EXECUTE)
37
#    connection  action
38
#    default:    CREATE TABLE t1 ENGINE = MyISAM AS SELECT 1 AS f1
39
#    default:    SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1
40
#    default:    DROP TABLE t1
41
#    default:    SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1 (expect to get ER_NO_SUCH_TABLE)
42
# Subtest 2C (two connections, no PREPARE/EXECUTE)
43
#    connection  action
44
#    default:    CREATE TABLE t1 ENGINE = MyISAM AS SELECT 1 AS f1
45
#    con2:       SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1
46
#    default:    DROP TABLE t1
47
#    con2:       SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1 (expect to get ER_NO_SUCH_TABLE)
48
# Subtest 2D (two connections, use PREPARE/EXECUTE)
49
#    connection  action
50
#    default:    CREATE TABLE t1 ENGINE = MyISAM AS SELECT 1 AS f1
51
#    con2:       SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1
52
#    default:    DROP TABLE t1
53
#    con2:       SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1 (expect to get ER_NO_SUCH_TABLE)
54
# Subtest 3A (one connection, no PREPARE/EXECUTE)
55
#    connection  action
56
#    default:    CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM
57
#    default:    CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM (expect to get ER_TABLE_EXISTS_ERROR)
58
#    default:    DROP TABLE t1
59
#    default:    DROP TABLE t1 (expect to get ER_BAD_TABLE_ERROR)
60
# Subtest 3B (one connection, use PREPARE/EXECUTE)
61
#    connection  action
62
#    default:    CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM
63
#    default:    CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM (expect to get ER_TABLE_EXISTS_ERROR)
64
#    default:    DROP TABLE t1
65
#    default:    DROP TABLE t1 (expect to get ER_BAD_TABLE_ERROR)
66
# Subtest 3C (two connections, no PREPARE/EXECUTE)
67
#    connection  action
68
#    default:    CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM
69
#    con2:       CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM (expect to get ER_TABLE_EXISTS_ERROR)
70
#    default:    DROP TABLE t1
71
#    con2:       DROP TABLE t1 (expect to get ER_BAD_TABLE_ERROR)
72
# Subtest 3D (two connections, use PREPARE/EXECUTE)
73
#    connection  action
74
#    default:    CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM
75
#    con2:       CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM (expect to get ER_TABLE_EXISTS_ERROR)
76
#    default:    DROP TABLE t1
77
#    con2:       DROP TABLE t1 (expect to get ER_BAD_TABLE_ERROR)
78
CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1), UNIQUE (f2)) ENGINE=MyISAM;
79
DROP TABLE t1;
80
CREATE TABLE t1 (f1 BIGINT) ENGINE=MyISAM;
81
DROP TABLE t1;
82
# Subtest 4A (one connection, no PREPARE/EXECUTE)
83
#    connection  action
84
#    default:    CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1), UNIQUE (f2)) ENGINE=MyISAM
85
#    default:    SHOW CREATE TABLE t1
86
#    default:    DROP TABLE t1
87
#    default:    SHOW CREATE TABLE t1 (expect to get ER_NO_SUCH_TABLE)
88
#    default:    CREATE TABLE t1 (f1 BIGINT) ENGINE=MyISAM
89
#    default:    SHOW CREATE TABLE t1
90
#    default:    DROP TABLE t1
91
# Subtest 4B (one connection, use PREPARE/EXECUTE)
92
#    connection  action
93
#    default:    CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1), UNIQUE (f2)) ENGINE=MyISAM
94
#    default:    SHOW CREATE TABLE t1
95
#    default:    DROP TABLE t1
96
#    default:    SHOW CREATE TABLE t1 (expect to get ER_NO_SUCH_TABLE)
97
#    default:    CREATE TABLE t1 (f1 BIGINT) ENGINE=MyISAM
98
#    default:    SHOW CREATE TABLE t1
99
#    default:    DROP TABLE t1
100
# Subtest 4C (two connections, no PREPARE/EXECUTE)
101
#    connection  action
102
#    default:    CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1), UNIQUE (f2)) ENGINE=MyISAM
103
#    con2:       SHOW CREATE TABLE t1
104
#    default:    DROP TABLE t1
105
#    con2:       SHOW CREATE TABLE t1 (expect to get ER_NO_SUCH_TABLE)
106
#    default:    CREATE TABLE t1 (f1 BIGINT) ENGINE=MyISAM
107
#    con2:       SHOW CREATE TABLE t1
108
#    default:    DROP TABLE t1
109
# Subtest 4D (two connections, use PREPARE/EXECUTE)
110
#    connection  action
111
#    default:    CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1), UNIQUE (f2)) ENGINE=MyISAM
112
#    con2:       SHOW CREATE TABLE t1
113
#    default:    DROP TABLE t1
114
#    con2:       SHOW CREATE TABLE t1 (expect to get ER_NO_SUCH_TABLE)
115
#    default:    CREATE TABLE t1 (f1 BIGINT) ENGINE=MyISAM
116
#    con2:       SHOW CREATE TABLE t1
117
#    default:    DROP TABLE t1
118
# Subtest 5A (one connection, no PREPARE/EXECUTE)
119
#    connection  action
120
#    default:    CREATE TABLE t1 (f1 MEDIUMINT NOT NULL AUTO_INCREMENT,f2 BIGINT, UNIQUE(f1)) ENGINE = MyISAM
121
#    default:    INSERT INTO t1 SET f2 = 9
122
#    default:    SELECT f1 <> 1 OR f1 IS NULL FROM t1 WHERE f2 = 9
123
#    default:    DROP TABLE t1
124
# Subtest 5B (one connection, use PREPARE/EXECUTE)
125
#    connection  action
126
#    default:    CREATE TABLE t1 (f1 MEDIUMINT NOT NULL AUTO_INCREMENT,f2 BIGINT, UNIQUE(f1)) ENGINE = MyISAM
127
#    default:    INSERT INTO t1 SET f2 = 9
128
#    default:    SELECT f1 <> 1 OR f1 IS NULL FROM t1 WHERE f2 = 9
129
#    default:    DROP TABLE t1
130
# Subtest 5C (two connections, no PREPARE/EXECUTE)
131
#    connection  action
132
#    default:    CREATE TABLE t1 (f1 MEDIUMINT NOT NULL AUTO_INCREMENT,f2 BIGINT, UNIQUE(f1)) ENGINE = MyISAM
133
#    con2:       INSERT INTO t1 SET f2 = 9
134
#    default:    SELECT f1 <> 1 OR f1 IS NULL FROM t1 WHERE f2 = 9
135
#    con2:       DROP TABLE t1
136
# Subtest 5D (two connections, use PREPARE/EXECUTE)
137
#    connection  action
138
#    default:    CREATE TABLE t1 (f1 MEDIUMINT NOT NULL AUTO_INCREMENT,f2 BIGINT, UNIQUE(f1)) ENGINE = MyISAM
139
#    con2:       INSERT INTO t1 SET f2 = 9
140
#    default:    SELECT f1 <> 1 OR f1 IS NULL FROM t1 WHERE f2 = 9
141
#    con2:       DROP TABLE t1
142
CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1)) ENGINE=MyISAM;
143
# Subtest 6A (one connection, no PREPARE/EXECUTE)
144
#    connection  action
145
#    default:    CREATE INDEX IDX1 ON t1 (f2)
146
#    default:    CREATE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_KEYNAME)
147
#    default:    DROP INDEX IDX1 ON t1
148
#    default:    DROP INDEX IDX1 ON t1 (expect to get ER_CANT_DROP_FIELD_OR_KEY)
149
#    default:    CREATE INDEX IDX1 ON t1 (f2)
150
#    default:    DROP INDEX IDX1 ON t1
151
# Subtest 6B (one connection, use PREPARE/EXECUTE)
152
#    connection  action
153
#    default:    CREATE INDEX IDX1 ON t1 (f2)
154
#    default:    CREATE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_KEYNAME)
155
#    default:    DROP INDEX IDX1 ON t1
156
#    default:    DROP INDEX IDX1 ON t1 (expect to get ER_CANT_DROP_FIELD_OR_KEY)
157
#    default:    CREATE INDEX IDX1 ON t1 (f2)
158
#    default:    DROP INDEX IDX1 ON t1
159
# Subtest 6C (two connections, no PREPARE/EXECUTE)
160
#    connection  action
161
#    default:    CREATE INDEX IDX1 ON t1 (f2)
162
#    con2:       CREATE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_KEYNAME)
163
#    default:    DROP INDEX IDX1 ON t1
164
#    con2:       DROP INDEX IDX1 ON t1 (expect to get ER_CANT_DROP_FIELD_OR_KEY)
165
#    default:    CREATE INDEX IDX1 ON t1 (f2)
166
#    con2:       DROP INDEX IDX1 ON t1
167
# Subtest 6D (two connections, use PREPARE/EXECUTE)
168
#    connection  action
169
#    default:    CREATE INDEX IDX1 ON t1 (f2)
170
#    con2:       CREATE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_KEYNAME)
171
#    default:    DROP INDEX IDX1 ON t1
172
#    con2:       DROP INDEX IDX1 ON t1 (expect to get ER_CANT_DROP_FIELD_OR_KEY)
173
#    default:    CREATE INDEX IDX1 ON t1 (f2)
174
#    con2:       DROP INDEX IDX1 ON t1
175
DROP TABLE t1;
176
CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, PRIMARY KEY(f1)) ENGINE=MyISAM;
177
INSERT INTO t1 VALUES(0,1);
178
# Subtest 7A (one connection, no PREPARE/EXECUTE)
179
#    connection  action
180
#    default:    CREATE UNIQUE INDEX IDX1 ON t1 (f2)
181
#    default:    INSERT INTO t1 VALUES(1,1) (expect to get ER_DUP_ENTRY)
182
#    default:    DROP INDEX IDX1 ON t1
183
#    default:    INSERT INTO t1 VALUES(1,1)
184
#    default:    CREATE UNIQUE INDEX IDX1 ON t1 (f2)  (expect to get ER_DUP_ENTRY)
185
#    default:    DELETE FROM t1 WHERE f1 = 1
186
# Subtest 7B (one connection, use PREPARE/EXECUTE)
187
#    connection  action
188
#    default:    CREATE UNIQUE INDEX IDX1 ON t1 (f2)
189
#    default:    INSERT INTO t1 VALUES(1,1) (expect to get ER_DUP_ENTRY)
190
#    default:    DROP INDEX IDX1 ON t1
191
#    default:    INSERT INTO t1 VALUES(1,1)
192
#    default:    CREATE UNIQUE INDEX IDX1 ON t1 (f2)  (expect to get ER_DUP_ENTRY)
193
#    default:    DELETE FROM t1 WHERE f1 = 1
194
# Subtest 7C (two connections, no PREPARE/EXECUTE)
195
#    connection  action
196
#    default:    CREATE UNIQUE INDEX IDX1 ON t1 (f2)
197
#    default:    INSERT INTO t1 VALUES(1,1) (expect to get ER_DUP_ENTRY)
198
#    con2:       DROP INDEX IDX1 ON t1
199
#    default:    INSERT INTO t1 VALUES(1,1)
200
#    con2:       CREATE UNIQUE INDEX IDX1 ON t1 (f2)  (expect to get ER_DUP_ENTRY)
201
#    con2:       DELETE FROM t1 WHERE f1 = 1
202
# Subtest 7D (two connections, use PREPARE/EXECUTE)
203
#    connection  action
204
#    default:    CREATE UNIQUE INDEX IDX1 ON t1 (f2)
205
#    default:    INSERT INTO t1 VALUES(1,1) (expect to get ER_DUP_ENTRY)
206
#    con2:       DROP INDEX IDX1 ON t1
207
#    default:    INSERT INTO t1 VALUES(1,1)
208
#    con2:       CREATE UNIQUE INDEX IDX1 ON t1 (f2)  (expect to get ER_DUP_ENTRY)
209
#    con2:       DELETE FROM t1 WHERE f1 = 1
210
DROP TABLE t1;
211
CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1)) ENGINE=MyISAM;
212
INSERT INTO t1 VALUES(1,1);
213
CREATE INDEX IDX ON t1 (f2);
214
DROP INDEX IDX ON t1;
215
CREATE UNIQUE INDEX IDX ON t1 (f2);
216
DROP INDEX IDX ON t1;
217
# Subtest 8A (one connection, no PREPARE/EXECUTE)
218
#    connection  action
219
#    default:    CREATE INDEX IDX ON t1 (f2)
220
#    default:    SHOW CREATE TABLE t1
221
#    default:    DROP INDEX IDX ON t1
222
#    default:    CREATE UNIQUE INDEX IDX ON t1 (f2)
223
#    default:    SHOW CREATE TABLE t1
224
#    default:    DROP INDEX IDX ON t1
225
# Subtest 8B (one connection, use PREPARE/EXECUTE)
226
#    connection  action
227
#    default:    CREATE INDEX IDX ON t1 (f2)
228
#    default:    SHOW CREATE TABLE t1
229
#    default:    DROP INDEX IDX ON t1
230
#    default:    CREATE UNIQUE INDEX IDX ON t1 (f2)
231
#    default:    SHOW CREATE TABLE t1
232
#    default:    DROP INDEX IDX ON t1
233
# Subtest 8C (two connections, no PREPARE/EXECUTE)
234
#    connection  action
235
#    default:    CREATE INDEX IDX ON t1 (f2)
236
#    con2:       SHOW CREATE TABLE t1
237
#    default:    DROP INDEX IDX ON t1
238
#    default:    CREATE UNIQUE INDEX IDX ON t1 (f2)
239
#    con2:       SHOW CREATE TABLE t1
240
#    default:    DROP INDEX IDX ON t1
241
# Subtest 8D (two connections, use PREPARE/EXECUTE)
242
#    connection  action
243
#    default:    CREATE INDEX IDX ON t1 (f2)
244
#    con2:       SHOW CREATE TABLE t1
245
#    default:    DROP INDEX IDX ON t1
246
#    default:    CREATE UNIQUE INDEX IDX ON t1 (f2)
247
#    con2:       SHOW CREATE TABLE t1
248
#    default:    DROP INDEX IDX ON t1
249
DROP TABLE t1;
250
DEALLOCATE PREPARE stmt_start;
251
DEALLOCATE PREPARE stmt_break;