1 eval create
table t1 (a decimal(10,4) not null, primary key(a)) engine=$engine
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);
8 insert into t1 values (999999.9999), (-999999.9999), (123456.7899), (-123456.7899), (-1.5), (1), (0), (-1), (1.5), (1234.567), (-1234.567);
10 select * from t1 where a=1234.567;
11 delete from t1 where a=1234.567;
15 eval create
table t2 (a decimal(18,9) not null, primary key(a)) engine=$engine
16 partition by key (a) partitions 10;
18 insert into t2 values (999999999.999999999), (-999999999.999999999), (-1.5), (-1), (0), (1.5), (1234.567), (-1234.567);
20 select * from t2 where a=1234.567;
21 delete from t2 where a=1234.567;
25 --echo $count*3 inserts;
29 eval insert into t2 values ($count);
30 eval insert into t2 values ($count+0.333333333);
31 eval insert into t2 values ($count+0.755555555);
35 select count(*) from t2;
38 # Bug 30577: FLOOR() and CEILING() not usable as partition functions
39 # Partition functions are required to return INT_RESULT; FLOOR() and
40 # CEILING() do not, unless they have an INT or DECIMAL argument.
43 eval create
table t3 (a decimal(18,9) not null, primary key(a)) engine=$engine
44 partition by range (floor(a)) subpartition by key (a) subpartitions 2 (
45 partition pa2 values less than (2),
46 partition pa4 values less than (4),
47 partition pa6 values less than (6),
48 partition pa8 values less than (8),
49 partition pa10 values less than (10)
53 --echo $count*3 inserts;
56 eval insert into t3 values ($count);
57 eval insert into t3 values ($count+0.333333333);
58 eval insert into t3 values ($count+0.755555555);
62 select count(*) from t3;
65 eval create
table t4 (a decimal(18,9) not null, primary key(a)) engine=$engine
66 partition by list (ceiling(a)) subpartition by key (a) subpartitions 2 (
67 partition pa2 values in (1,2),
68 partition pa4 values in (3,4),
69 partition pa6 values in (5,6),
70 partition pa8 values in (7,8),
71 partition pa10 values in (9,10)
75 --echo $count*3 inserts;
78 eval insert into t4 values ($count);
79 eval insert into t4 values ($count+0.333333333);
80 eval insert into t4 values ($count+0.755555555);
84 select count(*) from t4;