1
by brian
clean slate |
1 |
eval create table t1 (a double not null, primary key(a)) engine=$engine |
2 |
partition by key (a) ( |
|
3 |
partition pa1 max_rows=20 min_rows=2, |
|
4 |
partition pa2 max_rows=30 min_rows=3, |
|
5 |
partition pa3 max_rows=30 min_rows=4, |
|
6 |
partition pa4 max_rows=40 min_rows=2); |
|
7 |
show create table t1; |
|
8 |
insert into t1 values (-2.2250738585072014E+208), (-2.2250738585072014E-208), (-1.5), (-1), (0), (1.5), (1234.567), (2.2250738585072014E+208); |
|
9 |
select * from t1; |
|
10 |
select * from t1 where a=1.5; |
|
11 |
delete from t1 where a=1.5; |
|
12 |
select * from t1; |
|
13 |
drop table t1; |
|
14 |
||
15 |
eval create table t2 (a double not null, primary key(a)) engine=$engine |
|
16 |
partition by key (a) partitions 10; |
|
17 |
show create table t2; |
|
18 |
insert into t2 values (-2.2250738585072014E+208), (-2.2250738585072014E-208), (-1.5), (-1), (0), (1.5), (1234.567), (2.2250738585072014E+208); |
|
19 |
select * from t2; |
|
20 |
select * from t2 where a=1234.567; |
|
21 |
delete from t2 where a=1234.567; |
|
22 |
select * from t2; |
|
23 |
delete from t2; |
|
24 |
let $count=$maxrows; |
|
25 |
--echo $maxrows*3 inserts; |
|
26 |
--disable_query_log |
|
27 |
while ($count) |
|
28 |
{
|
|
29 |
eval insert into t2 values ($count); |
|
30 |
eval insert into t2 values ($count+0.33); |
|
31 |
eval insert into t2 values ($count+0.75); |
|
32 |
dec $count; |
|
33 |
}
|
|
34 |
--enable_query_log |
|
35 |
select count(*) from t2; |
|
36 |
drop table t2; |
|
37 |
||
38 |
||
39 |
# Bug 30577: FLOOR() and CEILING() not usable as partition functions |
|
40 |
# Partition functions are required to return INT_RESULT; FLOOR() and |
|
41 |
# CEILING() do not, unless they have an INT argument. Disable this |
|
42 |
# portion of the test until bug 30577 is fixed. |
|
43 |
||
44 |
--disable_parsing |
|
45 |
||
46 |
eval create table t3 (a double not null, primary key(a)) engine=$engine |
|
47 |
partition by range (floor(a)) subpartition by key (a) subpartitions 3 ( |
|
48 |
partition pa1 values less than (3), |
|
49 |
partition pa3 values less than (6), |
|
50 |
partition pa10 values less than (10) |
|
51 |
);
|
|
52 |
show create table t3; |
|
53 |
let $count=9; |
|
54 |
--echo $count*3 inserts; |
|
55 |
while ($count) |
|
56 |
{
|
|
57 |
eval insert into t3 values ($count); |
|
58 |
eval insert into t3 values ($count+0.33); |
|
59 |
eval insert into t3 values ($count+0.75); |
|
60 |
dec $count; |
|
61 |
}
|
|
62 |
select count(*) from t3; |
|
63 |
select * from t3; |
|
64 |
drop table t3; |
|
65 |
||
66 |
eval create table t4 (a double not null, primary key(a)) engine=$engine |
|
67 |
partition by list (floor(a)) subpartition by key (a) subpartitions 3 ( |
|
68 |
partition pa1 values in (1,2,3), |
|
69 |
partition pa3 values in (4,5,6), |
|
70 |
partition pa10 values in (7,8,9,10) |
|
71 |
);
|
|
72 |
show create table t4; |
|
73 |
let $count=9; |
|
74 |
--echo $count*3 inserts; |
|
75 |
while ($count) |
|
76 |
{
|
|
77 |
eval insert into t4 values ($count); |
|
78 |
eval insert into t4 values ($count+0.33); |
|
79 |
eval insert into t4 values ($count+0.75); |
|
80 |
dec $count; |
|
81 |
}
|
|
82 |
select count(*) from t4; |
|
83 |
select * from t4; |
|
84 |
drop table t4; |
|
85 |
||
86 |
# Disabled due to Bug 30577 |
|
87 |
--enable_parsing |