~drizzle-trunk/drizzle/development

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