mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
This commit is contained in:
@ -514,7 +514,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
explain
|
||||
select min(a1) from t1 where a1 != 'KKK';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL PRIMARY 3 NULL 14 Using where; Using index
|
||||
1 SIMPLE t1 range PRIMARY PRIMARY 3 NULL 14 Using where; Using index
|
||||
explain
|
||||
select max(a3) from t1 where a2 < 2 and a3 < 'SEA';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
@ -560,7 +560,7 @@ explain
|
||||
select concat(min(t1.a1),min(t2.a4)) from t1, t2 where t2.a4 <> 'AME';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL PRIMARY 3 NULL 14 Using index
|
||||
1 SIMPLE t2 index NULL k2 4 NULL 6 Using where; Using index
|
||||
1 SIMPLE t2 range k2 k2 4 NULL 6 Using where; Using index
|
||||
drop table t1, t2;
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
select count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1;
|
||||
|
@ -41,3 +41,194 @@ SELECT @@default.key_buffer_size;
|
||||
ERROR 42000: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'default.key_buffer_size' at line 1
|
||||
SELECT @@skr.table_type="test";
|
||||
ERROR HY000: Variable 'table_type' is not a variable component (Can't be used as XXXX.variable_name)
|
||||
select @@keycache1.key_cache_block_size;
|
||||
@@keycache1.key_cache_block_size
|
||||
0
|
||||
select @@keycache1.key_buffer_size;
|
||||
@@keycache1.key_buffer_size
|
||||
0
|
||||
set global keycache1.key_cache_block_size=2048;
|
||||
select @@keycache1.key_buffer_size;
|
||||
@@keycache1.key_buffer_size
|
||||
0
|
||||
select @@keycache1.key_cache_block_size;
|
||||
@@keycache1.key_cache_block_size
|
||||
2048
|
||||
set global keycache1.key_buffer_size=1*1024*1024;
|
||||
select @@keycache1.key_buffer_size;
|
||||
@@keycache1.key_buffer_size
|
||||
1048576
|
||||
select @@keycache1.key_cache_block_size;
|
||||
@@keycache1.key_cache_block_size
|
||||
2048
|
||||
set global keycache2.key_buffer_size=4*1024*1024;
|
||||
select @@keycache2.key_buffer_size;
|
||||
@@keycache2.key_buffer_size
|
||||
4194304
|
||||
select @@keycache2.key_cache_block_size;
|
||||
@@keycache2.key_cache_block_size
|
||||
1024
|
||||
set global keycache1.key_buffer_size=0;
|
||||
select @@keycache1.key_buffer_size;
|
||||
@@keycache1.key_buffer_size
|
||||
0
|
||||
select @@keycache1.key_cache_block_size;
|
||||
@@keycache1.key_cache_block_size
|
||||
0
|
||||
select @@key_buffer_size;
|
||||
@@key_buffer_size
|
||||
2097152
|
||||
select @@key_cache_block_size;
|
||||
@@key_cache_block_size
|
||||
1024
|
||||
drop table if exists t1, t2;
|
||||
create table t1 (p int primary key, a char(10));
|
||||
create table t2 (p int primary key, i int, a char(10), key k1(i), key k2(a));
|
||||
insert into t1 values (1, 'qqqq'), (11, 'yyyy');
|
||||
insert into t2 values (1, 1, 'qqqq'), (2, 1, 'pppp'),
|
||||
(3, 1, 'yyyy'), (4, 3, 'zzzz');
|
||||
select * from t1;
|
||||
p a
|
||||
1 qqqq
|
||||
11 yyyy
|
||||
select * from t2;
|
||||
p i a
|
||||
1 1 qqqq
|
||||
2 1 pppp
|
||||
3 1 yyyy
|
||||
4 3 zzzz
|
||||
update t1 set p=2 where p=1;
|
||||
update t2 set i=2 where i=1;
|
||||
cache index t1 keys in keycache1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 assign_to_keycache status OK
|
||||
explain select p from t1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL PRIMARY 4 NULL 2 Using index
|
||||
select p from t1;
|
||||
p
|
||||
2
|
||||
11
|
||||
explain select i from t2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index NULL k1 5 NULL 4 Using index
|
||||
select i from t2;
|
||||
i
|
||||
2
|
||||
2
|
||||
2
|
||||
3
|
||||
explain select count(*) from t1, t2 where t1.p = t2.i;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index PRIMARY PRIMARY 4 NULL 2 Using index
|
||||
1 SIMPLE t2 ref k1 k1 5 test.t1.p 2 Using where; Using index
|
||||
select count(*) from t1, t2 where t1.p = t2.i;
|
||||
count(*)
|
||||
3
|
||||
cache index t2 keys in keycache1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t2 assign_to_keycache status OK
|
||||
update t2 set p=p+1000, i=2 where a='qqqq';
|
||||
cache index t2 keys in keycache2;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t2 assign_to_keycache status OK
|
||||
insert into t2 values (2000, 3, 'yyyy');
|
||||
cache index t2 keys in keycache1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t2 assign_to_keycache status OK
|
||||
update t2 set p=3000 where a='zzzz';
|
||||
select * from t2;
|
||||
p i a
|
||||
1001 2 qqqq
|
||||
2 2 pppp
|
||||
3 2 yyyy
|
||||
3000 3 zzzz
|
||||
2000 3 yyyy
|
||||
explain select p from t2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index NULL PRIMARY 4 NULL 5 Using index
|
||||
select p from t2;
|
||||
p
|
||||
2
|
||||
3
|
||||
1001
|
||||
2000
|
||||
3000
|
||||
explain select i from t2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index NULL k1 5 NULL 5 Using index
|
||||
select i from t2;
|
||||
i
|
||||
2
|
||||
2
|
||||
2
|
||||
3
|
||||
3
|
||||
explain select a from t2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index NULL k2 11 NULL 5 Using index
|
||||
select a from t2;
|
||||
a
|
||||
pppp
|
||||
qqqq
|
||||
yyyy
|
||||
yyyy
|
||||
zzzz
|
||||
select @@keycache2.key_buffer_size;
|
||||
@@keycache2.key_buffer_size
|
||||
4194304
|
||||
select @@keycache2.key_cache_block_size;
|
||||
@@keycache2.key_cache_block_size
|
||||
1024
|
||||
set global keycache2.key_buffer_size=0;
|
||||
select @@keycache2.key_buffer_size;
|
||||
@@keycache2.key_buffer_size
|
||||
0
|
||||
select @@keycache2.key_cache_block_size;
|
||||
@@keycache2.key_cache_block_size
|
||||
0
|
||||
update t2 set p=4000 where a='zzzz';
|
||||
update t1 set p=p+1;
|
||||
set global keycache1.key_buffer_size=0;
|
||||
select * from t2;
|
||||
p i a
|
||||
1001 2 qqqq
|
||||
2 2 pppp
|
||||
3 2 yyyy
|
||||
4000 3 zzzz
|
||||
2000 3 yyyy
|
||||
select p from t2;
|
||||
p
|
||||
2
|
||||
3
|
||||
1001
|
||||
2000
|
||||
4000
|
||||
explain select i from t2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index NULL k1 5 NULL 5 Using index
|
||||
select i from t2;
|
||||
i
|
||||
2
|
||||
2
|
||||
2
|
||||
3
|
||||
3
|
||||
explain select a from t2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index NULL k2 11 NULL 5 Using index
|
||||
select a from t2;
|
||||
a
|
||||
pppp
|
||||
qqqq
|
||||
yyyy
|
||||
yyyy
|
||||
zzzz
|
||||
select * from t1;
|
||||
p a
|
||||
3 qqqq
|
||||
12 yyyy
|
||||
select p from t1;
|
||||
p
|
||||
3
|
||||
12
|
||||
|
@ -4,14 +4,35 @@ INSERT INTO t1 VALUES (1), (2);
|
||||
<?xml version="1.0"?>
|
||||
<mysqldump>
|
||||
<database name="test">
|
||||
<table name="t1">
|
||||
<table_structure name="t1">
|
||||
<field Field="a" Type="int(11)" Null="YES" />
|
||||
</table_structure>
|
||||
<table_data name="t1">
|
||||
<row>
|
||||
<field name="a">1</field>
|
||||
</row>
|
||||
<row>
|
||||
<field name="a">2</field>
|
||||
</row>
|
||||
</table>
|
||||
</table_data>
|
||||
</database>
|
||||
</mysqldump>
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE `t"1` (`a"b"c"` char(2));
|
||||
INSERT INTO `t"1` VALUES ("\"1"), ("2\"");
|
||||
<?xml version="1.0"?>
|
||||
<mysqldump>
|
||||
<database name="test">
|
||||
<table_structure name="t"1">
|
||||
<field Field="a"b"c"" Type="char(2)" Null="YES" />
|
||||
</table_structure>
|
||||
<table_data name="t"1">
|
||||
<row>
|
||||
<field name="a"b"c"">"1</field>
|
||||
</row>
|
||||
<row>
|
||||
<field name="a"b"c"">2"</field>
|
||||
</row>
|
||||
</table_data>
|
||||
</database>
|
||||
</mysqldump>
|
||||
|
@ -1,4 +1,4 @@
|
||||
drop table if exists t1;
|
||||
drop table if exists t1, t2;
|
||||
CREATE TABLE t1 (
|
||||
event_date date DEFAULT '0000-00-00' NOT NULL,
|
||||
type int(11) DEFAULT '0' NOT NULL,
|
||||
@ -215,17 +215,6 @@ select count(*) from t1 where art = 'J';
|
||||
count(*)
|
||||
213
|
||||
drop table t1;
|
||||
create table t1 ( id1 int not null, id2 int not null, idnull int null, c char(20), primary key (id1,id2));
|
||||
insert into t1 values (0,1,NULL,"aaa"), (1,1,NULL,"aaa"), (2,1,NULL,"aaa"),
|
||||
(3,1,NULL,"aaa"), (4,1,NULL,"aaa"), (5,1,NULL,"aaa"),
|
||||
(6,1,NULL,"aaa"), (7,1,NULL,"aaa"), (8,1,NULL,"aaa"),
|
||||
(9,1,NULL,"aaa"), (10,1,NULL,"aaa"), (11,1,NULL,"aaa"),
|
||||
(12,1,NULL,"aaa"), (13,1,NULL,"aaa"), (14,1,NULL,"aaa"),
|
||||
(15,1,NULL,"aaa"), (16,1,NULL,"aaa"), (17,1,NULL,"aaa"),
|
||||
(18,1,NULL,"aaa"), (19,1,NULL,"aaa"), (20,1,NULL,"aaa");
|
||||
select a.id1, b.idnull from t1 as a, t1 as b where a.id2=1 and a.id1=1 and b.id1=a.idnull order by b.id2 desc limit 1;
|
||||
id1 idnull
|
||||
drop table t1;
|
||||
create table t1 (x int, y int, index(x), index(y));
|
||||
insert into t1 (x) values (1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
update t1 set y=x;
|
||||
@ -286,3 +275,145 @@ id
|
||||
5
|
||||
9
|
||||
drop table t1;
|
||||
create table t1 ( id1 int not null, id2 int not null, idnull int null, c char(20), primary key (id1,id2));
|
||||
insert into t1 values (0,1,NULL,"aaa"), (1,1,NULL,"aaa"), (2,1,NULL,"aaa"),
|
||||
(3,1,NULL,"aaa"), (4,1,NULL,"aaa"), (5,1,NULL,"aaa"),
|
||||
(6,1,NULL,"aaa"), (7,1,NULL,"aaa"), (8,1,NULL,"aaa"),
|
||||
(9,1,NULL,"aaa"), (10,1,NULL,"aaa"), (11,1,NULL,"aaa"),
|
||||
(12,1,NULL,"aaa"), (13,1,NULL,"aaa"), (14,1,NULL,"aaa"),
|
||||
(15,1,NULL,"aaa"), (16,1,NULL,"aaa"), (17,1,NULL,"aaa"),
|
||||
(18,1,NULL,"aaa"), (19,1,NULL,"aaa"), (20,1,NULL,"aaa");
|
||||
select a.id1, b.idnull from t1 as a, t1 as b where a.id2=1 and a.id1=1 and b.id1=a.idnull order by b.id2 desc limit 1;
|
||||
id1 idnull
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
id int not null auto_increment,
|
||||
name char(1) not null,
|
||||
uid int not null,
|
||||
primary key (id),
|
||||
index uid_index (uid));
|
||||
create table t2 (
|
||||
id int not null auto_increment,
|
||||
name char(1) not null,
|
||||
uid int not null,
|
||||
primary key (id),
|
||||
index uid_index (uid));
|
||||
insert into t1(id, uid, name) values(1, 0, ' ');
|
||||
insert into t1(uid, name) values(0, ' ');
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t1(uid, name) select uid, name from t2;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t1(uid, name) select uid, name from t2;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t1(uid, name) select uid, name from t2;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t1(uid, name) select uid, name from t2;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t1(uid, name) select uid, name from t2;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t1(uid, name) select uid, name from t2;
|
||||
delete from t2;
|
||||
insert into t2(uid, name) values
|
||||
(1, CHAR(64+1)),
|
||||
(2, CHAR(64+2)),
|
||||
(3, CHAR(64+3)),
|
||||
(4, CHAR(64+4)),
|
||||
(5, CHAR(64+5)),
|
||||
(6, CHAR(64+6)),
|
||||
(7, CHAR(64+7)),
|
||||
(8, CHAR(64+8)),
|
||||
(9, CHAR(64+9)),
|
||||
(10, CHAR(64+10)),
|
||||
(11, CHAR(64+11)),
|
||||
(12, CHAR(64+12)),
|
||||
(13, CHAR(64+13)),
|
||||
(14, CHAR(64+14)),
|
||||
(15, CHAR(64+15)),
|
||||
(16, CHAR(64+16)),
|
||||
(17, CHAR(64+17)),
|
||||
(18, CHAR(64+18)),
|
||||
(19, CHAR(64+19)),
|
||||
(20, CHAR(64+20)),
|
||||
(21, CHAR(64+21)),
|
||||
(22, CHAR(64+22)),
|
||||
(23, CHAR(64+23)),
|
||||
(24, CHAR(64+24)),
|
||||
(25, CHAR(64+25)),
|
||||
(26, CHAR(64+26));
|
||||
insert into t1(uid, name) select uid, name from t2;
|
||||
delete from t2;
|
||||
insert into t2(id, uid, name) select id, uid, name from t1;
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
1026
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
1026
|
||||
explain select * from t1, t2 where t1.uid=t2.uid AND t1.uid > 0;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range uid_index uid_index 4 NULL 128 Using where
|
||||
1 SIMPLE t2 ref uid_index uid_index 4 test.t1.uid 38
|
||||
explain select * from t1, t2 where t1.uid=t2.uid AND t1.uid != 0;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range uid_index uid_index 4 NULL 129 Using where
|
||||
1 SIMPLE t2 ref uid_index uid_index 4 test.t1.uid 38
|
||||
select * from t1, t2 where t1.uid=t2.uid AND t1.uid > 0;
|
||||
id name uid id name uid
|
||||
1001 A 1 1001 A 1
|
||||
1002 B 2 1002 B 2
|
||||
1003 C 3 1003 C 3
|
||||
1004 D 4 1004 D 4
|
||||
1005 E 5 1005 E 5
|
||||
1006 F 6 1006 F 6
|
||||
1007 G 7 1007 G 7
|
||||
1008 H 8 1008 H 8
|
||||
1009 I 9 1009 I 9
|
||||
1010 J 10 1010 J 10
|
||||
1011 K 11 1011 K 11
|
||||
1012 L 12 1012 L 12
|
||||
1013 M 13 1013 M 13
|
||||
1014 N 14 1014 N 14
|
||||
1015 O 15 1015 O 15
|
||||
1016 P 16 1016 P 16
|
||||
1017 Q 17 1017 Q 17
|
||||
1018 R 18 1018 R 18
|
||||
1019 S 19 1019 S 19
|
||||
1020 T 20 1020 T 20
|
||||
1021 U 21 1021 U 21
|
||||
1022 V 22 1022 V 22
|
||||
1023 W 23 1023 W 23
|
||||
1024 X 24 1024 X 24
|
||||
1025 Y 25 1025 Y 25
|
||||
1026 Z 26 1026 Z 26
|
||||
select * from t1, t2 where t1.uid=t2.uid AND t1.uid != 0;
|
||||
id name uid id name uid
|
||||
1001 A 1 1001 A 1
|
||||
1002 B 2 1002 B 2
|
||||
1003 C 3 1003 C 3
|
||||
1004 D 4 1004 D 4
|
||||
1005 E 5 1005 E 5
|
||||
1006 F 6 1006 F 6
|
||||
1007 G 7 1007 G 7
|
||||
1008 H 8 1008 H 8
|
||||
1009 I 9 1009 I 9
|
||||
1010 J 10 1010 J 10
|
||||
1011 K 11 1011 K 11
|
||||
1012 L 12 1012 L 12
|
||||
1013 M 13 1013 M 13
|
||||
1014 N 14 1014 N 14
|
||||
1015 O 15 1015 O 15
|
||||
1016 P 16 1016 P 16
|
||||
1017 Q 17 1017 Q 17
|
||||
1018 R 18 1018 R 18
|
||||
1019 S 19 1019 S 19
|
||||
1020 T 20 1020 T 20
|
||||
1021 U 21 1021 U 21
|
||||
1022 V 22 1022 V 22
|
||||
1023 W 23 1023 W 23
|
||||
1024 X 24 1024 X 24
|
||||
1025 Y 25 1025 Y 25
|
||||
1026 Z 26 1026 Z 26
|
||||
drop table t1,t2;
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Test of key cache
|
||||
# Test of multiple key caches
|
||||
#
|
||||
|
||||
SET @save_key_buffer=@@key_buffer_size;
|
||||
@ -40,3 +40,83 @@ SET @@global.key_buffer_size=@save_key_buffer;
|
||||
SELECT @@default.key_buffer_size;
|
||||
--error 1271
|
||||
SELECT @@skr.table_type="test";
|
||||
|
||||
select @@keycache1.key_cache_block_size;
|
||||
select @@keycache1.key_buffer_size;
|
||||
set global keycache1.key_cache_block_size=2048;
|
||||
select @@keycache1.key_buffer_size;
|
||||
select @@keycache1.key_cache_block_size;
|
||||
set global keycache1.key_buffer_size=1*1024*1024;
|
||||
select @@keycache1.key_buffer_size;
|
||||
select @@keycache1.key_cache_block_size;
|
||||
set global keycache2.key_buffer_size=4*1024*1024;
|
||||
select @@keycache2.key_buffer_size;
|
||||
select @@keycache2.key_cache_block_size;
|
||||
set global keycache1.key_buffer_size=0;
|
||||
select @@keycache1.key_buffer_size;
|
||||
select @@keycache1.key_cache_block_size;
|
||||
select @@key_buffer_size;
|
||||
select @@key_cache_block_size;
|
||||
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1, t2;
|
||||
--enable_warnings
|
||||
|
||||
create table t1 (p int primary key, a char(10));
|
||||
create table t2 (p int primary key, i int, a char(10), key k1(i), key k2(a));
|
||||
|
||||
insert into t1 values (1, 'qqqq'), (11, 'yyyy');
|
||||
insert into t2 values (1, 1, 'qqqq'), (2, 1, 'pppp'),
|
||||
(3, 1, 'yyyy'), (4, 3, 'zzzz');
|
||||
select * from t1;
|
||||
select * from t2;
|
||||
|
||||
update t1 set p=2 where p=1;
|
||||
update t2 set i=2 where i=1;
|
||||
|
||||
cache index t1 keys in keycache1;
|
||||
|
||||
explain select p from t1;
|
||||
select p from t1;
|
||||
explain select i from t2;
|
||||
select i from t2;
|
||||
explain select count(*) from t1, t2 where t1.p = t2.i;
|
||||
select count(*) from t1, t2 where t1.p = t2.i;
|
||||
|
||||
cache index t2 keys in keycache1;
|
||||
update t2 set p=p+1000, i=2 where a='qqqq';
|
||||
cache index t2 keys in keycache2;
|
||||
insert into t2 values (2000, 3, 'yyyy');
|
||||
cache index t2 keys in keycache1;
|
||||
update t2 set p=3000 where a='zzzz';
|
||||
select * from t2;
|
||||
explain select p from t2;
|
||||
select p from t2;
|
||||
explain select i from t2;
|
||||
select i from t2;
|
||||
explain select a from t2;
|
||||
select a from t2;
|
||||
|
||||
select @@keycache2.key_buffer_size;
|
||||
select @@keycache2.key_cache_block_size;
|
||||
set global keycache2.key_buffer_size=0;
|
||||
select @@keycache2.key_buffer_size;
|
||||
select @@keycache2.key_cache_block_size;
|
||||
|
||||
|
||||
update t2 set p=4000 where a='zzzz';
|
||||
update t1 set p=p+1;
|
||||
|
||||
set global keycache1.key_buffer_size=0;
|
||||
select * from t2;
|
||||
select p from t2;
|
||||
explain select i from t2;
|
||||
select i from t2;
|
||||
explain select a from t2;
|
||||
select a from t2;
|
||||
|
||||
select * from t1;
|
||||
select p from t1;
|
||||
|
||||
|
||||
|
@ -6,5 +6,14 @@ DROP TABLE IF EXISTS t1;
|
||||
|
||||
CREATE TABLE t1(a int);
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
--exec $MYSQL_DUMP -X test t1
|
||||
--exec $MYSQL_DUMP --skip-all -X test t1
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #1707
|
||||
#
|
||||
|
||||
CREATE TABLE `t"1` (`a"b"c"` char(2));
|
||||
INSERT INTO `t"1` VALUES ("\"1"), ("2\"");
|
||||
--exec $MYSQL_DUMP --skip-all -X test
|
||||
DROP TABLE `t"1`;
|
||||
|
@ -3,7 +3,7 @@
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
drop table if exists t1, t2;
|
||||
--enable_warnings
|
||||
|
||||
CREATE TABLE t1 (
|
||||
@ -174,18 +174,6 @@ select count(*) from t1 where art = 'j' or art = 'J';
|
||||
select count(*) from t1 where art = 'j';
|
||||
select count(*) from t1 where art = 'J';
|
||||
drop table t1;
|
||||
|
||||
create table t1 ( id1 int not null, id2 int not null, idnull int null, c char(20), primary key (id1,id2));
|
||||
insert into t1 values (0,1,NULL,"aaa"), (1,1,NULL,"aaa"), (2,1,NULL,"aaa"),
|
||||
(3,1,NULL,"aaa"), (4,1,NULL,"aaa"), (5,1,NULL,"aaa"),
|
||||
(6,1,NULL,"aaa"), (7,1,NULL,"aaa"), (8,1,NULL,"aaa"),
|
||||
(9,1,NULL,"aaa"), (10,1,NULL,"aaa"), (11,1,NULL,"aaa"),
|
||||
(12,1,NULL,"aaa"), (13,1,NULL,"aaa"), (14,1,NULL,"aaa"),
|
||||
(15,1,NULL,"aaa"), (16,1,NULL,"aaa"), (17,1,NULL,"aaa"),
|
||||
(18,1,NULL,"aaa"), (19,1,NULL,"aaa"), (20,1,NULL,"aaa");
|
||||
select a.id1, b.idnull from t1 as a, t1 as b where a.id2=1 and a.id1=1 and b.id1=a.idnull order by b.id2 desc limit 1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# BETWEEN problems
|
||||
#
|
||||
@ -225,3 +213,96 @@ insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
select id from t1 where id in (2,5,9) ;
|
||||
select id from t1 where id=2 or id=5 or id=9 ;
|
||||
drop table t1;
|
||||
create table t1 ( id1 int not null, id2 int not null, idnull int null, c char(20), primary key (id1,id2));
|
||||
insert into t1 values (0,1,NULL,"aaa"), (1,1,NULL,"aaa"), (2,1,NULL,"aaa"),
|
||||
(3,1,NULL,"aaa"), (4,1,NULL,"aaa"), (5,1,NULL,"aaa"),
|
||||
(6,1,NULL,"aaa"), (7,1,NULL,"aaa"), (8,1,NULL,"aaa"),
|
||||
(9,1,NULL,"aaa"), (10,1,NULL,"aaa"), (11,1,NULL,"aaa"),
|
||||
(12,1,NULL,"aaa"), (13,1,NULL,"aaa"), (14,1,NULL,"aaa"),
|
||||
(15,1,NULL,"aaa"), (16,1,NULL,"aaa"), (17,1,NULL,"aaa"),
|
||||
(18,1,NULL,"aaa"), (19,1,NULL,"aaa"), (20,1,NULL,"aaa");
|
||||
select a.id1, b.idnull from t1 as a, t1 as b where a.id2=1 and a.id1=1 and b.id1=a.idnull order by b.id2 desc limit 1;
|
||||
drop table t1;
|
||||
|
||||
|
||||
#
|
||||
# Problem with optimizing !=
|
||||
#
|
||||
|
||||
create table t1 (
|
||||
id int not null auto_increment,
|
||||
name char(1) not null,
|
||||
uid int not null,
|
||||
primary key (id),
|
||||
index uid_index (uid));
|
||||
|
||||
create table t2 (
|
||||
id int not null auto_increment,
|
||||
name char(1) not null,
|
||||
uid int not null,
|
||||
primary key (id),
|
||||
index uid_index (uid));
|
||||
|
||||
insert into t1(id, uid, name) values(1, 0, ' ');
|
||||
insert into t1(uid, name) values(0, ' ');
|
||||
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t1(uid, name) select uid, name from t2;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t1(uid, name) select uid, name from t2;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t1(uid, name) select uid, name from t2;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t1(uid, name) select uid, name from t2;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t1(uid, name) select uid, name from t2;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t2(uid, name) select uid, name from t1;
|
||||
insert into t1(uid, name) select uid, name from t2;
|
||||
|
||||
delete from t2;
|
||||
insert into t2(uid, name) values
|
||||
(1, CHAR(64+1)),
|
||||
(2, CHAR(64+2)),
|
||||
(3, CHAR(64+3)),
|
||||
(4, CHAR(64+4)),
|
||||
(5, CHAR(64+5)),
|
||||
(6, CHAR(64+6)),
|
||||
(7, CHAR(64+7)),
|
||||
(8, CHAR(64+8)),
|
||||
(9, CHAR(64+9)),
|
||||
(10, CHAR(64+10)),
|
||||
(11, CHAR(64+11)),
|
||||
(12, CHAR(64+12)),
|
||||
(13, CHAR(64+13)),
|
||||
(14, CHAR(64+14)),
|
||||
(15, CHAR(64+15)),
|
||||
(16, CHAR(64+16)),
|
||||
(17, CHAR(64+17)),
|
||||
(18, CHAR(64+18)),
|
||||
(19, CHAR(64+19)),
|
||||
(20, CHAR(64+20)),
|
||||
(21, CHAR(64+21)),
|
||||
(22, CHAR(64+22)),
|
||||
(23, CHAR(64+23)),
|
||||
(24, CHAR(64+24)),
|
||||
(25, CHAR(64+25)),
|
||||
(26, CHAR(64+26));
|
||||
|
||||
insert into t1(uid, name) select uid, name from t2;
|
||||
|
||||
delete from t2;
|
||||
insert into t2(id, uid, name) select id, uid, name from t1;
|
||||
|
||||
select count(*) from t1;
|
||||
select count(*) from t2;
|
||||
|
||||
explain select * from t1, t2 where t1.uid=t2.uid AND t1.uid > 0;
|
||||
explain select * from t1, t2 where t1.uid=t2.uid AND t1.uid != 0;
|
||||
|
||||
select * from t1, t2 where t1.uid=t2.uid AND t1.uid > 0;
|
||||
select * from t1, t2 where t1.uid=t2.uid AND t1.uid != 0;
|
||||
|
||||
drop table t1,t2;
|
||||
|
Reference in New Issue
Block a user