Commit 2c8c6529 authored by Sergei Golubchik's avatar Sergei Golubchik

5.6.26-74.0

parents

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

SET DEFAULT_STORAGE_ENGINE='tokudb';
DROP TABLE IF EXISTS t1;
create table t1 (a int, b int) engine=tokudb;
insert into t1 values (1,1),(1,2),(2,1),(2,2);
select count(*) from t1 where b > 0;
count(*)
4
alter table t1 add clustering index b(b);
explain select count(*) from t1 where b > 0;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NA b b 5 NA NA NA
select count(*) from t1 where b > 0;
count(*)
4
DROP TABLE t1;
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, str varchar(3), b int, c int, z int, y int, x int, r int, s int, t int, d char(4), primary key (a,b), key (z), key(x), key(t));
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo foo NULL NULL NULL; Using where; Using index
c r
0 20
2 18
4 16
6 14
8 12
10 10
12 8
14 6
16 4
18 2
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo foo NULL NULL NULL; Using where; Using index
c r a b
0 20 10 0
2 18 9 1
4 16 8 2
6 14 7 3
8 12 6 4
10 10 5 5
12 8 4 6
14 6 3 7
16 4 2 8
18 2 1 9
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a str b c z y x r s t d
1 s 9 18 10 100 1000 2 3 4 AB
2 s 8 16 20 200 2000 4 6 8 AB
3 s 7 14 30 300 3000 6 9 12 AB
4 s 6 12 40 400 4000 8 12 16 AB
5 s 5 10 50 500 5000 10 15 20 AB
6 s 4 8 60 600 6000 12 18 24 AB
7 s 3 6 70 700 7000 14 21 28 AB
8 s 2 4 80 800 8000 16 24 32 AB
9 s 1 2 90 900 9000 18 27 36 AB
10 s 0 0 100 1000 10000 20 30 40 AB
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, key (z), key(x), key(t));
ERROR 23000: Can't write; duplicate key in table 't1'
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
5 52 18 5 5 5 2 5 5
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, str varchar(3), b int, c int, z int, y int, x int, r int, s int, t int, d char(4), key (z), key(x), key(t));
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo foo NULL NULL NULL; Using where; Using index
c r
0 20
2 18
4 16
6 14
8 12
10 10
12 8
14 6
16 4
18 2
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a str b c z y x r s t d
1 s 9 18 10 100 1000 2 3 4 AB
2 s 8 16 20 200 2000 4 6 8 AB
3 s 7 14 30 300 3000 6 9 12 AB
4 s 6 12 40 400 4000 8 12 16 AB
5 s 5 10 50 500 5000 10 15 20 AB
6 s 4 8 60 600 6000 12 18 24 AB
7 s 3 6 70 700 7000 14 21 28 AB
8 s 2 4 80 800 8000 16 24 32 AB
9 s 1 2 90 900 9000 18 27 36 AB
10 s 0 0 100 1000 10000 20 30 40 AB
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int,key (z), key(x), key(t));
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo foo NULL NULL NULL; Using where; Using index
c r
0 20
2 18
4 16
6 14
8 12
10 10
12 8
14 6
16 4
18 2
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, str varchar(3), b int, c int, z int, y int, x int, r int, s int, t int, d char(4), key (z), key(x), key(t));
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo1 foo1 NULL NULL NULL; Using where; Using index
c r
0 20
2 18
4 16
6 14
8 12
10 10
12 8
14 6
16 4
18 2
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a str b c z y x r s t d
1 s 9 18 10 100 1000 2 3 4 AB
2 s 8 16 20 200 2000 4 6 8 AB
3 s 7 14 30 300 3000 6 9 12 AB
4 s 6 12 40 400 4000 8 12 16 AB
5 s 5 10 50 500 5000 10 15 20 AB
6 s 4 8 60 600 6000 12 18 24 AB
7 s 3 6 70 700 7000 14 21 28 AB
8 s 2 4 80 800 8000 16 24 32 AB
9 s 1 2 90 900 9000 18 27 36 AB
10 s 0 0 100 1000 10000 20 30 40 AB
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, key (z), key(x), key(t));
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo1 foo1 NULL NULL NULL; Using where; Using index
c r
0 20
2 18
4 16
6 14
8 12
10 10
12 8
14 6
16 4
18 2
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, key (z), key(x), key(t));
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo foo NULL NULL NULL; Using where; Using index
c r
0 20
2 18
4 16
6 14
8 12
10 10
12 8
14 6
16 4
18 2
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; Using where
c r
18 2
16 4
14 6
12 8
10 10
8 12
6 14
4 16
2 18
0 20
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo foo NULL NULL NULL; Using where; Using index
c r
0 20
2 18
4 16
6 14
8 12
10 10
12 8
14 6
16 4
18 2
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
ERROR 42000: Duplicate key name 'foo'
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo foo NULL NULL NULL; Using where; Using index
c r
0 20
2 18
4 16
6 14
8 12
10 10
12 8
14 6
16 4
18 2
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL z z NULL NULL NULL; Using where; Using index
z a
10 1
20 2
30 3
40 4
50 5
60 6
70 7
80 8
90 9
100 10
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo foo NULL NULL NULL; Using where; Using index
c r
0 20
2 18
4 16
6 14
8 12
10 10
12 8
14 6
16 4
18 2
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, key (z), key(x), key(t));
ERROR 23000: Can't write; duplicate key in table 't1'
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, key (z), key(x), key(t));
ERROR 23000: Duplicate entry '18-2' for key 'foo'
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, key (z), key(x), key(t));
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL foo 10 NULL 10 Using index
c z
0 100
2 90
4 80
6 70
8 60
10 50
12 40
14 30
16 20
18 10
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 10 NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL bar 10 NULL 10 Using index
t r
4 2
8 4
12 6
16 8
20 10
24 12
28 14
32 16
36 18
40 20
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 10 NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, primary key (a,b), key (z), key(x), key(t));
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo foo NULL NULL NULL; Using where; Using index
c r
0 20
2 18
4 16
6 14
8 12
10 10
12 8
14 6
16 4
18 2
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo foo NULL NULL NULL; Using where; Using index
c r a b
0 20 10 0
2 18 9 1
4 16 8 2
6 14 7 3
8 12 6 4
10 10 5 5
12 8 4 6
14 6 3 7
16 4 2 8
18 2 1 9
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, str varchar(3), b int, c int, z int, y int, x int, r int, s int, t int, d char(4), primary key (a,b), key (z), key(x), key(t));
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo1 foo1 NULL NULL NULL; Using where; Using index
c r
0 20
2 18
4 16
6 14
8 12
10 10
12 8
14 6
16 4
18 2
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo1 foo1 NULL NULL NULL; Using where; Using index
c r a b
0 20 10 0
2 18 9 1
4 16 8 2
6 14 7 3
8 12 6 4
10 10 5 5
12 8 4 6
14 6 3 7
16 4 2 8
18 2 1 9
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a str b c z y x r s t d
1 s 9 18 10 100 1000 2 3 4 AB
2 s 8 16 20 200 2000 4 6 8 AB
3 s 7 14 30 300 3000 6 9 12 AB
4 s 6 12 40 400 4000 8 12 16 AB
5 s 5 10 50 500 5000 10 15 20 AB
6 s 4 8 60 600 6000 12 18 24 AB
7 s 3 6 70 700 7000 14 21 28 AB
8 s 2 4 80 800 8000 16 24 32 AB
9 s 1 2 90 900 9000 18 27 36 AB
10 s 0 0 100 1000 10000 20 30 40 AB
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, primary key (a,b), key (z), key(x), key(t));
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo1 foo1 NULL NULL NULL; Using where; Using index
c r
0 20
2 18
4 16
6 14
8 12
10 10
12 8
14 6
16 4
18 2
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo1 foo1 NULL NULL NULL; Using where; Using index
c r a b
0 20 10 0
2 18 9 1
4 16 8 2
6 14 7 3
8 12 6 4
10 10 5 5
12 8 4 6
14 6 3 7
16 4 2 8
18 2 1 9
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, primary key (a,b), key (z), key(x), key(t));
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo foo NULL NULL NULL; Using where; Using index
c r a b
0 20 10 0
2 18 9 1
4 16 8 2
6 14 7 3
8 12 6 4
10 10 5 5
12 8 4 6
14 6 3 7
16 4 2 8
18 2 1 9
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; Using where
c r a b
18 2 1 9
16 4 2 8
14 6 3 7
12 8 4 6
10 10 5 5
8 12 6 4
6 14 7 3
4 16 8 2
2 18 9 1
0 20 10 0
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo foo NULL NULL NULL; Using where; Using index
c r a b
0 20 10 0
2 18 9 1
4 16 8 2
6 14 7 3
8 12 6 4
10 10 5 5
12 8 4 6
14 6 3 7
16 4 2 8
18 2 1 9
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
ERROR 42000: Duplicate key name 'foo'
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo foo NULL NULL NULL; Using where; Using index
c r a b
0 20 10 0
2 18 9 1
4 16 8 2
6 14 7 3
8 12 6 4
10 10 5 5
12 8 4 6
14 6 3 7
16 4 2 8
18 2 1 9
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL z z NULL NULL NULL; Using where; Using index
z a b
10 1 9
20 2 8
30 3 7
40 4 6
50 5 5
60 6 4
70 7 3
80 8 2
90 9 1
100 10 0
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL foo foo NULL NULL NULL; Using where; Using index
c r a b
0 20 10 0
2 18 9 1
4 16 8 2
6 14 7 3
8 12 6 4
10 10 5 5
12 8 4 6
14 6 3 7
16 4 2 8
18 2 1 9
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL NULL NULL NULL NULL NULL; NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, primary key (a,b), key (z), key(x), key(t));
ERROR 23000: Can't write; duplicate key in table 't1'
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, primary key (a,b), key (z), key(x), key(t));
ERROR 23000: Duplicate entry '18-2' for key 'foo'
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, primary key (a,b), key (z), key(x), key(t));
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL foo 10 NULL 10 Using index
c z a b
0 100 10 0
2 90 9 1
4 80 8 2
6 70 7 3
8 60 6 4
10 50 5 5
12 40 4 6
14 30 3 7
16 20 2 8
18 10 1 9
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 10 NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL bar 10 NULL 10 Using index
t r a b
4 2 1 9
8 4 2 8
12 6 3 7
16 8 4 6
20 10 5 5
24 12 6 4
28 14 7 3
32 16 8 2
36 18 9 1
40 20 10 0
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 10 NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
SET DEFAULT_STORAGE_ENGINE='tokudb';
*** Bug #22169 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, primary key (a,b), key (z), key(x), key(t));
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL foo 10 NULL 10 Using index
c z
0 100
2 90
4 80
6 70
8 60
10 50
12 40
14 30
16 20
18 10
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 10 NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL bar 10 NULL 10 Using index
t r
4 2
8 4
12 6
16 8
20 10
24 12
28 14
32 16
36 18
40 20
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 10 NULL
a b c z y x r s t
1 9 18 10 100 1000 2 3 4
2 8 16 20 200 2000 4 6 8
3 7 14 30 300 3000 6 9 12
4 6 12 40 400 4000 8 12 16
5 5 10 50 500 5000 10 15 20
6 4 8 60 600 6000 12 18 24
7 3 6 70 700 7000 14 21 28
8 2 4 80 800 8000 16 24 32
9 1 2 90 900 9000 18 27 36
10 0 0 100 1000 10000 20 30 40
DROP TABLE IF EXISTS t1;
set session tokudb_disable_slow_alter=ON;
CREATE TABLE t1 (
sca_code char(6) NOT NULL,
cat_code char(6) NOT NULL,
lan_code char(2) NOT NULL,
sca_pic varchar(100),
sca_sdesc varchar(50),
sca_sch_desc varchar(16)
, PRIMARY KEY (sca_code, cat_code, lan_code)
) Engine = tokudb ;
INSERT INTO t1 ( sca_code, cat_code, lan_code, sca_pic, sca_sdesc, sca_sch_desc) VALUES
( 'PD', 'J', 'EN', NULL, NULL, 'PENDANT'),
( 'RI', 'J', 'EN', NULL, NULL, 'RING'),
( 'QQ', 'N', 'EN', 'not null', NULL, 'RING');
alter table t1 add index sca_pic (cat_code, sca_pic);
select count(*) from t1 where sca_pic >= 'n';
count(*)
1
alter table t1 drop index sca_pic, add index (sca_pic, cat_code);
ERROR 42000: Table 't1' uses an extension that doesn't exist in this XYZ version
select count(*) from t1 where sca_pic >= 'n';
count(*)
1
DROP TABLE t1;
DROP TABLE t1;
ERROR 42S02: Unknown table 'test.t1'
CREATE TABLE t1 (
sca_code char(6) NOT NULL,
cat_code char(6) NOT NULL,
sca_desc varchar(50),
lan_code char(2) NOT NULL,
sca_pic varchar(100),
sca_sdesc varchar(50),
sca_sch_desc varchar(16),
PRIMARY KEY (sca_code, cat_code, lan_code),
INDEX sca_pic (sca_pic)
) Engine = tokudb ;
INSERT INTO t1 ( sca_code, cat_code, sca_desc, lan_code, sca_pic, sca_sdesc, sca_sch_desc) VALUES ( 'PD', 'J', 'PENDANT', 'EN', NULL, NULL, 'PENDANT'
),( 'RI', 'J', 'RING', 'EN', NULL, NULL, 'RING'),( 'QQ', 'N', 'RING', 'EN', 'not null', NULL, 'RING');
select count(*) from t1 where sca_code = 'PD';
count(*)
1
select count(*) from t1 where sca_code <= 'PD';
count(*)
1
select count(*) from t1 where sca_pic is null;
count(*)
2
alter table t1 drop index sca_pic, add index sca_pic (cat_code, sca_pic);
ERROR 42000: Table 't1' uses an extension that doesn't exist in this XYZ version
select count(*) from t1 where sca_code='PD' and sca_pic is null;
count(*)
1
select count(*) from t1 where cat_code='E';
count(*)
0
alter table t1 drop index sca_pic, add index (sca_pic, cat_code);
ERROR 42000: Table 't1' uses an extension that doesn't exist in this XYZ version
select count(*) from t1 where sca_code='PD' and sca_pic is null;
count(*)
1
select count(*) from t1 where sca_pic >= 'n';
count(*)
1
select sca_pic from t1 where sca_pic is null;
sca_pic
NULL
NULL
update t1 set sca_pic="test" where sca_pic is null;
delete from t1 where sca_code='pd';
DROP TABLE t1;
SET DEFAULT_STORAGE_ENGINE = tokudb;
*** Bug #23691 ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a char(5));
CREATE INDEX i1 on t1 (a(3));
INSERT INTO t1 VALUES ('abcde');
SELECT * FROM t1 WHERE a = 'abcde';
a
abcde
DROP TABLE t1;
SET @@DEFAULT_STORAGE_ENGINE = tokudb;
*** Bug #23692 ***
DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t2;
DROP TABLE IF EXISTS t3;
DROP TABLE IF EXISTS t4;
CREATE TABLE t1 (a char(1), key (a));
INSERT INTO t1 VALUES (0x00);
SELECT count(*) FROM t1 WHERE a < '';
count(*)
1
SELECT count(*) FROM t1 WHERE a = '';
count(*)
0
SELECT count(*) FROM t1 WHERE a > '';
count(*)
0
CREATE TABLE t2 (a varbinary(5));
CREATE INDEX i ON t2 (a);
INSERT INTO t2 VALUES (0x02), (0x0202);
SELECT count(*) FROM t2 WHERE a >= 0x02 OR a = 0x0202;
count(*)
2
SELECT hex(a) FROM t2 WHERE a < 0x02;
hex(a)
SELECT hex(a) FROM t2 WHERE a = 0x02;
hex(a)
02
SELECT hex(a) FROM t2 WHERE a > 0x02;
hex(a)
0202
CREATE TABLE t3 (a char(5));
CREATE INDEX i ON t3 (a);
INSERT INTO t3 VALUES (0x4200), (0x4209), (0x42), (0x4220), (0x4242);
SELECT hex(a) FROM t3 WHERE a < 0x42;
hex(a)
4200
4209
SELECT hex(a) FROM t3 WHERE a = 0x42;
hex(a)
42
42
SELECT hex(a) FROM t3 WHERE a > 0x42;
hex(a)
4242
SELECT hex(a) FROM t3 WHERE a LIKE 'a%';
hex(a)
CREATE TABLE t4 (a varchar(5) character set ucs2, key(a)) engine=tokudb;
INSERT INTO t4 VALUES (0x00420000), (0x00420009), (0x0041001f), (0x0042), (0x00420020), (0x00420042);
SELECT hex(a) FROM t4 WHERE a < 'a';
hex(a)
0041001F
SELECT hex(a) FROM t4 WHERE a = 'a';
hex(a)
SELECT hex(a) FROM t4 WHERE a > 'a';
hex(a)
00420000
00420009
0042
00420020
00420042
SELECT hex(a) FROM t4 WHERE a LIKE 'a%';
hex(a)
0041001F
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE t4;
SET @@DEFAULT_STORAGE_ENGINE = tokudb;
*** Bug #23818_I ***
DROP TABLE IF EXISTS t1;
DROP PROCEDURE IF EXISTS p1;
/* Does not fail with "b varchar(256) character set ucs2" */
CREATE TABLE t1 (a int, b varchar(1000) character set ucs2, c varchar(10000));
INSERT INTO t1 VALUES (null,null,null),(1,'',''),(2,'a','a');
CREATE INDEX i1 ON t1 (b(550));
CREATE PROCEDURE p1 ()
BEGIN
declare v int default 0;
while v < 100 do
SET @x = concat('update t1 set a = ', v,', b = repeat(0x', hex(rand()*10000),',rand()*549), c = repeat(0x', hex(rand()*255), ',rand()*9999)');
/* select v,@x; */
PREPARE stmt1 FROM @x;
EXECUTE stmt1;
SET v = v + 1;
END while;
END//
CALL p1()//
DROP TABLE t1;
DROP PROCEDURE p1;
SET @@DEFAULT_STORAGE_ENGINE = tokudb;
*** Bug #23818_II ***
DROP TABLE IF EXISTS t1;
DROP PROCEDURE IF EXISTS p1;
CREATE TABLE t1 (a int, b varchar(1100) character set latin1, c varchar(10000));
INSERT INTO t1 VALUES (null,null,null),(1,'',''),(2,'a','a');
CREATE INDEX i1 ON t1 (b);
CREATE PROCEDURE p1 ()
BEGIN
declare v int default 0;
while v < 1000 do
SET @x = concat('update t1 set a = ', v,', b = repeat(0x', hex(rand()*255),',rand()*999), c = repeat(0x', hex(rand()*255), ',rand()*9999)');
/* select v,@x; */
PREPARE stmt1 FROM @x;
EXECUTE stmt1;
SET v = v + 1;
END while;
END//
CALL p1()//
DROP TABLE t1;
DROP PROCEDURE p1;
SET @@DEFAULT_STORAGE_ENGINE = tokudb;
*** Bug #23818_A ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b varchar(1100));
INSERT INTO t1 VALUES (0,null),(0,null),(0,null);
CREATE INDEX i1 ON t1 (b);
DROP TABLE t1;
SET @@DEFAULT_STORAGE_ENGINE = tokudb;
*** Bug #23818_B ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b varchar(1100));
INSERT INTO t1 VALUES (0,null),(0,null),(0,null);
CREATE INDEX i1 ON t1 (b);
DROP TABLE t1;
SET @@DEFAULT_STORAGE_ENGINE = tokudb;
*** Bug #23818_C ***
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int, b varchar(1100));
INSERT INTO t1 VALUES (0,null),(0,null),(0,null);
CREATE INDEX i1 ON t1 (b);
DROP TABLE t1;
set default_storage_engine='tokudb';
drop table if exists t;
create table t (id int auto_increment primary key, x int);
create unique index x on t (x);
drop table t;
SET DEFAULT_STORAGE_ENGINE='tokudb';
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a1 int,a2 int, a3 int, a4 int, a5 int, a6 int, a7 int, a8 int, a9 int, a10 int) engine = tokudb;
insert into t1 (a9,a10) values (1,2);
alter table t1 add index blah(a9,a10);
select * from t1;
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
NULL NULL NULL NULL NULL NULL NULL NULL 1 2
select a9,a10 from t1;
a9 a10
1 2
DROP table t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
create table t1 (a int, b int) engine=tokudb;
insert into t1 values (1,1),(1,2),(2,1),(2,2);
select count(*) from t1 where b > 0;
alter table t1 add clustering index b(b);
--replace_column 4 NA 8 NA 9 NA 10 NA
explain select count(*) from t1 where b > 0;
select count(*) from t1 where b > 0;
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, str varchar(3), b int, c int, z int, y int, x int, r int, s int, t int, d char(4), primary key (a,b), key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
SET @d = 'AB';
INSERT INTO t1 VALUES (@a,"s", @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a,@d);
SET @a=@a+1;
dec $1;
}
create index foo on t1 (c,r);
# Ignore the type, key_len, and rows columns.
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r from t1 WHERE c>=0;
select c,r from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r,a,b from t1 WHERE c>=0;
select c,r,a,b from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
INSERT INTO t1 VALUES (@a, @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a);
SET @a=@a+1;
dec $1;
}
insert into t1 values (5,52,18,5,5,5,2,5,5);
--error ER_DUP_KEY
create unique index foo on t1 (c,r);
select * from t1;
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, str varchar(3), b int, c int, z int, y int, x int, r int, s int, t int, d char(4), key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
SET @d = 'AB';
INSERT INTO t1 VALUES (@a,"s", @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a,@d);
SET @a=@a+1;
dec $1;
}
create index foo on t1 (c,r);
# Ignore type, key_len, and rows columns
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r from t1 WHERE c>=0;
select c,r from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int,key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
INSERT INTO t1 VALUES (@a, @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a);
SET @a=@a+1;
dec $1;
}
create index foo on t1 (c,r);
# Ignore type, key_len, and rows columns
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r from t1 WHERE c>=0;
select c,r from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, str varchar(3), b int, c int, z int, y int, x int, r int, s int, t int, d char(4), key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
SET @d = 'AB';
INSERT INTO t1 VALUES (@a,"s", @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a,@d);
SET @a=@a+1;
dec $1;
}
create unique index foo1 on t1 (c,r);
# Ignore type, key_len, and rows columns
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r from t1 WHERE c>=0;
select c,r from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
INSERT INTO t1 VALUES (@a, @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a);
SET @a=@a+1;
dec $1;
}
create unique index foo1 on t1 (c,r);
# Ignore type, key_len, and rows columns
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r from t1 WHERE c>=0;
select c,r from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
INSERT INTO t1 VALUES (@a, @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a);
SET @a=@a+1;
dec $1;
}
create unique index foo on t1 (c,r);
# Ignore type, key_len, and rows columns
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r from t1 WHERE c>=0;
select c,r from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
drop index foo on t1;
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r from t1 WHERE c>=0;
select c,r from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
create index foo on t1 (c,r);
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r from t1 WHERE c>=0;
select c,r from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
drop index z on t1;
--error ER_DUP_KEYNAME
create unique index foo on t1 (c,r);
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r from t1 WHERE c>=0;
select c,r from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
create index z on t1 (z,a);
--replace_column 4 NULL 7 NULL 9 NULL;
explain select z,a from t1 where z>=0;
select z,a from t1 where z>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain select * from t1;
select * from t1;
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r from t1 WHERE c>=0;
select c,r from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
INSERT INTO t1 VALUES (@a, @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a);
SET @a=@a+1;
dec $1;
}
insert into t1 values (5,52,18,5,5,5,2,5,5);
--error ER_DUP_KEY
create unique index foo on t1 (c,r);
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
INSERT INTO t1 VALUES (@a, @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a);
SET @a=@a+1;
dec $1;
}
create unique index foo on t1 (c,r);
--error ER_DUP_ENTRY
insert into t1 values (5,52,18,5,5,5,2,5,5);
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
INSERT INTO t1 VALUES (@a, @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a);
SET @a=@a+1;
dec $1;
}
#create index foo on t1 (c,r);
#alter table t1 add index foo (z);
#alter table t1 add index foo (a);
alter table t1 drop index z, add index foo (c,z), add index bar (t,r);
explain select c,z from t1;
select c,z from t1;
explain select * from t1;
select * from t1;
explain select t,r from t1;
select t,r from t1;
explain select * from t1;
select * from t1;
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, primary key (a,b), key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
INSERT INTO t1 VALUES (@a, @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a);
SET @a=@a+1;
dec $1;
}
create index foo on t1 (c,r);
# Ignore type, key_len, and rows columns
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r from t1 WHERE c>=0;
select c,r from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r,a,b from t1 WHERE c>=0;
select c,r,a,b from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, str varchar(3), b int, c int, z int, y int, x int, r int, s int, t int, d char(4), primary key (a,b), key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
SET @d = 'AB';
INSERT INTO t1 VALUES (@a,"s", @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a,@d);
SET @a=@a+1;
dec $1;
}
create unique index foo1 on t1 (c,r);
# Ignore type, key_len, and rows columns
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r from t1 WHERE c>=0;
select c,r from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r,a,b from t1 WHERE c>=0;
select c,r,a,b from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, primary key (a,b), key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
INSERT INTO t1 VALUES (@a, @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a);
SET @a=@a+1;
dec $1;
}
create unique index foo1 on t1 (c,r);
# Ignore type, key_len, and rows columns
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r from t1 WHERE c>=0;
select c,r from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r,a,b from t1 WHERE c>=0;
select c,r,a,b from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, primary key (a,b), key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
INSERT INTO t1 VALUES (@a, @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a);
SET @a=@a+1;
dec $1;
}
create unique index foo on t1 (c,r);
# Ignore type, key_len, and rows columns
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r,a,b from t1 WHERE c>=0;
select c,r,a,b from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
drop index foo on t1;
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r,a,b from t1 WHERE c>=0;
select c,r,a,b from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
create index foo on t1 (c,r);
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r,a,b from t1 WHERE c>=0;
select c,r,a,b from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
drop index z on t1;
--error ER_DUP_KEYNAME
create unique index foo on t1 (c,r);
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r,a,b from t1 WHERE c>=0;
select c,r,a,b from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
create index z on t1 (z,a);
--replace_column 4 NULL 7 NULL 9 NULL;
explain select z,a,b from t1 where z>=0;
select z,a,b from t1 where z>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain select * from t1;
select * from t1;
--replace_column 4 NULL 7 NULL 9 NULL;
explain select c,r,a,b from t1 WHERE c>=0;
select c,r,a,b from t1 WHERE c>=0;
--replace_column 4 NULL 7 NULL 9 NULL;
explain SELECT * from t1;
SELECT * from t1;
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, primary key (a,b), key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
INSERT INTO t1 VALUES (@a, @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a);
SET @a=@a+1;
dec $1;
}
insert into t1 values (5,52,18,5,5,5,2,5,5);
--error ER_DUP_KEY
create unique index foo on t1 (c,r);
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, primary key (a,b), key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
INSERT INTO t1 VALUES (@a, @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a);
SET @a=@a+1;
dec $1;
}
create unique index foo on t1 (c,r);
--error ER_DUP_ENTRY
insert into t1 values (5,52,18,5,5,5,2,5,5);
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, primary key (a,b), key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
INSERT INTO t1 VALUES (@a, @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a);
SET @a=@a+1;
dec $1;
}
#create index foo on t1 (c,r);
#alter table t1 add index foo (z);
#alter table t1 add index foo (a);
alter table t1 drop index z, add index foo (c,z), add index bar (t,r);
explain select c,z,a,b from t1;
select c,z,a,b from t1;
explain select * from t1;
select * from t1;
explain select t,r,a,b from t1;
select t,r,a,b from t1;
explain select * from t1;
select * from t1;
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
#
# Bug #22169: Crash with count(distinct)
#
--echo *** Bug #22169 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b int, c int, z int, y int, x int, r int, s int, t int, primary key (a,b), key (z), key(x), key(t));
--disable_query_log
let $1 = 10;
SET @length = 10;
SET @a=1;
while ($1)
{
SET @b=@length-@a;
SET @c = @b + @b;
INSERT INTO t1 VALUES (@a, @b,@c,10*@a,100*@a,1000*@a,2*@a,3*@a,4*@a);
SET @a=@a+1;
dec $1;
}
#create index foo on t1 (c,r);
#alter table t1 add index foo (z);
#alter table t1 add index foo (a);
alter table t1 drop index z, add index foo (c,z), add index bar (t,r), drop primary key;
explain select c,z from t1;
select c,z from t1;
explain select * from t1;
select * from t1;
explain select t,r from t1;
select t,r from t1;
explain select * from t1;
select * from t1;
DROP TABLE t1;
# Testcase derived from mix2_falcon
--source include/have_tokudb.inc
let $engine_type= tokudb;
--disable_abort_on_error
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
set session tokudb_disable_slow_alter=ON;
# Slightly simplified testcase
#
# Test of index only reads
#
eval CREATE TABLE t1 (
sca_code char(6) NOT NULL,
cat_code char(6) NOT NULL,
lan_code char(2) NOT NULL,
sca_pic varchar(100),
sca_sdesc varchar(50),
sca_sch_desc varchar(16)
, PRIMARY KEY (sca_code, cat_code, lan_code)
) Engine = $engine_type ;
INSERT INTO t1 ( sca_code, cat_code, lan_code, sca_pic, sca_sdesc, sca_sch_desc) VALUES
( 'PD', 'J', 'EN', NULL, NULL, 'PENDANT'),
( 'RI', 'J', 'EN', NULL, NULL, 'RING'),
( 'QQ', 'N', 'EN', 'not null', NULL, 'RING');
alter table t1 add index sca_pic (cat_code, sca_pic);
select count(*) from t1 where sca_pic >= 'n';
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
alter table t1 drop index sca_pic, add index (sca_pic, cat_code);
# alter table t1 drop index sca_pic;
# alter table t1 add index (sca_pic, cat_code);
select count(*) from t1 where sca_pic >= 'n';
DROP TABLE t1;
# The original testcase
DROP TABLE t1;
#
# Test of index only reads
#
eval CREATE TABLE t1 (
sca_code char(6) NOT NULL,
cat_code char(6) NOT NULL,
sca_desc varchar(50),
lan_code char(2) NOT NULL,
sca_pic varchar(100),
sca_sdesc varchar(50),
sca_sch_desc varchar(16),
PRIMARY KEY (sca_code, cat_code, lan_code),
INDEX sca_pic (sca_pic)
) Engine = $engine_type ;
INSERT INTO t1 ( sca_code, cat_code, sca_desc, lan_code, sca_pic, sca_sdesc, sca_sch_desc) VALUES ( 'PD', 'J', 'PENDANT', 'EN', NULL, NULL, 'PENDANT'
),( 'RI', 'J', 'RING', 'EN', NULL, NULL, 'RING'),( 'QQ', 'N', 'RING', 'EN', 'not null', NULL, 'RING');
select count(*) from t1 where sca_code = 'PD';
select count(*) from t1 where sca_code <= 'PD';
select count(*) from t1 where sca_pic is null;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
alter table t1 drop index sca_pic, add index sca_pic (cat_code, sca_pic);
select count(*) from t1 where sca_code='PD' and sca_pic is null;
select count(*) from t1 where cat_code='E';
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
alter table t1 drop index sca_pic, add index (sca_pic, cat_code);
select count(*) from t1 where sca_code='PD' and sca_pic is null;
select count(*) from t1 where sca_pic >= 'n';
select sca_pic from t1 where sca_pic is null;
update t1 set sca_pic="test" where sca_pic is null;
delete from t1 where sca_code='pd';
# Final cleanup
DROP TABLE t1;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE = tokudb;
#
# Bug #23691: Falcon: searches fail if partial index
#
--echo *** Bug #23691 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a char(5));
CREATE INDEX i1 on t1 (a(3));
INSERT INTO t1 VALUES ('abcde');
SELECT * FROM t1 WHERE a = 'abcde';
# Final cleanup.
DROP TABLE t1;
--source include/have_tokudb.inc
SET @@DEFAULT_STORAGE_ENGINE = tokudb;
#
# Bug #23692: Falcon: searches fail if data is 0x00
#
--echo *** Bug #23692 ***
--disable_warnings
DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t2;
DROP TABLE IF EXISTS t3;
DROP TABLE IF EXISTS t4;
--enable_warnings
CREATE TABLE t1 (a char(1), key (a));
INSERT INTO t1 VALUES (0x00);
SELECT count(*) FROM t1 WHERE a < '';
SELECT count(*) FROM t1 WHERE a = '';
SELECT count(*) FROM t1 WHERE a > '';
CREATE TABLE t2 (a varbinary(5));
CREATE INDEX i ON t2 (a);
INSERT INTO t2 VALUES (0x02), (0x0202);
SELECT count(*) FROM t2 WHERE a >= 0x02 OR a = 0x0202;
SELECT hex(a) FROM t2 WHERE a < 0x02;
SELECT hex(a) FROM t2 WHERE a = 0x02;
SELECT hex(a) FROM t2 WHERE a > 0x02;
CREATE TABLE t3 (a char(5));
CREATE INDEX i ON t3 (a);
INSERT INTO t3 VALUES (0x4200), (0x4209), (0x42), (0x4220), (0x4242);
SELECT hex(a) FROM t3 WHERE a < 0x42;
SELECT hex(a) FROM t3 WHERE a = 0x42;
SELECT hex(a) FROM t3 WHERE a > 0x42;
SELECT hex(a) FROM t3 WHERE a LIKE 'a%';
CREATE TABLE t4 (a varchar(5) character set ucs2, key(a)) engine=tokudb;
INSERT INTO t4 VALUES (0x00420000), (0x00420009), (0x0041001f), (0x0042), (0x00420020), (0x00420042);
SELECT hex(a) FROM t4 WHERE a < 'a';
SELECT hex(a) FROM t4 WHERE a = 'a';
SELECT hex(a) FROM t4 WHERE a > 'a';
SELECT hex(a) FROM t4 WHERE a LIKE 'a%';
# Final cleanup.
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE t4;
--source include/have_tokudb.inc
SET @@DEFAULT_STORAGE_ENGINE = tokudb;
#
# Bug #23818 Falcon: crash with random updates of long varchar columns
# First part. Original bug reports loops 100000 times.
# Use UCS2 which uses two bytes for every char.
#
--echo *** Bug #23818_I ***
--disable_warnings
DROP TABLE IF EXISTS t1;
DROP PROCEDURE IF EXISTS p1;
--enable_warnings
/* Does not fail with "b varchar(256) character set ucs2" */
CREATE TABLE t1 (a int, b varchar(1000) character set ucs2, c varchar(10000));
INSERT INTO t1 VALUES (null,null,null),(1,'',''),(2,'a','a');
CREATE INDEX i1 ON t1 (b(550));
DELIMITER //;
CREATE PROCEDURE p1 ()
BEGIN
declare v int default 0;
while v < 100 do
SET @x = concat('update t1 set a = ', v,', b = repeat(0x', hex(rand()*10000),',rand()*549), c = repeat(0x', hex(rand()*255), ',rand()*9999)');
/* select v,@x; */
PREPARE stmt1 FROM @x;
EXECUTE stmt1;
SET v = v + 1;
END while;
END//
CALL p1()//
# Final cleanup.
DELIMITER ;//
DROP TABLE t1;
DROP PROCEDURE p1;
--source include/have_tokudb.inc
SET @@DEFAULT_STORAGE_ENGINE = tokudb;
#
# Bug #23818 Falcon: crash with random updates of long varchar columns
# Second part. Original bug reports loops 100000 times.
# Use character set LATIN1, loop more times
#
--echo *** Bug #23818_II ***
--disable_warnings
DROP TABLE IF EXISTS t1;
DROP PROCEDURE IF EXISTS p1;
--enable_warnings
CREATE TABLE t1 (a int, b varchar(1100) character set latin1, c varchar(10000));
INSERT INTO t1 VALUES (null,null,null),(1,'',''),(2,'a','a');
CREATE INDEX i1 ON t1 (b);
DELIMITER //;
CREATE PROCEDURE p1 ()
BEGIN
declare v int default 0;
while v < 1000 do
SET @x = concat('update t1 set a = ', v,', b = repeat(0x', hex(rand()*255),',rand()*999), c = repeat(0x', hex(rand()*255), ',rand()*9999)');
/* select v,@x; */
PREPARE stmt1 FROM @x;
EXECUTE stmt1;
SET v = v + 1;
END while;
END//
CALL p1()//
# Final cleanup.
DELIMITER ;//
DROP TABLE t1;
DROP PROCEDURE p1;
--source include/have_tokudb.inc
SET @@DEFAULT_STORAGE_ENGINE = tokudb;
#
# Bug #23818 Falcon: crash with random updates of long varchar columns
# First part. Original bug reports loops 100000 times.
#
--echo *** Bug #23818_A ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b varchar(1100));
INSERT INTO t1 VALUES (0,null),(0,null),(0,null);
CREATE INDEX i1 ON t1 (b);
--disable_result_log
--disable_query_log
set @a = 32710;
let $k = 200;
while ($k)
{
SELECT @a + 1 into @a;
SELECT rand(@a) * DEGREES(@a) into @b;
SELECT FLOOR(MOD(@b,255)) into @c;
SELECT @a, @b, @c;
UPDATE t1 SET a = a + 1;
UPDATE t1 SET b = repeat(hex(@c), rand(@c) * 550);
SELECT a, length(b), left(b,10) from t1;
dec $k;
}
--enable_query_log
--enable_result_log
# Final cleanup.
DROP TABLE t1;
--source include/have_tokudb.inc
SET @@DEFAULT_STORAGE_ENGINE = tokudb;
#
# Bug #23818 Falcon: crash with random updates of long varchar columns
# First part. Original bug reports loops 100000 times.
#
--echo *** Bug #23818_B ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b varchar(1100));
INSERT INTO t1 VALUES (0,null),(0,null),(0,null);
CREATE INDEX i1 ON t1 (b);
--disable_result_log
--disable_query_log
set @a = 5510;
let $k = 200;
while ($k)
{
SELECT @a + 1 into @a;
SELECT rand(@a) * DEGREES(@a) into @b;
SELECT FLOOR(MOD(@b,255)) into @c;
SELECT @a, @b, @c;
UPDATE t1 SET a = a + 1;
UPDATE t1 SET b = repeat(hex(@c), rand(@c) * 550);
SELECT a, length(b), left(b,10) from t1;
dec $k;
}
--enable_query_log
--enable_result_log
# Final cleanup.
DROP TABLE t1;
--source include/have_tokudb.inc
SET @@DEFAULT_STORAGE_ENGINE = tokudb;
#
# Bug #23818 Falcon: crash with random updates of long varchar columns
# First part. Original bug reports loops 100000 times.
#
--echo *** Bug #23818_C ***
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int, b varchar(1100));
INSERT INTO t1 VALUES (0,null),(0,null),(0,null);
CREATE INDEX i1 ON t1 (b);
--disable_result_log
--disable_query_log
set @a = 28410;
let $k = 200;
while ($k)
{
SELECT @a + 1 into @a;
SELECT rand(@a) * DEGREES(@a) into @b;
SELECT FLOOR(MOD(@b,255)) into @c;
SELECT @a, @b, @c;
UPDATE t1 SET a = a + 1;
UPDATE t1 SET b = repeat(hex(@c), rand(@c) * 550);
SELECT a, length(b), left(b,10) from t1;
dec $k;
}
--enable_query_log
--enable_result_log
# Final cleanup.
DROP TABLE t1;
# verify that create unique index is not a hot operation.
# in tokudb_add_index assert that the table MDL >= shared no write.
source include/have_tokudb.inc;
source include/have_debug.inc;
set default_storage_engine='tokudb';
disable_warnings;
drop table if exists t;
enable_warnings;
create table t (id int auto_increment primary key, x int);
create unique index x on t (x);
drop table t;
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a1 int,a2 int, a3 int, a4 int, a5 int, a6 int, a7 int, a8 int, a9 int, a10 int) engine = tokudb;
insert into t1 (a9,a10) values (1,2);
alter table t1 add index blah(a9,a10);
select * from t1;
select a9,a10 from t1;
DROP table t1;
\ No newline at end of file
SET DEFAULT_STORAGE_ENGINE = 'tokudb';
DROP TABLE IF EXISTS foo;
set session tokudb_disable_slow_alter=ON;
create table foo (a int);
insert into foo values (1),(2),(3);
alter table foo add column b blob;
select * from foo;
a b
1 NULL
2 NULL
3 NULL
alter table foo add column c blob NOT NULL;
select * from foo;
a b c
1 NULL
2 NULL
3 NULL
alter table foo add column d blob DEFAULT="asdf";
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your XYZ server version for the right syntax to use near '="asdf"' at line 1
select * from foo;
a b c
1 NULL
2 NULL
3 NULL
DROP TABLE foo;
SET DEFAULT_STORAGE_ENGINE='tokudb';
DROP TABLE IF EXISTS hcad;
set session tokudb_disable_slow_alter=1;
set session tokudb_row_format=tokudb_zlib;
CREATE TABLE hcad (
id int(10) unsigned NOT NULL AUTO_INCREMENT,
k int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (id),
KEY k (k)
) engine=tokudb;
alter table hcad add column tmc int null;
drop table hcad;
set default_storage_engine='tokudb';
drop table if exists t;
create table t (a int primary key, b int, c int);
set session tokudb_disable_slow_alter=1;
alter table t add key(b), add unique key(c);
drop table t;
set default_storage_engine='tokudb';
drop table if exists foo;
set session tokudb_disable_slow_alter=ON;
create table foo (a int, b int, c int, key(a))engine=TokuDB;
insert into foo values (1,10,100),(2,20,200),(3,30,300),(3,30,300);
select * from foo;
a b c
1 10 100
2 20 200
3 30 300
3 30 300
explain select sum(a) from foo;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE foo index NULL a 5 NULL 4 Using index
select sum(a) from foo;
sum(a)
9
alter table foo add unique index b(b), drop index a;
ERROR 23000: Can't write; duplicate key in table 'foo'
select * from foo;
a b c
1 10 100
2 20 200
3 30 300
3 30 300
explain select sum(a) from foo;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE foo index NULL a 5 NULL 4 Using index
select sum(a) from foo;
sum(a)
9
#test that we can still add an index named 'b'
alter table foo add index b(b);
explain select sum(b) from foo;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE foo index NULL b 5 NULL 4 Using index
select sum(b) from foo;
sum(b)
90
set autocommit=0;
drop index b on foo;
create index b on foo (b);
explain select sum(b) from foo;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE foo index NULL b 5 NULL 4 Using index
select sum(b) from foo;
sum(b)
90
set autocommit=1;
drop table foo;
SET DEFAULT_STORAGE_ENGINE='TokuDB';
DROP TABLE IF EXISTS foo;
SET SESSION tokudb_disable_slow_alter=1;
CREATE TABLE foo (a INT, b INT, PRIMARY KEY (a)) PARTITION BY HASH(a) PARTITIONS 2;
INSERT INTO foo VALUES (1,0),(2,0);
SHOW CREATE TABLE foo;
Table Create Table
foo CREATE TABLE `foo` (
`a` int(11) NOT NULL DEFAULT '0',
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (a)
PARTITIONS 2 */
ALTER TABLE foo ADD KEY(b);
SHOW CREATE TABLE foo;
Table Create Table
foo CREATE TABLE `foo` (
`a` int(11) NOT NULL DEFAULT '0',
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `b` (`b`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (a)
PARTITIONS 2 */
DROP TABLE foo;
SET DEFAULT_STORAGE_ENGINE='TokuDB';
DROP TABLE IF EXISTS foo;
SET SESSION tokudb_disable_slow_alter=1;
CREATE TABLE foo (a INT NOT NULL DEFAULT 0, b INT DEFAULT NULL);
SHOW CREATE TABLE foo;
Table Create Table
foo CREATE TABLE `foo` (
`a` int(11) NOT NULL DEFAULT '0',
`b` int(11) DEFAULT NULL
) ENGINE=TokuDB DEFAULT CHARSET=latin1
ALTER TABLE foo ALTER COLUMN a SET DEFAULT 100;
SHOW CREATE TABLE foo;
Table Create Table
foo CREATE TABLE `foo` (
`a` int(11) NOT NULL DEFAULT '100',
`b` int(11) DEFAULT NULL
) ENGINE=TokuDB DEFAULT CHARSET=latin1
ALTER TABLE foo ALTER COLUMN a DROP DEFAULT;
SHOW CREATE TABLE foo;
Table Create Table
foo CREATE TABLE `foo` (
`a` int(11) NOT NULL,
`b` int(11) DEFAULT NULL
) ENGINE=TokuDB DEFAULT CHARSET=latin1
ALTER TABLE foo ALTER COLUMN b SET DEFAULT 42;
SHOW CREATE TABLE foo;
Table Create Table
foo CREATE TABLE `foo` (
`a` int(11) NOT NULL,
`b` int(11) DEFAULT '42'
) ENGINE=TokuDB DEFAULT CHARSET=latin1
ALTER TABLE foo ALTER COLUMN b DROP DEFAULT;
SHOW CREATE TABLE foo;
Table Create Table
foo CREATE TABLE `foo` (
`a` int(11) NOT NULL,
`b` int(11)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
DROP TABLE foo;
SET DEFAULT_STORAGE_ENGINE='tokudb';
DROP TABLE IF EXISTS foo;
set session tokudb_disable_slow_alter=ON;
create table foo(a int auto_increment, b int, primary key (a));
insert into foo (b) values (11),(21),(32);
select * from foo;
a b
1 11
2 21
3 32
alter table foo auto_increment=1000;
show create table foo;
Table Create Table
foo CREATE TABLE `foo` (
`a` int(11) NOT NULL AUTO_INCREMENT,
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=TokuDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
insert into foo (b) values (11),(21),(32);
select * from foo;
a b
1 11
2 21
3 32
1000 11
1001 21
1002 32
show create table foo;
Table Create Table
foo CREATE TABLE `foo` (
`a` int(11) NOT NULL AUTO_INCREMENT,
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=TokuDB AUTO_INCREMENT=1003 DEFAULT CHARSET=latin1
alter table foo auto_increment=10;
insert into foo (b) values (11),(21),(32);
select * from foo;
a b
1 11
2 21
3 32
1000 11
1001 21
1002 32
1003 11
1004 21
1005 32
show create table foo;
Table Create Table
foo CREATE TABLE `foo` (
`a` int(11) NOT NULL AUTO_INCREMENT,
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=TokuDB AUTO_INCREMENT=1006 DEFAULT CHARSET=latin1
alter table foo auto_increment=100000, add column c int;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo auto_increment=100000, drop column b;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo auto_increment=100000, add key b(b);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo auto_increment=100000, change b b bigint;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo auto_increment=100000, change b c int;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo auto_increment=100000, ROW_FORMAT=TOKUDB_LZMA;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo auto_increment=100000, change b b int DEFAULT 111;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
DROP TABLE foo;
SET DEFAULT_STORAGE_ENGINE='tokudb';
drop table if exists t;
create table t (a int, b int, c int, primary key(a), key(b), unique key(c));
set session tokudb_disable_slow_alter=1;
alter table t drop key b, drop key c;
drop table t;
set default_storage_engine='tokudb';
drop table if exists t;
create table t (x int, y int, primary key (x));
alter table t drop primary key, add primary key(x);
drop table t;
set default_storage_engine='tokudb';
drop table if exists t;
create table t (x int, y int, primary key (x)) partition by hash(x) partitions 1;
alter table t drop primary key, add primary key(x);
drop table t;
set default_storage_engine=tokudb;
DROP TABLE IF EXISTS testtable;
CREATE TABLE `testtable` (
`id` INT(11) NOT NULL,
`keyword` VARCHAR(299) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `keyword` (`keyword`(100))
) ENGINE=TokuDB DEFAULT CHARSET=utf8 ROW_FORMAT=TOKUDB_QUICKLZ;
set tokudb_disable_hot_alter=ON;
ALTER TABLE testtable DROP PRIMARY KEY;
drop table testtable;
CREATE TABLE `testtable` (
`id` INT(11) NOT NULL,
`keyword` VARCHAR(299) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `keyword` (`keyword`(100))
) ENGINE=TokuDB DEFAULT CHARSET=utf8 ROW_FORMAT=TOKUDB_QUICKLZ;
set tokudb_disable_hot_alter=OFF;
ALTER TABLE testtable DROP PRIMARY KEY;
drop table testtable;
DROP TABLE IF EXISTS foo, bar;
SET SESSION DEFAULT_STORAGE_ENGINE='TokuDB';
CREATE TABLE foo (id INT PRIMARY KEY);
SHOW CREATE TABLE foo;
Table Create Table
foo CREATE TABLE `foo` (
`id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
CREATE TABLE bar LIKE foo;
SHOW CREATE TABLE bar;
Table Create Table
bar CREATE TABLE `bar` (
`id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
ALTER TABLE foo ADD COLUMN a INT;
SHOW CREATE TABLE foo;
Table Create Table
foo CREATE TABLE `foo` (
`id` int(11) NOT NULL,
`a` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
FLUSH TABLES;
SHOW CREATE TABLE foo;
Table Create Table
foo CREATE TABLE `foo` (
`id` int(11) NOT NULL,
`a` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
DROP TABLE foo, bar;
DROP TABLE IF EXISTS foo, bar;
SET SESSION DEFAULT_STORAGE_ENGINE='TokuDB';
CREATE TABLE foo (id INT PRIMARY KEY) PARTITION BY HASH(id) PARTITIONS 2;
SHOW CREATE TABLE foo;
Table Create Table
foo CREATE TABLE `foo` (
`id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (id)
PARTITIONS 2 */
CREATE TABLE bar LIKE foo;
SHOW CREATE TABLE bar;
Table Create Table
bar CREATE TABLE `bar` (
`id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (id)
PARTITIONS 2 */
ALTER TABLE foo ADD COLUMN a INT;
SHOW CREATE TABLE foo;
Table Create Table
foo CREATE TABLE `foo` (
`id` int(11) NOT NULL,
`a` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (id)
PARTITIONS 2 */
FLUSH TABLES;
SHOW CREATE TABLE foo;
Table Create Table
foo CREATE TABLE `foo` (
`id` int(11) NOT NULL,
`a` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (id)
PARTITIONS 2 */
DROP TABLE foo, bar;
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
set default_storage_engine='tokudb';
DROP TABLE IF EXISTS s, t;
CREATE TABLE s (a INT);
SHOW CREATE TABLE s;
Table Create Table
s CREATE TABLE `s` (
`a` int(11) DEFAULT NULL
) ENGINE=TokuDB DEFAULT CHARSET=latin1
SET tokudb_disable_slow_alter=1;
ALTER TABLE s RENAME TO t, ADD COLUMN b INT;
SHOW CREATE TABLE t;
Table Create Table
t CREATE TABLE `t` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL
) ENGINE=TokuDB DEFAULT CHARSET=latin1
DROP TABLE t;
SET DEFAULT_STORAGE_ENGINE='tokudb';
DROP TABLE IF EXISTS foo,bar;
set session tokudb_disable_slow_alter=ON;
create table foo (a int NOT NULL, b bigint NOT NULL, c mediumint NOT NULL, primary key (a), clustering key (b))engine=TokuDB;
create table bar (a int NOT NULL, b bigint NOT NULL, c mediumint NOT NULL, primary key (a), key (b))engine=MyISAM;
insert into foo values (1,10,100),(-1,-1,-1),(2,20,200);
insert into bar select * from foo;
alter table foo add column d int default 20;
alter table bar add column d int default 20;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
select * from foo order by b desc;
a b c d
2 20 200 20
1 10 100 20
-1 -1 -1 20
insert into foo values (3,30,300,3000);
insert into bar values (3,30,300,3000);
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
3 30 300 3000
select * from foo order by b desc;
a b c d
3 30 300 3000
2 20 200 20
1 10 100 20
-1 -1 -1 20
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
select * from foo order by b desc;
a b c
3 30 300
2 20 200
1 10 100
-1 -1 -1
insert into foo values (4,40,400);
insert into bar values (4,40,400);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
select * from foo order by b desc;
a b c
4 40 400
3 30 300
2 20 200
1 10 100
-1 -1 -1
alter table foo add column d int default 20 first;
alter table bar add column d int default 20 first;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
select * from foo order by b desc;
d a b c
20 4 40 400
20 3 30 300
20 2 20 200
20 1 10 100
20 -1 -1 -1
insert into foo values (5,50,500,5000);
insert into bar values (5,50,500,5000);
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
5 50 500 5000
select * from foo order by b desc;
d a b c
5 50 500 5000
20 4 40 400
20 3 30 300
20 2 20 200
20 1 10 100
20 -1 -1 -1
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
50 500 5000
select * from foo order by b desc;
a b c
50 500 5000
4 40 400
3 30 300
2 20 200
1 10 100
-1 -1 -1
insert into foo values (6,60,600);
insert into bar values (6,60,600);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
6 60 600
50 500 5000
select * from foo order by b desc;
a b c
50 500 5000
6 60 600
4 40 400
3 30 300
2 20 200
1 10 100
-1 -1 -1
drop table foo;
drop table bar;
create table foo (a int NOT NULL, b bigint NOT NULL, c mediumint NOT NULL, primary key (c), clustering key (b))engine=TokuDB;
create table bar (a int NOT NULL, b bigint NOT NULL, c mediumint NOT NULL, primary key (c), key (b))engine=MyISAM;
insert into foo values (1,10,100),(-1,-1,-1),(2,20,200);
insert into bar select * from foo;
alter table foo add column d int default 20;
alter table bar add column d int default 20;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
select * from foo order by b desc;
a b c d
2 20 200 20
1 10 100 20
-1 -1 -1 20
insert into foo values (3,30,300,3000);
insert into bar values (3,30,300,3000);
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
3 30 300 3000
select * from foo order by b desc;
a b c d
3 30 300 3000
2 20 200 20
1 10 100 20
-1 -1 -1 20
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
select * from foo order by b desc;
a b c
3 30 300
2 20 200
1 10 100
-1 -1 -1
insert into foo values (4,40,400);
insert into bar values (4,40,400);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
select * from foo order by b desc;
a b c
4 40 400
3 30 300
2 20 200
1 10 100
-1 -1 -1
alter table foo add column d int default 20 first;
alter table bar add column d int default 20 first;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
select * from foo order by b desc;
d a b c
20 4 40 400
20 3 30 300
20 2 20 200
20 1 10 100
20 -1 -1 -1
insert into foo values (5,50,500,5000);
insert into bar values (5,50,500,5000);
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
5 50 500 5000
select * from foo order by b desc;
d a b c
5 50 500 5000
20 4 40 400
20 3 30 300
20 2 20 200
20 1 10 100
20 -1 -1 -1
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
50 500 5000
select * from foo order by b desc;
a b c
50 500 5000
4 40 400
3 30 300
2 20 200
1 10 100
-1 -1 -1
insert into foo values (6,60,600);
insert into bar values (6,60,600);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
6 60 600
50 500 5000
select * from foo order by b desc;
a b c
50 500 5000
6 60 600
4 40 400
3 30 300
2 20 200
1 10 100
-1 -1 -1
drop table foo;
drop table bar;
SET DEFAULT_STORAGE_ENGINE='tokudb';
DROP TABLE IF EXISTS foo,bar;
set session tokudb_disable_slow_alter=ON;
create table foo (a varchar(10) NOT NULL, b varchar(10) NOT NULL, c varchar(10) NOT NULL, primary key (a), clustering key (b))engine=TokuDB;
create table bar (a varchar(10) NOT NULL, b varchar(10) NOT NULL, c varchar(10) NOT NULL, primary key (a), key (b))engine=MyISAM;
insert into foo values (1,10,100),(-1,-1,-1),(2,20,200);
insert into bar select * from foo;
alter table foo add column d varchar(10) default 20;
alter table bar add column d varchar(10) default 20;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
select * from foo order by b desc;
a b c d
2 20 200 20
1 10 100 20
-1 -1 -1 20
insert into foo values (3,30,300,3000);
insert into bar values (3,30,300,3000);
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
3 30 300 3000
select * from foo order by b desc;
a b c d
3 30 300 3000
2 20 200 20
1 10 100 20
-1 -1 -1 20
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
select * from foo order by b desc;
a b c
3 30 300
2 20 200
1 10 100
-1 -1 -1
insert into foo values (4,40,400);
insert into bar values (4,40,400);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
select * from foo order by b desc;
a b c
4 40 400
3 30 300
2 20 200
1 10 100
-1 -1 -1
alter table foo add column d varchar(10) default 20 first;
alter table bar add column d varchar(10) default 20 first;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
select * from foo order by b desc;
d a b c
20 4 40 400
20 3 30 300
20 2 20 200
20 1 10 100
20 -1 -1 -1
insert into foo values (5,50,500,5000);
insert into bar values (5,50,500,5000);
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
5 50 500 5000
select * from foo order by b desc;
d a b c
5 50 500 5000
20 4 40 400
20 3 30 300
20 2 20 200
20 1 10 100
20 -1 -1 -1
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
50 500 5000
select * from foo order by b desc;
a b c
50 500 5000
4 40 400
3 30 300
2 20 200
1 10 100
-1 -1 -1
insert into foo values (6,60,600);
insert into bar values (6,60,600);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
50 500 5000
6 60 600
select * from foo order by b desc;
a b c
6 60 600
50 500 5000
4 40 400
3 30 300
2 20 200
1 10 100
-1 -1 -1
drop table foo;
drop table bar;
create table foo (a varchar(10) NOT NULL, b varchar(10) NOT NULL, c varchar(10) NOT NULL, primary key (c), clustering key (b))engine=TokuDB;
create table bar (a varchar(10) NOT NULL, b varchar(10) NOT NULL, c varchar(10) NOT NULL, primary key (c), key (b))engine=MyISAM;
insert into foo values (1,10,100),(-1,-1,-1),(2,20,200);
insert into bar select * from foo;
alter table foo add column d varchar(10) default 20;
alter table bar add column d varchar(10) default 20;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
select * from foo order by b desc;
a b c d
2 20 200 20
1 10 100 20
-1 -1 -1 20
insert into foo values (3,30,300,3000);
insert into bar values (3,30,300,3000);
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
3 30 300 3000
select * from foo order by b desc;
a b c d
3 30 300 3000
2 20 200 20
1 10 100 20
-1 -1 -1 20
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
select * from foo order by b desc;
a b c
3 30 300
2 20 200
1 10 100
-1 -1 -1
insert into foo values (4,40,400);
insert into bar values (4,40,400);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
select * from foo order by b desc;
a b c
4 40 400
3 30 300
2 20 200
1 10 100
-1 -1 -1
alter table foo add column d varchar(10) default 20 first;
alter table bar add column d varchar(10) default 20 first;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
select * from foo order by b desc;
d a b c
20 4 40 400
20 3 30 300
20 2 20 200
20 1 10 100
20 -1 -1 -1
insert into foo values (5,50,500,5000);
insert into bar values (5,50,500,5000);
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
5 50 500 5000
select * from foo order by b desc;
d a b c
5 50 500 5000
20 4 40 400
20 3 30 300
20 2 20 200
20 1 10 100
20 -1 -1 -1
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
50 500 5000
select * from foo order by b desc;
a b c
50 500 5000
4 40 400
3 30 300
2 20 200
1 10 100
-1 -1 -1
insert into foo values (6,60,600);
insert into bar values (6,60,600);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
50 500 5000
6 60 600
select * from foo order by b desc;
a b c
6 60 600
50 500 5000
4 40 400
3 30 300
2 20 200
1 10 100
-1 -1 -1
drop table foo;
drop table bar;
SET DEFAULT_STORAGE_ENGINE='tokudb';
DROP TABLE IF EXISTS foo,bar;
set session tokudb_disable_slow_alter=ON;
create table foo(a varchar(10), b varchar (10), c varchar(10), d varchar(10))engine=TokuDB;
create table bar like foo;
alter table bar engine=MyISAM;
insert into foo values (NULL,NULL,NULL,NULL);
insert into foo values (NULL, "bobby",NULL,"heehee");
insert into foo values ("BIGGER",NULL,"smaller",NULL);
insert into foo values ("aaaaaaaaaa","bbbbbbbbbb","cccccccccc","dddddddddd");
insert into bar select * from foo;
include/diff_tables.inc [test.foo, test.bar]
alter table foo add column e varchar(3000) default NULL;
alter table bar add column e varchar(3000) default NULL;
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column e;
alter table bar drop column e;
include/diff_tables.inc [test.foo, test.bar]
alter table foo add column e varchar(3000) default NULL first;
alter table bar add column e varchar(3000) default NULL first;
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column e;
alter table bar drop column e;
include/diff_tables.inc [test.foo, test.bar]
alter table foo add column e varchar(3000) default NULL after b;
alter table bar add column e varchar(3000) default NULL after b;
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column e;
alter table bar drop column e;
include/diff_tables.inc [test.foo, test.bar]
alter table foo add column e varchar(3000) default "abracadabraabracadabra";
alter table bar add column e varchar(3000) default "abracadabraabracadabra";
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column e;
alter table bar drop column e;
include/diff_tables.inc [test.foo, test.bar]
alter table foo add column e varchar(3000) default "abracadabraabracadabra" first;
alter table bar add column e varchar(3000) default "abracadabraabracadabra" first;
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column e;
alter table bar drop column e;
include/diff_tables.inc [test.foo, test.bar]
alter table foo add column e varchar(3000) default "abracadabraabracadabra" after b;
alter table bar add column e varchar(3000) default "abracadabraabracadabra" after b;
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column e;
alter table bar drop column e;
include/diff_tables.inc [test.foo, test.bar]
alter table foo add column e varchar(3000) default NULL after b;
alter table bar add column e varchar(3000) default NULL after b;
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column e;
alter table bar drop column e;
include/diff_tables.inc [test.foo, test.bar]
alter table foo add column e varchar(3000) NOT NULL default "abracadabraabracadabra";
alter table bar add column e varchar(3000) NOT NULL default "abracadabraabracadabra";
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column e;
alter table bar drop column e;
include/diff_tables.inc [test.foo, test.bar]
alter table foo add column e varchar(3000) NOT NULL default "abracadabraabracadabra" first;
alter table bar add column e varchar(3000) NOT NULL default "abracadabraabracadabra" first;
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column e;
alter table bar drop column e;
include/diff_tables.inc [test.foo, test.bar]
alter table foo add column e varchar(3000) NOT NULL default "abracadabraabracadabra" after b;
alter table bar add column e varchar(3000) NOT NULL default "abracadabraabracadabra" after b;
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column e;
alter table bar drop column e;
include/diff_tables.inc [test.foo, test.bar]
drop table foo;
drop table bar;
set default_storage_engine=tokudb;
drop table if exists t6;
CREATE TABLE t6 ( c32 char(0) DEFAULT NULL, c15 year(4) DEFAULT NULL, c13 varchar(240) DEFAULT NULL, c35 date NOT NULL, c24 text, c27 text, c1 int(11) DEFAULT NULL, c4 int(11) DEFAULT NULL, c10 int(10) unsigned NOT NULL, c14 varchar(240) DEFAULT NULL, c26 text, c25 text, c17 varchar(240) NOT NULL, c28 text NOT NULL, c7 int(10) unsigned DEFAULT NULL, c34 date NOT NULL, c21 blob, c29 text NOT NULL, c22 blob NOT NULL, c19 blob, c3 int(10) unsigned DEFAULT NULL, c2 int(10) unsigned DEFAULT NULL, c8 int(11) NOT NULL, c16 varchar(240) NOT NULL, c5 int(11) DEFAULT NULL, c18 blob, c23 blob NOT NULL, c9 int(11) NOT NULL, c20 blob, c12 varchar(240) DEFAULT NULL, c33 date DEFAULT NULL, c11 int(10) unsigned NOT NULL, c30 date DEFAULT NULL, c6 int(10) unsigned DEFAULT NULL, c31 date DEFAULT NULL, c0 int(11) DEFAULT NULL, KEY c13 (c13), KEY c35 (c35), KEY c27 (c27(255)), KEY c1 (c1), KEY c25 (c25(255)), KEY c17 (c17), KEY c7 (c7), KEY c21 (c21(255)), KEY c29 (c29(255)), KEY c19 (c19(255)), KEY c3 (c3), KEY c5 (c5), KEY c23 (c23(255)), KEY c15 (c15), KEY c9 (c9), KEY c33 (c33), KEY c11 (c11), KEY c31 (c31));
ALTER TABLE t6 DROP COLUMN c32;
DROP TABLE t6;
This diff is collapsed.
SET DEFAULT_STORAGE_ENGINE='tokudb';
DROP TABLE IF EXISTS foo,bar;
set session tokudb_disable_slow_alter=ON;
create table foo (aa int, bb int, cc int, dd int, ee int, a int, b varchar(20), c int, d int, e int, primary key (e), key(d), unique key(c), clustering key (b));
alter table foo drop column e;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo drop column d;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo drop column c;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo drop column b;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaa int first;
alter table foo drop column aaa;
alter table foo add column aaa int first;
alter table foo drop column aaa, drop index d;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo drop column aaa, add index (bb);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo drop index b, add index b(b);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo drop column aaa, drop index b, add index b(d);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo drop column aaa, drop index b, add index b(b);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo drop column aaa, drop index b, add clustering index b(b(5));
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo drop column aaa, drop index b, add clustering index b(b);
alter table foo add column aaa int, drop index d;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaa int, add index (bb);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaa int, drop index b, add index b(b);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaa int, drop index b, add index b(d);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaa int, drop index b, add unique index b(b);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaa int, drop index b, add index b(b);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaa int, drop index b, add clustering index b(b(5));
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaa int, drop index b, add clustering index b(b);
alter table foo drop column aaa, drop index c;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo drop column aaa, add index (bb);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo drop index c, add index c(c);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo drop column aaa, drop index c, add index c(d);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo drop column aaa, drop index c, add index c(c);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo drop column aaa, drop index c, add unique index c(c);
alter table foo add column aaa int, drop index c;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaa int, add index (bb);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaa int, drop index c, add index c(c);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaa int, drop index c, add index c(d);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaa int, drop index c, add clustering index c(c);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaa int, drop index c, add index c(c);
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaa int, drop index c, add unique index c(c);
alter table foo add column aaaa int, drop column c;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaaa int, add column bbbb int, drop column c;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
alter table foo add column aaaa int, drop column c, drop column b;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
drop table foo;
SET DEFAULT_STORAGE_ENGINE='tokudb';
DROP TABLE IF EXISTS foo,bar;
set session tokudb_disable_slow_alter=ON;
create table foo (a int NOT NULL, b bigint NOT NULL, c tinyint NOT NULL, d int NOT NULL, primary key (b))engine=TokuDB;
insert into foo values (122,10,1,1000),(1,110,1,0),(0,3234,0,657),(0,0,0,0),(99,99,0,99), (-1,-1,-1,-1);
create table bar like foo;
alter table bar engine=MyISAM;
insert into bar select * from foo;
include/diff_tables.inc [test.foo, test.bar]
alter table foo add column e int default NULL first;
alter table bar add column e int default NULL first;
select * from foo;
e a b c d
NULL -1 -1 -1 -1
NULL 0 0 0 0
NULL 122 10 1 1000
NULL 99 99 0 99
NULL 1 110 1 0
NULL 0 3234 0 657
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column e;
alter table bar drop column e;
include/diff_tables.inc [test.foo, test.bar]
alter table foo add column e int default -1 first;
alter table bar add column e int default -1 first;
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column e;
alter table bar drop column e;
include/diff_tables.inc [test.foo, test.bar]
alter table foo add column e int NOT NULL default -1 first;
alter table bar add column e int NOT NULL default -1 first;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
e a b c d
-1 -1 -1 -1 -1
-1 0 0 0 0
-1 122 10 1 1000
-1 99 99 0 99
-1 1 110 1 0
-1 0 3234 0 657
drop table foo;
drop table bar;
create table foo (a int, b int not null, c int, d int not null, e int, primary key (e))engine=TokuDB;
alter table foo drop column e;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
create table bar like foo;
alter table bar engine=MyISAM;
insert into foo values (NULL, -1, NULL, -1,1),(0,0,0,0,0),(NULL,234,234,324,234),(98567,76,NULL,7668,90909);
insert into bar select * from foo;
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column b;
alter table bar drop column b;
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column a;
alter table bar drop column a;
include/diff_tables.inc [test.foo, test.bar]
drop table foo;
drop table bar;
create table foo (a varchar(20), b varchar(20) not null, c varchar(20), d varchar(20) not null, e int, primary key (e))engine=TokuDB;
alter table foo drop column e;
ERROR 42000: Table 'foo' uses an extension that doesn't exist in this XYZ version
create table bar like foo;
alter table bar engine=MyISAM;
insert into foo values (NULL, "-1", NULL, "-1",1),("dfg0","0rrr","eee0","qwert",0),(NULL,"234","234","324",234),("98567","76",NULL,"7668","90909");
insert into bar select * from foo;
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column b;
alter table bar drop column b;
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
alter table foo drop column a;
alter table bar drop column a;
include/diff_tables.inc [test.foo, test.bar]
drop table foo;
drop table bar;
create table foo(
a int,
b int,
c int,
d int,
e int,
f int,
g int,
h int,
aa int,
bb int,
cc int,
dd int
)engine = TokuDB;
create table bar like foo;
alter table bar engine=MyISAM;
insert into foo values (NULL,-1,NULL,-1,NULL,-1,NULL,-1,NULL,-1,NULL,-1);
insert into foo values (-1,NULL,-1,NULL,-1,NULL,-1,NULL,-1,NULL,-1,NULL);
insert into foo values (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
insert into foo values (-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1);
insert into bar select * from foo;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c d e f g h aa bb cc dd
NULL -1 NULL -1 NULL -1 NULL -1 NULL -1 NULL -1
-1 NULL -1 NULL -1 NULL -1 NULL -1 NULL -1 NULL
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
alter table foo drop column a, drop column aa, drop column c, drop column cc, drop column e, drop column f;
alter table bar drop column a, drop column aa, drop column c, drop column cc, drop column e, drop column f;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
b d g h bb dd
-1 -1 NULL -1 -1 -1
NULL NULL -1 NULL NULL NULL
NULL NULL NULL NULL NULL NULL
-1 -1 -1 -1 -1 -1
alter table foo add column a int default -1 first, add column aa int NOT NULL default -1 after h, add column c int default NULL after b, add column cc int default 0 after bb, add column f int default NULL after d, add column e int NOT NULL default 12345 after d;
alter table bar add column a int default -1 first, add column aa int NOT NULL default -1 after h, add column c int default NULL after b, add column cc int default 0 after bb, add column f int default NULL after d, add column e int NOT NULL default 12345 after d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c d e f g h aa bb cc dd
-1 -1 NULL -1 12345 NULL NULL -1 -1 -1 0 -1
-1 NULL NULL NULL 12345 NULL -1 NULL -1 NULL 0 NULL
-1 NULL NULL NULL 12345 NULL NULL NULL -1 NULL 0 NULL
-1 -1 NULL -1 12345 NULL -1 -1 -1 -1 0 -1
drop table foo;
drop table bar;
SET DEFAULT_STORAGE_ENGINE='TokuDB';
DROP TABLE IF EXISTS foo;
SET SESSION tokudb_disable_slow_alter=1;
CREATE TABLE foo (a INT, b INT, PRIMARY KEY (a)) PARTITION BY HASH(a) PARTITIONS 2;
SHOW CREATE TABLE foo;
Table Create Table
foo CREATE TABLE `foo` (
`a` int(11) NOT NULL DEFAULT '0',
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (a)
PARTITIONS 2 */
ALTER TABLE foo ADD COLUMN c INT;
SHOW CREATE TABLE foo;
Table Create Table
foo CREATE TABLE `foo` (
`a` int(11) NOT NULL DEFAULT '0',
`b` int(11) DEFAULT NULL,
`c` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (a)
PARTITIONS 2 */
DROP TABLE foo;
SET DEFAULT_STORAGE_ENGINE='tokudb';
DROP TABLE IF EXISTS foo,bar;
set session tokudb_disable_slow_alter=ON;
create table foo (a int NOT NULL, b bigint NOT NULL, c mediumint NOT NULL, primary key (a))engine=TokuDB;
create table bar like foo;
alter table bar engine=MyISAM;
insert into foo values (1,10,100),(-1,-1,-1),(2,20,200);
insert into bar select * from foo;
alter table foo add column d int default 20;
alter table bar add column d int default 20;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
insert into foo values (3,30,300,3000);
insert into bar values (3,30,300,3000);
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
3 30 300 3000
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
insert into foo values (4,40,400);
insert into bar values (4,40,400);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
alter table foo add column d int default 20 first;
alter table bar add column d int default 20 first;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
insert into foo values (5,50,500,5000);
insert into bar values (5,50,500,5000);
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
5 50 500 5000
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
50 500 5000
insert into foo values (6,60,600);
insert into bar values (6,60,600);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
6 60 600
50 500 5000
drop table foo;
drop table bar;
create table foo (a int NOT NULL, b bigint NOT NULL, c mediumint NOT NULL, primary key (c))engine=TokuDB;
create table bar like foo;
alter table bar engine=MyISAM;
insert into foo values (1,10,100),(-1,-1,-1),(2,20,200);
insert into bar select * from foo;
alter table foo add column d int default 20;
alter table bar add column d int default 20;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
insert into foo values (3,30,300,3000);
insert into bar values (3,30,300,3000);
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
3 30 300 3000
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
insert into foo values (4,40,400);
insert into bar values (4,40,400);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
alter table foo add column d int default 20 first;
alter table bar add column d int default 20 first;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
insert into foo values (5,50,500,5000);
insert into bar values (5,50,500,5000);
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
5 50 500 5000
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
50 500 5000
insert into foo values (6,60,600);
insert into bar values (6,60,600);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
6 60 600
50 500 5000
drop table foo;
drop table bar;
SET DEFAULT_STORAGE_ENGINE='tokudb';
DROP TABLE IF EXISTS foo,bar;
set session tokudb_disable_slow_alter=ON;
create table foo (a varchar(10) NOT NULL, b varchar(10) NOT NULL, c varchar(10) NOT NULL, primary key (a))engine=TokuDB;
create table bar like foo;
alter table bar engine=MyISAM;
insert into foo values (1,10,100),(-1,-1,-1),(2,20,200);
insert into bar select * from foo;
alter table foo add column d varchar(10) default 20;
alter table bar add column d varchar(10) default 20;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
insert into foo values (3,30,300,3000);
insert into bar values (3,30,300,3000);
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
3 30 300 3000
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
insert into foo values (4,40,400);
insert into bar values (4,40,400);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
alter table foo add column d varchar(10) default 20 first;
alter table bar add column d varchar(10) default 20 first;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
insert into foo values (5,50,500,5000);
insert into bar values (5,50,500,5000);
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
5 50 500 5000
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
50 500 5000
insert into foo values (6,60,600);
insert into bar values (6,60,600);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
50 500 5000
6 60 600
drop table foo;
drop table bar;
create table foo (a varchar(10) NOT NULL, b varchar(10) NOT NULL, c varchar(10) NOT NULL, primary key (c))engine=TokuDB;
create table bar like foo;
alter table bar engine=MyISAM;
insert into foo values (1,10,100),(-1,-1,-1),(2,20,200);
insert into bar select * from foo;
alter table foo add column d varchar(10) default 20;
alter table bar add column d varchar(10) default 20;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
insert into foo values (3,30,300,3000);
insert into bar values (3,30,300,3000);
select * from foo;
a b c d
-1 -1 -1 20
1 10 100 20
2 20 200 20
3 30 300 3000
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
insert into foo values (4,40,400);
insert into bar values (4,40,400);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
alter table foo add column d varchar(10) default 20 first;
alter table bar add column d varchar(10) default 20 first;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
insert into foo values (5,50,500,5000);
insert into bar values (5,50,500,5000);
select * from foo;
d a b c
20 -1 -1 -1
20 1 10 100
20 2 20 200
20 3 30 300
20 4 40 400
5 50 500 5000
alter table foo drop column d;
alter table bar drop column d;
include/diff_tables.inc [test.foo, test.bar]
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
50 500 5000
insert into foo values (6,60,600);
insert into bar values (6,60,600);
select * from foo;
a b c
-1 -1 -1
1 10 100
2 20 200
3 30 300
4 40 400
50 500 5000
6 60 600
drop table foo;
drop table bar;
SET DEFAULT_STORAGE_ENGINE='tokudb';
DROP TABLE IF EXISTS foo;
set session tokudb_disable_slow_alter=ON;
SET DEFAULT_STORAGE_ENGINE='tokudb';
DROP TABLE IF EXISTS bar;
set session tokudb_disable_slow_alter=ON;
create temporary table bar (a int, key(a))engine=TOkuDB;
alter table bar add column c int;
ERROR 42000: Table 'bar' uses an extension that doesn't exist in this MySQL version
create index blah on bar(a);
ERROR 42000: Table 'bar' uses an extension that doesn't exist in this MySQL version
drop index a on bar;
ERROR 42000: Table 'bar' uses an extension that doesn't exist in this MySQL version
set session tokudb_disable_slow_alter=OFF;
insert into bar values (1),(2),(3);
alter table bar add column b int default 1 first;
select * from bar;
b a
1 1
1 2
1 3
create index blah on bar (b);
select sum(b) from bar;
sum(b)
3
drop index a on bar;
drop table bar;
SET @@DEFAULT_STORAGE_ENGINE='tokudb';
DROP TABLE IF EXISTS bar;
set session tokudb_disable_slow_alter=ON;
create temporary table bar (a int, key(a))engine=TOkuDB;
alter table bar add column c int default 0;
create index blah on bar(a);
Warnings:
Note 1831 Duplicate index 'blah' defined on the table 'test.bar'. This is deprecated and will be disallowed in a future release.
drop index a on bar;
set session tokudb_disable_slow_alter=OFF;
insert into bar (a) values (1),(2),(3);
alter table bar add column b int default 1 first;
select * from bar;
b a c
1 1 0
1 2 0
1 3 0
create index blah_b on bar (b);
select sum(b) from bar;
sum(b)
3
drop index blah_b on bar;
drop table bar;
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment