31
ALTER TABLE t1 ADD str1 CHAR (100) DEFAULT "catfood" NOT NULL,
32
ADD zeroval INT NOT NULL DEFAULT 0,
33
ADD str2 CHAR (100) DEFAULT "bird" NOT NULL,
34
ADD str3 CHAR (100) DEFAULT "dog" NOT NULL;
35
UPDATE t1 SET str1='aaa', str2='bbb', str3=concat(key2, '-', key1 div 2, '_' ,if(key1 mod 2 = 0, 'a', 'A'));
36
ALTER TABLE t1 ADD PRIMARY KEY (str1, zeroval, str2, str3);
37
EXPLAIN SELECT * FROM t1 WHERE key1 < 5 OR key2 > 197;
31
alter table t1 add str1 char (100) not null,
32
add zeroval int not null default 0,
33
add str2 char (100) not null,
34
add str3 char (100) not null;
35
update t1 set str1='aaa', str2='bbb', str3=concat(key2, '-', key1 div 2, '_' ,if(key1 mod 2 = 0, 'a', 'A'));
36
alter table t1 add primary key (str1, zeroval, str2, str3);
37
explain select * from t1 where key1 < 5 or key2 > 197;
38
38
id select_type table type possible_keys key key_len ref rows Extra
39
39
1 SIMPLE t1 index_merge i1,i2 i1,i2 4,4 NULL 8 Using sort_union(i1,i2); Using where
40
40
select * from t1 where key1 < 5 or key2 > 197;
97
97
create table t2 (a int);
98
98
insert into t2 values (0),(1),(2),(3),(4),(NULL);
99
99
insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b)
100
select A.a, B.a, C.a, D.a, C.a, D.a from t2 A CROSS JOIN t2 B CROSS JOIN t2 C CROSS JOIN t2 D;
100
select A.a, B.a, C.a, D.a, C.a, D.a from t2 A,t2 B,t2 C, t2 D;
101
101
insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b)
102
102
select key1a, key1b, key2a, key2b, key3a, key3b from t1;
103
103
insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b)
182
# Bug#56423: Different count with SELECT and CREATE SELECT queries
193
INSERT INTO t1 VALUES
201
WHERE c = 1 AND b = 1 AND d = 1;
202
id select_type table type possible_keys key key_len ref rows Extra
203
1 SIMPLE t1 ref c,bd bd 10 const,const 2 Using where
204
CREATE TABLE t2 ( a INT )
207
WHERE c = 1 AND b = 1 AND d = 1;
213
CREATE TABLE t1( a INT, b INT, KEY(a), KEY(b) );
214
INSERT INTO t1 VALUES (1, 2), (1, 2), (1, 2), (1, 2);
215
SELECT * FROM t1 FORCE INDEX(a, b) WHERE a = 1 AND b = 2;
222
# Code coverage of fix.
223
CREATE TABLE t1 ( a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b INT);
224
INSERT INTO t1 (b) VALUES (1);
225
UPDATE t1 SET b = 2 WHERE a = 1;
229
CREATE TABLE t2 ( a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b VARCHAR(1) );
230
INSERT INTO t2 (b) VALUES ('a');
231
UPDATE t2 SET b = 'b' WHERE a = 1;
236
181
#---------------- 2-sweeps read Index merge test 2 -------------------------------
237
182
SET SESSION STORAGE_ENGINE = InnoDB;
238
183
drop table if exists t1;