1 --echo ---- Partitioning and
char data
type
3 eval create
table t1 (a
char(255) not null, primary key(a)) engine=$engine
5 partition pa1 max_rows=20 min_rows=2,
6 partition pa2 max_rows=30 min_rows=3,
7 partition pa3 max_rows=30 min_rows=4,
8 partition pa4 max_rows=40 min_rows=2);
10 insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64));
12 select * from t1 where a='b';
13 update t1 set a='bb' where a='b';
14 delete from t1 where a='bb';
18 eval create
table t2 (a
char(255) not null, primary key(a)) engine=$engine
19 partition by key (a) partitions 27;
23 --echo $count inserts;
27 eval insert into t2 values (repeat(
char(ascii(
'a')+$letter),$count+54));
31 select count(*) from t2;
35 # mleich: Several partitioning functions are no more allowed.
38 eval create
table t3 (a
char(255) not null, primary key(a)) engine=$engine
39 partition by range (ascii(a)) subpartition by key (a) subpartitions 4 (
40 partition pa16 values less than (16),
41 partition pa32 values less than (32),
42 partition pa64 values less than (64),
43 partition pa128 values less than (128),
44 partition pa256 values less than (256)
49 --echo $count inserts;
53 eval insert into t3 values (repeat(
char(ascii(
'a')+$letter),$count+54));
57 select count(*) from t3;
61 eval create
table t4 (a
char(255) not null, primary key(a)) engine=$engine
62 partition by list (ascii(a)) subpartition by key (a) subpartitions 4 (
63 partition pa16 values in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16),
64 partition pa32 values in (17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32),
65 partition pa64 values in (33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64),
66 partition pa128 values in (65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128),
67 partition pa256 values in (129,130,131,132,133,134,135,136,137,138,139,140
68 ,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256)
73 --echo $count inserts;
77 eval insert into t4 values (repeat(
char(ascii(
'a')+$letter),$count+54));
81 select count(*) from t4;
85 # End of tests with disallowed partitioning functions.