1673 lines
		
	
	
		
			67 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			1673 lines
		
	
	
		
			67 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								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 we will remove the frm file when we detect that 
							 | 
						||
| 
								 | 
							
								# .par file has been deleted.
							 | 
						||
| 
								 | 
							
								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
							 |