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