drop table if exists t1; # # Bug#57924: crash when creating partitioned table with # multiple columns in the partition key # CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b)) PARTITION BY KEY(a, b, a); ERROR HY000: Field in list of fields for partition function not found in table CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b)) PARTITION BY KEY(A, b); DROP TABLE t1; CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b)) PARTITION BY KEY(a, b, A); ERROR HY000: Field in list of fields for partition function not found in table # # Bug#54483: valgrind errors when making warnings for multiline inserts # into partition # CREATE TABLE t1 (a VARBINARY(10)) PARTITION BY RANGE (DAYOFWEEK(a)) (PARTITION a1 VALUES LESS THAN (60)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a CHAR(10)) PARTITION BY RANGE (DAYOFWEEK(a)) (PARTITION a1 VALUES LESS THAN (60)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY RANGE (DAYOFWEEK(a)) (PARTITION a1 VALUES LESS THAN (60)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIMESTAMP) PARTITION BY RANGE (DAYOFWEEK(a)) (PARTITION a1 VALUES LESS THAN (60)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY RANGE (DAYOFWEEK(a)) (PARTITION a1 VALUES LESS THAN (60)); INSERT INTO t1 VALUES ('test'),('a'),('5'); Warnings: Warning 1265 Data truncated for column 'a' at row 1 Warning 1265 Data truncated for column 'a' at row 2 Warning 1265 Data truncated for column 'a' at row 3 SHOW WARNINGS; Level Code Message Warning 1265 Data truncated for column 'a' at row 1 Warning 1265 Data truncated for column 'a' at row 2 Warning 1265 Data truncated for column 'a' at row 3 DROP TABLE t1; CREATE TABLE t1 (a DATETIME) PARTITION BY RANGE (DAYOFWEEK(a)) (PARTITION a1 VALUES LESS THAN (60)); INSERT INTO t1 VALUES ('test'),('a'),('5'); Warnings: Warning 1264 Out of range value for column 'a' at row 1 Warning 1264 Out of range value for column 'a' at row 2 Warning 1264 Out of range value for column 'a' at row 3 SHOW WARNINGS; Level Code Message Warning 1264 Out of range value for column 'a' at row 1 Warning 1264 Out of range value for column 'a' at row 2 Warning 1264 Out of range value for column 'a' at row 3 DROP TABLE t1; CREATE TABLE t1 (a TIME) PARTITION BY RANGE (DAYOFWEEK(a)) (PARTITION a1 VALUES LESS THAN (60)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed SHOW WARNINGS; Level Code Message Error 1486 Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (TO_DAYS(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (TO_DAYS(a)); DROP TABLE t1; CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (TO_DAYS(a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (TO_DAYS(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (TO_DAYS(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (DAYOFMONTH(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (DAYOFMONTH(a)); DROP TABLE t1; CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (DAYOFMONTH(a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (DAYOFMONTH(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (DAYOFMONTH(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (MONTH(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (MONTH(a)); DROP TABLE t1; CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (MONTH(a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (MONTH(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (MONTH(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (DAYOFYEAR(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (DAYOFYEAR(a)); DROP TABLE t1; CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (DAYOFYEAR(a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (DAYOFYEAR(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (DAYOFYEAR(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (HOUR(a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (HOUR(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (HOUR(a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (HOUR(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (HOUR(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (MINUTE(a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (MINUTE(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (MINUTE(a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (MINUTE(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (MINUTE(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (QUARTER(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (QUARTER(a)); DROP TABLE t1; CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (QUARTER(a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (QUARTER(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (QUARTER(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (SECOND(a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (SECOND(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (SECOND(a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (SECOND(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (SECOND(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (YEARWEEK(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (YEARWEEK(a)); DROP TABLE t1; CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (YEARWEEK(a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (YEARWEEK(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (YEARWEEK(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (WEEKDAY(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (WEEKDAY(a)); DROP TABLE t1; CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (WEEKDAY(a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (WEEKDAY(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (WEEKDAY(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed # TO_SECONDS() is added in 5.5. CREATE TABLE t1 (a TIME) PARTITION BY HASH (TO_SECONDS(a)); ERROR 42000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed near ')' at line 2 CREATE TABLE t1 (a TIME) PARTITION BY HASH (TIME_TO_SEC(a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (TIME_TO_SEC(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (TIME_TO_SEC(a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (TIME_TO_SEC(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (TIME_TO_SEC(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (FROM_DAYS(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (FROM_DAYS(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (FROM_DAYS(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (TO_DAYS(FROM_DAYS(a))); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (FROM_DAYS(a)); ERROR HY000: The PARTITION function returns the wrong type CREATE TABLE t1 (a INT) PARTITION BY HASH (TO_DAYS(FROM_DAYS(a))); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (FROM_DAYS(a)); ERROR HY000: The PARTITION function returns the wrong type CREATE TABLE t1 (a TIME) PARTITION BY HASH (MICROSECOND(a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (MICROSECOND(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (MICROSECOND(a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (MICROSECOND(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (MICROSECOND(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed # Bug#57071 CREATE TABLE t1 (`date` date, `extracted_week` int, `yearweek` int, `week` int, `default_week_format` int) PARTITION BY LIST (EXTRACT(WEEK FROM date) % 3) (PARTITION p0 VALUES IN (0), PARTITION p1 VALUES IN (1), PARTITION p2 VALUES IN (2)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (`date` date, `extracted_week` int, `yearweek` int, `week` int, `default_week_format` int); SET @old_default_week_format := @@default_week_format; SET default_week_format = 0; INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format); SET default_week_format = 1; INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format); SET default_week_format = 2; INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format); SET default_week_format = 3; INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format); SET default_week_format = 4; INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format); SET default_week_format = 5; INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format); SET default_week_format = 6; INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format); SET default_week_format = 7; INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format); SELECT * FROM t1; date extracted_week yearweek week default_week_format 2000-01-01 0 199952 0 0 2000-01-01 0 199952 0 1 2000-01-01 52 199952 52 2 2000-01-01 52 199952 52 3 2000-01-01 0 199952 0 4 2000-01-01 0 199952 0 5 2000-01-01 52 199952 52 6 2000-01-01 52 199952 52 7 SET default_week_format = @old_default_week_format; DROP TABLE t1; CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(YEAR FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(YEAR FROM a)); DROP TABLE t1; CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(YEAR FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(YEAR FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(YEAR FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a)); DROP TABLE t1; CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(QUARTER FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(QUARTER FROM a)); DROP TABLE t1; CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(QUARTER FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(QUARTER FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(QUARTER FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(MONTH FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(MONTH FROM a)); DROP TABLE t1; CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(MONTH FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(MONTH FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(MONTH FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed # EXTRACT(WEEK...) is disallowed, see bug#57071. CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(WEEK FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(WEEK FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(WEEK FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(WEEK FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(WEEK FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(DAY FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(DAY FROM a)); DROP TABLE t1; CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(DAY FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(DAY FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(DAY FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(HOUR FROM a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(HOUR FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(HOUR FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(HOUR FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(HOUR FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(MINUTE FROM a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(MINUTE FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(MINUTE FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(MINUTE FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(MINUTE FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(SECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(SECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(SECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(SECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(SECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(MICROSECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(MICROSECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME, b DATE) PARTITION BY HASH (DATEDIFF(a, b)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATE, b DATETIME) PARTITION BY HASH (DATEDIFF(a, b)); DROP TABLE t1; CREATE TABLE t1 (a DATETIME, b DATE) PARTITION BY HASH (DATEDIFF(a, b)); DROP TABLE t1; CREATE TABLE t1 (a DATE, b VARCHAR(10)) PARTITION BY HASH (DATEDIFF(a, b)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT, b DATETIME) PARTITION BY HASH (DATEDIFF(a, b)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a TIME) PARTITION BY HASH (TIME_TO_SEC(a)); DROP TABLE t1; CREATE TABLE t1 (a DATE) PARTITION BY HASH (TIME_TO_SEC(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (TIME_TO_SEC(a)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (TIME_TO_SEC(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 (a INT) PARTITION BY HASH (TIME_TO_SEC(a)); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed # # Bug#49161: Out of memory; restart server and try again (needed 2 bytes) # CREATE TABLE t1 (a INT) PARTITION BY HASH (a); FLUSH TABLES; CHECK TABLE t1; Table Op Msg_type Msg_text test.t1 check Error Failed to read from the .par file test.t1 check Error Incorrect information in file: './test/t1.frm' test.t1 check error Corrupt SELECT * FROM t1; ERROR HY000: Failed to read from the .par file # Note that it is currently impossible to drop a partitioned table # without the .par file DROP TABLE t1; ERROR 42S02: Unknown table 't1' # # Bug#49477: Assertion `0' failed in ha_partition.cc:5530 # with temporary table and partitions # CREATE TABLE t1 (a INT) PARTITION BY HASH(a); CREATE TEMPORARY TABLE tmp_t1 LIKE t1; ERROR HY000: Cannot create temporary table with partitions DROP TABLE t1; # # Bug#50392: insert_id is not reset for partitioned tables # auto_increment on duplicate entry CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY); SET INSERT_ID= 13; INSERT INTO t1 VALUES (NULL); SET INSERT_ID= 12; INSERT INTO t1 VALUES (NULL), (NULL), (NULL); ERROR 23000: Duplicate entry '13' for key 'PRIMARY' SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`a`) ) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin1 INSERT INTO t1 VALUES (NULL); SELECT * FROM t1; a 12 13 14 DROP TABLE t1; CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY) PARTITION BY KEY(a); SET INSERT_ID= 13; INSERT INTO t1 VALUES (NULL); SET INSERT_ID= 12; INSERT INTO t1 VALUES (NULL), (NULL), (NULL); ERROR 23000: Duplicate entry '13' for key 'PRIMARY' SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`a`) ) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */ INSERT INTO t1 VALUES (NULL); SELECT * FROM t1; a 12 13 14 DROP TABLE t1; CREATE TABLE t1 (a INTEGER NOT NULL, PRIMARY KEY (a)); INSERT INTO t1 VALUES (1),(1); ERROR 23000: Duplicate entry '1' for key 'PRIMARY' DROP TABLE t1; CREATE TABLE t1 (a INTEGER NOT NULL, PRIMARY KEY (a)) PARTITION BY KEY (a) PARTITIONS 2; INSERT INTO t1 VALUES (1),(1); ERROR 23000: Duplicate entry '1' for key 'PRIMARY' DROP TABLE t1; CREATE TABLE t1 (a INT) PARTITION BY HASH (a) ( PARTITION p0 ENGINE=MyISAM, PARTITION p1); ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL CREATE TABLE t1 (a INT) PARTITION BY LIST (a) SUBPARTITION BY HASH (a) ( PARTITION p0 VALUES IN (0) ( SUBPARTITION s0, SUBPARTITION s1 ENGINE=MyISAM, SUBPARTITION s2), PARTITION p1 VALUES IN (1) ( SUBPARTITION s3 ENGINE=MyISAM, SUBPARTITION s4, SUBPARTITION s5 ENGINE=MyISAM)); ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL CREATE TABLE t1 ( a int ) PARTITION BY RANGE (a) ( PARTITION p0 VALUES LESS THAN (1), PARTITION p1 VALU ES LESS THAN (2) ); ERROR HY000: Syntax error: RANGE PARTITIONING requires definition of VALUES LESS THAN for each partition partition by list (a) partitions 3 (partition x1 values in (1,2,9,4) tablespace ts1, partition x2 values in (3, 11, 5, 7) tablespace ts2, partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); ERROR 42000: Partitioning can not be used stand-alone in query near 'partition by list (a) partitions 3 (partition x1 values in (1,2,9,4) tablespace ' at line 1 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (a) partitions 2; ERROR HY000: For LIST partitions each partition must be defined CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (sin(a)) partitions 3 (partition x1 values in (1,2,9,4) tablespace ts1, partition x2 values in (3, 11, 5, 7) tablespace ts2, partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); ERROR HY000: This partition function is not allowed CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by key (a+2) partitions 3 (partition x1 tablespace ts1, partition x2 tablespace ts2, partition x3 tablespace ts3); ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '+2) partitions 3 (partition x1 tablespace ts1, partition x2 tablespace ts2, part' at line 6 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by key (a) partitions 3 (partition tablespace ts1, partition x2 tablespace ts2, partition x3 tablespace ts3); ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ts1, partition x2 tablespace ts2, partition x3 tablespace ts3)' at line 8 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by key (a,d) partitions 3 (partition x1 tablespace ts1, partition x2 tablespace ts2, partition x3 tablespace ts3); ERROR HY000: Field in list of fields for partition function not found in table select load_file('$MYSQLD_DATADIR/test/t1.par'); load_file('$MYSQLD_DATADIR/test/t1.par') NULL CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by hash (a + d) partitions 3 (partition x1 tablespace ts1, partition x2 tablespace ts2, partition x3 tablespace ts3); ERROR 42S22: Unknown column 'd' in 'partition function' CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by hash (sin(a)) partitions 3 (partition x1 tablespace ts1, partition x2 tablespace ts2, partition x3 tablespace ts3); ERROR HY000: This partition function is not allowed CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by key (a) partitions 3 (partition x1, partition x2); ERROR 42000: Wrong number of partitions defined, mismatch with previous setting near ')' at line 8 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by hash (rand(a)) partitions 2 (partition x1, partition x2); ERROR 42000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed near ') partitions 2 (partition x1, partition x2)' at line 6 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by range (rand(a)) partitions 2 (partition x1 values less than (0), partition x2 values less than (2)); ERROR 42000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed near ') partitions 2 (partition x1 values less than (0), partition x2 values less than' at line 6 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (rand(a)) partitions 2 (partition x1 values in (1), partition x2 values in (2)); ERROR 42000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed near ') partitions 2 (partition x1 values in (1), partition x2 values in (2))' at line 6 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by hash (a) partitions 2 (partition x1 values less than (4), partition x2 values less than (5)); ERROR HY000: Only RANGE PARTITIONING can use VALUES LESS THAN in partition definition select load_file('$MYSQLD_DATADIR/test/t1.par'); load_file('$MYSQLD_DATADIR/test/t1.par') NULL CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by hash (a) partitions 2 (partition x1 values in (4), partition x2 values in (5)); ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition select load_file('$MYSQLD_DATADIR/test/t1.par'); load_file('$MYSQLD_DATADIR/test/t1.par') NULL CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by hash (a) partitions 2 (partition x1 values in (4,6), partition x2 values in (5,7)); ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition select load_file('$MYSQLD_DATADIR/test/t1.par'); load_file('$MYSQLD_DATADIR/test/t1.par') NULL CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by key (a) subpartition by key (b); ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning select load_file('$MYSQLD_DATADIR/test/t1.par'); load_file('$MYSQLD_DATADIR/test/t1.par') NULL CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by key (a) subpartition by key (a, b); ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning select load_file('$MYSQLD_DATADIR/test/t1.par'); load_file('$MYSQLD_DATADIR/test/t1.par') NULL CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by key (a) subpartition by hash (a+b); ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning select load_file('$MYSQLD_DATADIR/test/t1.par'); load_file('$MYSQLD_DATADIR/test/t1.par') NULL CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by key (a) subpartition by key (b); ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning select load_file('$MYSQLD_DATADIR/test/t1.par'); load_file('$MYSQLD_DATADIR/test/t1.par') NULL CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by key (a) subpartition by key (a, b); ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning select load_file('$MYSQLD_DATADIR/test/t1.par'); load_file('$MYSQLD_DATADIR/test/t1.par') NULL CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by key (a) subpartition by hash (a+b); ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning select load_file('$MYSQLD_DATADIR/test/t1.par'); load_file('$MYSQLD_DATADIR/test/t1.par') NULL CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by key (a) subpartition by hash (rand(a+b)); ERROR 42000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed near ')' at line 7 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by key (a) subpartition by hash (sin(a+b)) (partition x1 (subpartition x11, subpartition x12), partition x2 (subpartition x21, subpartition x22)); ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning select load_file('$MYSQLD_DATADIR/test/t1.par'); load_file('$MYSQLD_DATADIR/test/t1.par') NULL CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by range (a) subpartition by key (a+b) (partition x1 values less than (1) (subpartition x11, subpartition x12), partition x2 values less than (2) (subpartition x21, subpartition x22)); ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '+b) (partition x1 values less than (1) (subpartition x11, subpartition x12), par' at line 7 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by range (a) subpartition by key (a,d) (partition x1 values less than (1) (subpartition x11, subpartition x12), partition x2 values less than (2) (subpartition x21, subpartition x22)); ERROR HY000: Field in list of fields for partition function not found in table select load_file('$MYSQLD_DATADIR/test/t1.par'); load_file('$MYSQLD_DATADIR/test/t1.par') NULL CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by key (a) subpartition by hash (3+4); ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by range (a) subpartition by hash (a+d) (partition x1 values less than (1) (subpartition x11, subpartition x12), partition x2 values less than (2) (subpartition x21, subpartition x22)); ERROR 42S22: Unknown column 'd' in 'partition function' CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by range (a); ERROR HY000: For RANGE partitions each partition must be defined select load_file('$MYSQLD_DATADIR/test/t1.par'); load_file('$MYSQLD_DATADIR/test/t1.par') NULL CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by range (a+d) partitions 2 (partition x1 values less than (4) tablespace ts1, partition x2 values less than (8) tablespace ts2); ERROR 42S22: Unknown column 'd' in 'partition function' CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by range (a) partitions 2 (partition x1 values less than (4.0) tablespace ts1, partition x2 values less than (8) tablespace ts2); ERROR 42000: VALUES value must be of same type as partition function near ') tablespace ts1, partition x2 values less than (8) tablespace ts2)' at line 8 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by range (3+4) partitions 2 (partition x1 values less than (4) tablespace ts1, partition x2 values less than (8) tablespace ts2); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by range (a) partitions 2 (partition x1 values less than (4), partition x2); ERROR HY000: Syntax error: RANGE PARTITIONING requires definition of VALUES LESS THAN for each partition CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by range (a) partitions 2 (partition x1 values in (4), partition x2); ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by range (a) partitions 2 (partition x1 values in (4), partition x2 values less than (5)); ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (a) partitions 2 (partition x1 values less than 4, partition x2 values less than (5)); ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '4, partition x2 values less than (5))' at line 8 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by range (a) partitions 2 (partition x1 values less than maxvalue, partition x2 values less than (5)); ERROR 42000: MAXVALUE can only be used in last partition definition near '))' at line 9 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by range (a) partitions 2 (partition x1 values less than maxvalue, partition x2 values less than maxvalue); ERROR 42000: MAXVALUE can only be used in last partition definition near 'maxvalue)' at line 9 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by range (a) partitions 2 (partition x1 values less than (4), partition x2 values less than (3)); ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by range (sin(a)) partitions 2 (partition x1 values less than (4), partition x2 values less than (5)); ERROR HY000: This partition function is not allowed CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by list (a) subpartition by hash (a+b) subpartitions 3 ( partition x1 values in (1,2,4) ( subpartition x11 nodegroup 0, subpartition x12 nodegroup 1), partition x2 values in (3,5,6) ( subpartition x21 nodegroup 0, subpartition x22 nodegroup 1) ); ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '), partition x2 values in (3,5,6) ( subpartition x21 nodegroup 0, subpartition x' at line 11 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by list (a) subpartition by hash (a+b) ( partition x1 values in (1) ( subpartition x11 nodegroup 0, subpartition xextra, subpartition x12 nodegroup 1), partition x2 values in (2) ( subpartition x21 nodegroup 0, subpartition x22 nodegroup 1) ); ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ') )' at line 14 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by key (a) subpartition by list (a+b) ( partition x1 ( subpartition x11 engine myisam, subpartition x12 engine myisam), partition x2 ( subpartition x21 engine myisam, subpartition x22 engine myisam) ); ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'list (a+b) ( partition x1 ( subpartition x11 engine myisam, subpartition x12 eng' at line 7 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by key (a) subpartition by list (a+b) ( partition x1 ( subpartition x11 engine myisam values in (0), subpartition x12 engine myisam values in (1)), partition x2 ( subpartition x21 engine myisam values in (0), subpartition x22 engine myisam values in (1)) ); ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'list (a+b) ( partition x1 ( subpartition x11 engine myisam values in (0), subpar' at line 7 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (a); ERROR HY000: For LIST partitions each partition must be defined CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (3+4) partitions 2 (partition x1 values in (4) tablespace ts1, partition x2 values in (8) tablespace ts2); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (a+d) partitions 2 (partition x1 values in (4) tablespace ts1, partition x2 values in (8) tablespace ts2); ERROR 42S22: Unknown column 'd' in 'partition function' CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (a) partitions 2 (partition x1 values in (4), partition x2); ERROR HY000: Syntax error: LIST PARTITIONING requires definition of VALUES IN for each partition CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (a) partitions 2 (partition x1 values in (4), partition x2 values less than (5)); ERROR HY000: Only RANGE PARTITIONING can use VALUES LESS THAN in partition definition CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (a) partitions 2 (partition x1 values in (4,6), partition x2); ERROR HY000: Syntax error: LIST PARTITIONING requires definition of VALUES IN for each partition CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (a) partitions 2 (partition x1 values in (4, 12+9), partition x2 values in (3, 21)); ERROR HY000: Multiple definition of same constant in list partitioning CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (a) partitions 2 (partition x1 values in (4.0, 12+8), partition x2 values in (3, 21)); ERROR 42000: VALUES value must be of same type as partition function near ' 12+8), partition x2 values in (3, 21))' at line 8 CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (a) partitions 2 (partition x1 values in 4, partition x2 values in (5)); ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '4, partition x2 values in (5))' at line 8 CREATE TABLE t1 (a int) PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN (x1)); ERROR 42S22: Unknown column 'x1' in 'partition function' CREATE TABLE t1(a int) PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN(5)); insert into t1 values (10); ERROR HY000: Table has no partition for value 10 drop table t1; create table t1 (a bigint unsigned) partition by range (a) (partition p0 values less than (-1)); ERROR HY000: Partition constant is out of partition function domain create table t1 (v varchar(12)) partition by range (ascii(v)) (partition p0 values less than (10)); ERROR HY000: This partition function is not allowed create table t1 (a int) partition by hash (rand(a)); ERROR 42000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed near ')' at line 2 create table t1 (a int) partition by hash(CURTIME() + a); ERROR 42000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed near ')' at line 2 create table t1 (a int) partition by hash (NOW()+a); ERROR 42000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed near ')' at line 2 create table t1 (a int) partition by hash (extract(hour from convert_tz(a, '+00:00', '+00:00'))); ERROR HY000: This partition function is not allowed create table t1 (a int) partition by range (a + (select count(*) from t1)) (partition p1 values less than (1)); ERROR HY000: This partition function is not allowed create table t1 (a char(10)) partition by hash (extractvalue(a,'a')); ERROR HY000: This partition function is not allowed # # Bug #42849: innodb crash with varying time_zone on partitioned # timestamp primary key # CREATE TABLE old (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (UNIX_TIMESTAMP(a)) ( PARTITION p VALUES LESS THAN (1219089600), PARTITION pmax VALUES LESS THAN MAXVALUE); CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (a) ( PARTITION p VALUES LESS THAN (20080819), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: The PARTITION function returns the wrong type ALTER TABLE old PARTITION BY RANGE (a) ( PARTITION p VALUES LESS THAN (20080819), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: The PARTITION function returns the wrong type CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (a+0) ( PARTITION p VALUES LESS THAN (20080819), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (a+0) ( PARTITION p VALUES LESS THAN (20080819), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (a % 2) ( PARTITION p VALUES LESS THAN (20080819), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (a % 2) ( PARTITION p VALUES LESS THAN (20080819), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (ABS(a)) ( PARTITION p VALUES LESS THAN (20080819), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (ABS(a)) ( PARTITION p VALUES LESS THAN (20080819), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (CEILING(a)) ( PARTITION p VALUES LESS THAN (20080819), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (CEILING(a)) ( PARTITION p VALUES LESS THAN (20080819), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (FLOOR(a)) ( PARTITION p VALUES LESS THAN (20080819), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (FLOOR(a)) ( PARTITION p VALUES LESS THAN (20080819), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (TO_DAYS(a)) ( PARTITION p VALUES LESS THAN (733638), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (TO_DAYS(a)) ( PARTITION p VALUES LESS THAN (733638), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (DAYOFYEAR(a)) ( PARTITION p VALUES LESS THAN (231), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (DAYOFYEAR(a)) ( PARTITION p VALUES LESS THAN (231), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (DAYOFMONTH(a)) ( PARTITION p VALUES LESS THAN (19), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (DAYOFMONTH(a)) ( PARTITION p VALUES LESS THAN (19), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (DAYOFWEEK(a)) ( PARTITION p VALUES LESS THAN (3), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (DAYOFWEEK(a)) ( PARTITION p VALUES LESS THAN (3), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (MONTH(a)) ( PARTITION p VALUES LESS THAN (8), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (MONTH(a)) ( PARTITION p VALUES LESS THAN (8), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (HOUR(a)) ( PARTITION p VALUES LESS THAN (17), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (HOUR(a)) ( PARTITION p VALUES LESS THAN (17), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (MINUTE(a)) ( PARTITION p VALUES LESS THAN (55), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (MINUTE(a)) ( PARTITION p VALUES LESS THAN (55), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (QUARTER(a)) ( PARTITION p VALUES LESS THAN (3), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (QUARTER(a)) ( PARTITION p VALUES LESS THAN (3), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (SECOND(a)) ( PARTITION p VALUES LESS THAN (7), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (SECOND(a)) ( PARTITION p VALUES LESS THAN (7), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (YEARWEEK(a)) ( PARTITION p VALUES LESS THAN (200833), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (YEARWEEK(a)) ( PARTITION p VALUES LESS THAN (200833), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (YEAR(a)) ( PARTITION p VALUES LESS THAN (2008), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (YEAR(a)) ( PARTITION p VALUES LESS THAN (2008), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (WEEKDAY(a)) ( PARTITION p VALUES LESS THAN (3), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (WEEKDAY(a)) ( PARTITION p VALUES LESS THAN (3), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (TIME_TO_SEC(a)) ( PARTITION p VALUES LESS THAN (64507), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (TIME_TO_SEC(a)) ( PARTITION p VALUES LESS THAN (64507), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (EXTRACT(DAY FROM a)) ( PARTITION p VALUES LESS THAN (18), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (EXTRACT(DAY FROM a)) ( PARTITION p VALUES LESS THAN (18), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL, b TIMESTAMP NOT NULL, PRIMARY KEY(a,b)) PARTITION BY RANGE (DATEDIFF(a, a)) ( PARTITION p VALUES LESS THAN (18), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (DATEDIFF(a, a)) ( PARTITION p VALUES LESS THAN (18), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (YEAR(a + 0)) ( PARTITION p VALUES LESS THAN (2008), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (YEAR(a + 0)) ( PARTITION p VALUES LESS THAN (2008), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (TO_DAYS(a + '2008-01-01')) ( PARTITION p VALUES LESS THAN (733638), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (TO_DAYS(a + '2008-01-01')) ( PARTITION p VALUES LESS THAN (733638), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (YEAR(a + '2008-01-01')) ( PARTITION p VALUES LESS THAN (2008), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (YEAR(a + '2008-01-01')) ( PARTITION p VALUES LESS THAN (2008), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old ADD COLUMN b DATE; CREATE TABLE new (a TIMESTAMP, b DATE) PARTITION BY RANGE (YEAR(a + b)) ( PARTITION p VALUES LESS THAN (2008), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (YEAR(a + b)) ( PARTITION p VALUES LESS THAN (2008), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP, b DATE) PARTITION BY RANGE (TO_DAYS(a + b)) ( PARTITION p VALUES LESS THAN (733638), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (TO_DAYS(a + b)) ( PARTITION p VALUES LESS THAN (733638), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP, b date) PARTITION BY RANGE (UNIX_TIMESTAMP(a + b)) ( PARTITION p VALUES LESS THAN (1219089600), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old PARTITION BY RANGE (UNIX_TIMESTAMP(a + b)) ( PARTITION p VALUES LESS THAN (1219089600), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed CREATE TABLE new (a TIMESTAMP, b TIMESTAMP) PARTITION BY RANGE (UNIX_TIMESTAMP(a + b)) ( PARTITION p VALUES LESS THAN (1219089600), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed ALTER TABLE old MODIFY b TIMESTAMP; ALTER TABLE old PARTITION BY RANGE (UNIX_TIMESTAMP(a + b)) ( PARTITION p VALUES LESS THAN (1219089600), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed DROP TABLE old; # # Bug #56709: Memory leaks at running the 5.1 test suite # CREATE TABLE t1 (a TIMESTAMP NOT NULL PRIMARY KEY); ALTER TABLE t1 PARTITION BY RANGE (EXTRACT(DAY FROM a)) ( PARTITION p VALUES LESS THAN (18), PARTITION pmax VALUES LESS THAN MAXVALUE); ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed DROP TABLE t1; End of 5.1 tests