MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
partition_binary.inc
1 --echo ---- Partitioning and binary data type
2 
3 eval create table t1 (a binary(255) not null, primary key(a)) engine=$engine
4 partition by key (a) (
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);
9 show create table t1;
10 insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64));
11 select hex(a) from t1;
12 select a from t1 where substr(a,1,2)='b\0';
13 update t1 set a='cc' where substr(a,1,2)= 'b\0';
14 select a from t1 where substr(a,1,1)='c';
15 delete from t1 where substr(a,1,2)='cc';
16 select hex(a) from t1;
17 drop table t1;
18 
19 eval create table t2 (a binary(255) not null, primary key(a)) engine=$engine
20 partition by key (a) partitions 27;
21 show create table t2;
22 let $count=26;
23 let $letter=0;
24 --echo $count inserts;
25 #--disable_query_log
26 while ($count)
27 {
28 eval insert into t2 values (repeat(char(ascii('a')+$letter),$count+54));
29 dec $count;
30 inc $letter;
31 }
32 select count(*) from t2;
33 select hex(a) from t2;
34 drop table t2;
35 
36 # mleich: Several partitioning functions are no more allowed.
37 if (0)
38 {
39 eval create table t3 (a binary(255) not null, primary key(a)) engine=$engine
40 partition by range (ascii(a)) subpartition by key (a) subpartitions 4 (
41 partition pa16 values less than (16),
42 partition pa32 values less than (32),
43 partition pa64 values less than (64),
44 partition pa128 values less than (128),
45 partition pa256 values less than (256)
46 );
47 show create table t3;
48 let $count=26;
49 let $letter=0;
50 --echo $count inserts;
51 #--disable_query_log
52 while ($count)
53 {
54 eval insert into t3 values (repeat(char(ascii('a')+$letter),$count+54));
55 dec $count;
56 inc $letter;
57 }
58 select count(*) from t3;
59 select hex(a) from t3;
60 drop table t3;
61 
62 
63 eval create table t4 (a binary(255) not null, primary key(a)) engine=$engine
64 partition by list (ascii(a)) subpartition by key (a) subpartitions 4 (
65 partition pa16 values in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16),
66 partition pa32 values in (17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32),
67 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),
68 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),
69 partition pa256 values in (129,130,131,132,133,134,135,136,137,138,139,140
70 ,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)
71 );
72 show create table t4;
73 let $count=26;
74 let $letter=0;
75 --echo $count inserts;
76 #--disable_query_log
77 while ($count)
78 {
79 eval insert into t4 values (repeat(char(ascii('a')+$letter),$count+54));
80 dec $count;
81 inc $letter;
82 }
83 
84 select count(*) from t4;
85 select hex(a) from t4;
86 drop table t4;
87 }
88 # End of tests with disallowed partitioning functions.