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