1drop table if exists t1;
2create table t1 (col1 datetime)
3partition by range(datediff(col1,col1))
4(partition p0 values less than (10), partition p1 values less than (30));
5drop table t1;
6create table t1 (col1 int)
7partition by range(greatest(col1,10))
8(partition p0 values less than (2), partition p1 values less than (6));
9ERROR HY000: This partition function is not allowed
10create table t1 (col1 int)
11partition by range(isnull(col1))
12(partition p0 values less than (2), partition p1 values less than (6));
13ERROR HY000: This partition function is not allowed
14create table t1 (col1 int)
15partition by range(least(col1,12))
16(partition p0 values less than (2), partition p1 values less than (6));
17ERROR HY000: This partition function is not allowed
18create table t1 (col1 int)
19partition by range(case when col1>0 then 10 else 20 end)
20(partition p0 values less than (2), partition p1 values less than (6));
21ERROR HY000: This partition function is not allowed
22create table t1 (col1 int)
23partition by range(ifnull(col1,5))
24(partition p0 values less than (2), partition p1 values less than (6));
25ERROR HY000: This partition function is not allowed
26create table t1 (col1 int)
27partition by range(nullif(col1,5))
28(partition p0 values less than (2), partition p1 values less than (6));
29ERROR HY000: This partition function is not allowed
30create table t1 (col1 int)
31partition by range(bit_length(col1))
32(partition p0 values less than (2), partition p1 values less than (6));
33ERROR HY000: This partition function is not allowed
34create table t1 (col1 char(5))
35partition by range(bit_length(col1))
36(partition p0 values less than (2), partition p1 values less than (6));
37ERROR HY000: This partition function is not allowed
38create table t1 (col1 int)
39partition by range(char_length(col1))
40(partition p0 values less than (2), partition p1 values less than (6));
41ERROR HY000: This partition function is not allowed
42create table t1 (col1 char(5))
43partition by range(char_length(col1))
44(partition p0 values less than (2), partition p1 values less than (6));
45ERROR HY000: This partition function is not allowed
46create table t1 (col1 char(5))
47partition by range(character_length(col1))
48(partition p0 values less than (2), partition p1 values less than (6));
49ERROR HY000: This partition function is not allowed
50create table t1 (col1 int)
51partition by range(find_in_set(col1,1))
52(partition p0 values less than (2), partition p1 values less than (6));
53ERROR HY000: This partition function is not allowed
54create table t1 (col1 char(5))
55partition by range(find_in_set(col1,'1'))
56(partition p0 values less than (2), partition p1 values less than (6));
57ERROR HY000: This partition function is not allowed
58create table t1 (col1 int)
59partition by range(instr(col1,3))
60(partition p0 values less than (2), partition p1 values less than (6));
61ERROR HY000: This partition function is not allowed
62create table t1 (col1 char(5))
63partition by range(instr(col1,'3'))
64(partition p0 values less than (2), partition p1 values less than (6));
65ERROR HY000: This partition function is not allowed
66create table t1 (col1 char(5))
67partition by range(length(col1))
68(partition p0 values less than (2), partition p1 values less than (6));
69ERROR HY000: This partition function is not allowed
70create table t1 (col1 char(5))
71partition by range(locate(1,col1))
72(partition p0 values less than (2), partition p1 values less than (6));
73ERROR HY000: This partition function is not allowed
74create table t1 (col1 int)
75partition by range(locate(1,col1))
76(partition p0 values less than (2), partition p1 values less than (6));
77ERROR HY000: This partition function is not allowed
78create table t1 (col1 char(5))
79partition by range(octet_length(col1))
80(partition p0 values less than (2), partition p1 values less than (6));
81ERROR HY000: This partition function is not allowed
82create table t1 (col1 char(5))
83partition by range(position(1 in col1))
84(partition p0 values less than (2), partition p1 values less than (6));
85ERROR HY000: This partition function is not allowed
86create table t1 (col1 int)
87partition by range(position(1 in col1))
88(partition p0 values less than (2), partition p1 values less than (6));
89ERROR HY000: This partition function is not allowed
90create table t1 (col1 char(5))
91partition by range(strcmp(col1,2))
92(partition p0 values less than (2), partition p1 values less than (6));
93ERROR HY000: This partition function is not allowed
94create table t1 (col1 int)
95partition by range(strcmp(col1,2))
96(partition p0 values less than (2), partition p1 values less than (6));
97ERROR HY000: This partition function is not allowed
98create table t1 (col1 int)
99partition by range(crc32(col1))
100(partition p0 values less than (2), partition p1 values less than (6));
101ERROR HY000: This partition function is not allowed
102create table t1 (col1 int)
103partition by range(round(col1))
104(partition p0 values less than (2), partition p1 values less than (6));
105ERROR HY000: This partition function is not allowed
106create table t1 (col1 int)
107partition by range(sign(col1))
108(partition p0 values less than (2), partition p1 values less than (6));
109ERROR HY000: This partition function is not allowed
110create table t1 (col1 datetime)
111partition by range(period_add(col1,5))
112(partition p0 values less than (10), partition p1 values less than (30));
113ERROR HY000: This partition function is not allowed
114create table t1 (col1 datetime, col2 datetime)
115partition by range(period_diff(col1,col2))
116(partition p0 values less than (10), partition p1 values less than (30));
117ERROR HY000: This partition function is not allowed
118create table t1 (col1 int, col2 int)
119partition by range(period_diff(col1,col2))
120(partition p0 values less than (10), partition p1 values less than (30));
121ERROR HY000: This partition function is not allowed
122create table t1 (col1 datetime)
123partition by range(timestampdiff(day,5,col1))
124(partition p0 values less than (10), partition p1 values less than (30));
125ERROR HY000: This partition function is not allowed
126create table t1 (col1 date)
127partition by range(unix_timestamp(col1))
128(partition p0 values less than (10), partition p1 values less than (30));
129ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
130create table t1 (col1 datetime)
131partition by range(week(col1))
132(partition p0 values less than (10), partition p1 values less than (30));
133ERROR HY000: This partition function is not allowed
134create table t1 (col1 varchar(25))
135partition by range(cast(col1 as signed))
136(partition p0 values less than (10), partition p1 values less than (30));
137ERROR HY000: This partition function is not allowed
138create table t1 (col1 varchar(25))
139partition by range(convert(col1,unsigned))
140(partition p0 values less than (10), partition p1 values less than (30));
141ERROR HY000: This partition function is not allowed
142create table t1 (col1 int)
143partition by range(col1 | 20)
144(partition p0 values less than (10), partition p1 values less than (30));
145ERROR HY000: This partition function is not allowed
146create table t1 (col1 int)
147partition by range(col1 & 20)
148(partition p0 values less than (10), partition p1 values less than (30));
149ERROR HY000: This partition function is not allowed
150create table t1 (col1 int)
151partition by range(col1 ^ 20)
152(partition p0 values less than (10), partition p1 values less than (30));
153ERROR HY000: This partition function is not allowed
154create table t1 (col1 int)
155partition by range(col1 << 20)
156(partition p0 values less than (10), partition p1 values less than (30));
157ERROR HY000: This partition function is not allowed
158create table t1 (col1 int)
159partition by range(col1 >> 20)
160(partition p0 values less than (10), partition p1 values less than (30));
161ERROR HY000: This partition function is not allowed
162create table t1 (col1 int)
163partition by range(~col1)
164(partition p0 values less than (10), partition p1 values less than (30));
165ERROR HY000: This partition function is not allowed
166create table t1 (col1 int)
167partition by range(bit_count(col1))
168(partition p0 values less than (10), partition p1 values less than (30));
169ERROR HY000: This partition function is not allowed
170create table t1 (col1 int)
171partition by range(inet_aton(col1))
172(partition p0 values less than (10), partition p1 values less than (30));
173ERROR HY000: This partition function is not allowed
174