1
eval create table t1 (a float 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 (-3.402823466E+38), (3.402823466E+38), (-1.5), (-1), (0), (1), (1.5);
10
select * from t1 where a=1.5;
11
delete from t1 where a=1.5;
15
eval create table t2 (a float not null, primary key(a)) engine=$engine
16
partition by key (a) partitions 10;
18
insert into t2 values (-3.402823466E+38), (-3.402823466E+37), (-123.456), (0), (1234546.789), (123.456), (1.5);
20
#result set is empty: Not a bug with float!!
21
select * from t2 where a=123.456;
22
delete from t2 where a=123.456;
24
select * from t2 where a=1.5;
25
delete from t2 where a=1.5;
29
--echo $maxrows*3 inserts;
33
eval insert into t2 values ($count);
34
eval insert into t2 values ($count+0.33);
35
eval insert into t2 values ($count+0.75);
39
select count(*) from t2;
42
# Bug 30577: FLOOR() and CEILING() not usable as partition functions
43
# Partition functions are required to return INT_RESULT; FLOOR() and
44
# CEILING() do not, unless they have an INT argument. Disable this
45
# portion of the test until bug 30577 is fixed.
49
eval create table t3 (a float not null, primary key(a)) engine=$engine
50
partition by range (floor(a)) subpartition by key (a) subpartitions 3 (
51
partition pa1 values less than (3),
52
partition pa3 values less than (6),
53
partition pa10 values less than (10)
57
--echo $count*3 inserts;
60
eval insert into t3 values ($count);
61
eval insert into t3 values ($count+0.33);
62
eval insert into t3 values ($count+0.75);
65
select count(*) from t3;
69
eval create table t4 (a float not null, primary key(a)) engine=$engine
70
partition by list (floor(a)) subpartition by key (a) subpartitions 3 (
71
partition pa1 values in (1,2,3),
72
partition pa3 values in (4,5,6),
73
partition pa10 values in (7,8,9,10)
77
--echo $count*3 inserts;
80
eval insert into t4 values ($count);
81
eval insert into t4 values ($count+0.33);
82
eval insert into t4 values ($count+0.75);
85
select count(*) from t4;
89
# Disabled due to Bug 30577