MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:hhunger Date:August 23 2007 2:18pm
Subject:bk commit into 5.1 tree (hhunger:1.2567) BUG#30316
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of hhunger. When hhunger does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-08-23 16:18:16+02:00, hhunger@stripped +9 -0
  Changes due to bug#30316 and the changed lists of supported and 
  not permitted SQL functions in partitioning.

  BitKeeper/etc/ignore@stripped, 2007-08-23 16:18:11+02:00, hhunger@stripped +2 -0
    Added mysql-test/t/ceil.test mysql-test/suite/parts/inc/diff to the ignore list

  mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc@stripped, 2007-08-23 16:18:10+02:00, hhunger@stripped +28 -4
    List of not permitted SQL function changed.

  mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc@stripped, 2007-08-23 16:18:10+02:00, hhunger@stripped +26 -59
    The list of supported SQl functions changed.

  mysql-test/suite/parts/inc/partition_blocked_sql_funcs.inc@stripped, 2007-08-23 16:18:10+02:00, hhunger@stripped +9 -15
    Inserted error messages.

  mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc@stripped, 2007-08-23 16:18:10+02:00, hhunger@stripped +13 -10
    Inserted copy/remove_file and changed the path for the load data files
     due to bug#30316

  mysql-test/suite/parts/r/part_blocked_sql_func_innodb.result@stripped, 2007-08-23 16:18:11+02:00, hhunger@stripped +528 -114
    Due to the changed list of not permitted SQL functions this is new.

  mysql-test/suite/parts/r/part_blocked_sql_func_myisam.result@stripped, 2007-08-23 16:18:11+02:00, hhunger@stripped +528 -114
    Due to the changed list of not permitted SQL functions this is new.

  mysql-test/suite/parts/r/part_supported_sql_func_innodb.result@stripped, 2007-08-23 16:18:11+02:00, hhunger@stripped +4320 -2282
    Due to the changed list of not permitted SQL functions this is new.

  mysql-test/suite/parts/r/part_supported_sql_func_myisam.result@stripped, 2007-08-23 16:18:11+02:00, hhunger@stripped +4320 -2282
    Due to the changed list of not permitted SQL functions this is new.

diff -Nrup a/BitKeeper/etc/ignore b/BitKeeper/etc/ignore
--- a/BitKeeper/etc/ignore	2007-08-04 03:44:42 +02:00
+++ b/BitKeeper/etc/ignore	2007-08-23 16:18:11 +02:00
@@ -3001,3 +3001,5 @@ win/vs71cache.txt
 win/vs8cache.txt
 zlib/*.ds?
 zlib/*.vcproj
+mysql-test/t/ceil.test
+mysql-test/suite/parts/inc/diff
diff -Nrup a/mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc b/mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc
--- a/mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc	2007-04-30 16:24:06 +02:00
+++ b/mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc	2007-08-23 16:18:10 +02:00
@@ -8,15 +8,33 @@
 #------------------------------------------------------------------------------#
 # Original Author: HH                                                          #
 # Original Date: 2006-11-22                                                    #
-# Change Author:                                                               #
-# Change Date:                                                                 #
-# Change:                                                                      #
+# Change Author: Horst Hunger                                                  #
+# Change Date:   2007-08-23                                                    #
+# Change:        Updated the not permitted SQL functions.                      #
 ################################################################################
 
 --echo -------------------------------------------------------------------------
 --echo ---   All SQL functions should be rejected, otherwise BUG (see 18198)
 --echo -------------------------------------------------------------------------
 
+let $sqlfunc = abs(col1);
+let $valsqlfunc = abs(15);
+let $coltype = int;
+#--source suite/parts/inc/partition_blocked_sql_funcs.inc
+# --source include/partition_blocked_sql_funcs.inc
+
+let $sqlfunc = ascii(col1);
+let $valsqlfunc = ascii('5');
+let $coltype = char(1);
+--source suite/parts/inc/partition_blocked_sql_funcs.inc
+# --source include/partition_blocked_sql_funcs.inc
+
+let $sqlfunc = ord(col1);
+let $valsqlfunc = ord('a');
+let $coltype = char(3);
+--source suite/parts/inc/partition_blocked_sql_funcs.inc
+# --source include/partition_blocked_sql_funcs.inc
+
 let $sqlfunc = greatest(col1,15);
 let $valsqlfunc = greatest(1,15);
 let $coltype = int;
@@ -154,7 +172,7 @@ let $coltype = int;
 let $sqlfunc = datediff(col1,col1);
 let $valsqlfunc = datediff('1997-11-30 23:59:59','1997-12-31');
 let $coltype = datetime;
---source suite/parts/inc/partition_blocked_sql_funcs.inc
+#--source suite/parts/inc/partition_blocked_sql_funcs.inc
 # --source include/partition_blocked_sql_funcs.inc
 
 let $sqlfunc = period_add(col1,5);
@@ -187,6 +205,12 @@ let $coltype = date;
 let $sqlfunc = week(col1);
 let $valsqlfunc = week('2002-05-01');
 let $coltype = datetime;
+--source suite/parts/inc/partition_blocked_sql_funcs.inc
+# --source include/partition_blocked_sql_funcs.inc
+
+let $sqlfunc = weekofyear(col1);
+let $valsqlfunc = weekofyear('2006-02-14');
+let $coltype = date;
 --source suite/parts/inc/partition_blocked_sql_funcs.inc
 # --source include/partition_blocked_sql_funcs.inc
 
diff -Nrup a/mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc b/mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc
--- a/mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc	2007-04-30 16:24:06 +02:00
+++ b/mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc	2007-08-23 16:18:10 +02:00
@@ -8,9 +8,9 @@
 #------------------------------------------------------------------------------#
 # Original Author: HH                                                          #
 # Original Date: 2006-11-22                                                    #
-# Change Author:                                                               #
-# Change Date:                                                                 #
-# Change:                                                                      #
+# Change Author: Horst Hunger                                                  #
+# Change Date:   2007-08-23                                                    #
+# Change:        Updated the supported SQL functions.                          #
 #                                                                              #
 # This test uses a test frame (partition_supported_sql_funcs.inc) for every    #
 # SQL function allowed in the partitioning parts of CREATE and ALTE TABLE.     #
@@ -40,58 +40,36 @@ let $val4 = 15 ;
 --source suite/parts/inc/partition_supported_sql_funcs.inc
 # --source include/partition_supported_sql_funcs.inc
 
-let $sqlfunc = ascii(col1);
-let $valsqlfunc = ascii('5');
-let $coltype = char(1);
-let $infile = part_supported_sql_funcs_int_ch1.inc;
-let $val1 =  '1';
-let $val2 =  '9';
-let $val3 =  '3';
-let $val4 =  '8';
---source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
-
-let $sqlfunc = cast(ceiling(col1) as signed integer);
-let $valsqlfunc = cast(ceiling(15) as signed integer);
-let $coltype = float(7,4);
-let $infile = part_supported_sql_funcs_int_float.inc;
-let $val1 =  5.1230;
-let $val2 = 13.345;
-let $val3 = 17.987;
-let $val4 = 15.654 ;
---source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
-
-let $sqlfunc = cast(floor(col1) as signed);
-let $valsqlfunc = cast(floor(15.123) as signed);
-let $coltype = float(7,4);
-let $infile = part_supported_sql_funcs_int_float.inc;
-let $val1 =  5.1230;
-let $val2 = 13.345;
-let $val3 = 17.987;
-let $val4 = 15.654 ;
+let $sqlfunc = ceiling(col1);
+let $valsqlfunc = ceiling(15);
+let $coltype = int;
+let $infile = part_supported_sql_funcs_int_int.inc;
+let $val1 =  5 ;
+let $val2 = 13 ;
+let $val3 = 17 ;
+let $val4 = 15 ;
 --source suite/parts/inc/partition_supported_sql_funcs.inc
 # --source include/partition_supported_sql_funcs.inc
 
-let $sqlfunc = cast(mod(col1,10) as signed);
-let $valsqlfunc = cast(mod(15,10) as signed);
-let $coltype = float(7,4);
-let $infile = part_supported_sql_funcs_int_float.inc;
-let $val1 =  5.0000;
-let $val2 = 19;
-let $val3 = 17;
+let $sqlfunc = floor(col1);
+let $valsqlfunc = floor(15);
+let $coltype = int;
+let $infile = part_supported_sql_funcs_int_int.inc;
+let $val1 =  5 ;
+let $val2 = 13 ;
+let $val3 = 17 ;
 let $val4 = 15 ;
 --source suite/parts/inc/partition_supported_sql_funcs.inc
 # --source include/partition_supported_sql_funcs.inc
 
-let $sqlfunc = ord(col1);
-let $valsqlfunc = ord('a');
-let $coltype = char(3);
-let $infile = part_supported_sql_funcs_int_ch1.inc;
-let $val1 =  '1';
-let $val2 =  '9';
-let $val3 =  '3';
-let $val4 =  '8';
+let $sqlfunc = mod(col1,10);
+let $valsqlfunc = mod(15,10);
+let $coltype = int;
+let $infile = part_supported_sql_funcs_int_int.inc;
+let $val1 =  5 ;
+let $val2 = 13 ;
+let $val3 = 17 ;
+let $val4 = 15 ;
 --source suite/parts/inc/partition_supported_sql_funcs.inc
 # --source include/partition_supported_sql_funcs.inc
 
@@ -251,17 +229,6 @@ let $val1 =  '2006-12-03';
 let $val2 =  '2006-11-17';
 let $val3 =  '2006-05-25';
 let $val4 =  '2006-02-06';
---source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
-
-let $sqlfunc = weekofyear(col1);
-let $valsqlfunc = weekofyear('2006-02-14');
-let $coltype = date;
-let $infile = part_supported_sql_funcs_int_date.inc;
-let $val1 =  '2006-01-03';
-let $val2 =  '2006-03-17';
-let $val3 =  '2006-05-25';
-let $val4 =  '2006-09-06';
 --source suite/parts/inc/partition_supported_sql_funcs.inc
 # --source include/partition_supported_sql_funcs.inc
 
diff -Nrup a/mysql-test/suite/parts/inc/partition_blocked_sql_funcs.inc b/mysql-test/suite/parts/inc/partition_blocked_sql_funcs.inc
--- a/mysql-test/suite/parts/inc/partition_blocked_sql_funcs.inc	2007-04-30 15:12:31 +02:00
+++ b/mysql-test/suite/parts/inc/partition_blocked_sql_funcs.inc	2007-08-23 16:18:10 +02:00
@@ -8,9 +8,9 @@
 #------------------------------------------------------------------------------#
 # Original Author: HH                                                          #
 # Original Date: 2006-11-22                                                    #
-# Change Author:                                                               #
-# Change Date:                                                                 #
-# Change:                                                                      #
+# Change Author: Horst Hunger                                                  #
+# Change Date:   2007-08-23                                                    #
+# Change:        Inserted errors to some SQL statements.                       #
 ################################################################################
 --echo -------------------------------------------------------------------------
 --echo ---  $sqlfunc  in partition with coltype  $coltype
@@ -26,20 +26,20 @@ drop table if exists t5 ;
 drop table if exists t6 ;
 --enable_warnings
 
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
 eval create table t1 (col1 $coltype) engine=$engine 
 partition by range($sqlfunc) 
 (partition p0 values less than (15),
  partition p1 values less than (31));
 
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
 eval create table t2 (col1 $coltype) engine=$engine 
 partition by list($sqlfunc) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
  partition p1 values in (11,12,13,14,15,16,17,18,19,20),
  partition p2 values in (21,22,23,24,25,26,27,28,29,30));
 
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
 eval create table t3 (col1 $coltype) engine=$engine 
 partition by hash($sqlfunc);
 --enable_abort_on_error
@@ -75,38 +75,32 @@ drop table if exists t55 ;
 drop table if exists t66 ;
 --enable_warnings
 
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
 eval create table t11 (col1 $coltype) engine=$engine ;
 
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
 eval create table t22 (col1 $coltype) engine=$engine ;
 
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
 eval create table t33 (col1 $coltype) engine=$engine ;
 
---error 0,ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
 eval create table t44 (colint int, col1 $coltype) engine=$engine ;
 
---error 0,ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
 eval create table t55 (colint int, col1 $coltype) engine=$engine ;
 
---error 0,ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
 eval create table t66 (colint int, col1 $coltype) engine=$engine ;
 
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
 eval alter table t11  
 partition by range($sqlfunc) 
 (partition p0 values less than (15),
  partition p1 values less than (31));
 
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
 eval alter table t22 
 partition by list($sqlfunc) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
  partition p1 values in (11,12,13,14,15,16,17,18,19,20),
  partition p2 values in (21,22,23,24,25,26,27,28,29,30));
 
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
 eval alter table t33 
 partition by hash($sqlfunc);
 --enable_abort_on_error
diff -Nrup a/mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc b/mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc
--- a/mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc	2007-04-30 16:24:07 +02:00
+++ b/mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc	2007-08-23 16:18:10 +02:00
@@ -1,5 +1,5 @@
 ################################################################################
-# t/partition_supported_sql_funcs.inc                                          #           #                                                                              #
+# t/partition_supported_sql_funcs.inc                                          #         #                                                                              #
 # Purpose:                                                                     #
 #  Tests frame for allowed sql functions                                       #
 #                                                                              #
@@ -7,9 +7,9 @@
 #------------------------------------------------------------------------------#
 # Original Author: HH                                                          #
 # Original Date: 2006-11-22                                                    #
-# Change Author:                                                               #
-# Change Date:                                                                 #
-# Change:                                                                      #
+# Change Author: Horst Hunger                                                  #
+# Change Date:   2007-08-23                                                    #
+# Change:        Inserted copy/remove_file, changed the path due to bug#30316. #
 ################################################################################
 --echo -------------------------------------------------------------------------
 --echo ---  $sqlfunc  in partition with coltype  $coltype
@@ -83,14 +83,17 @@ eval insert into t3 values ($val1);
 eval insert into t3 values ($val2);
 eval insert into t3 values ($val3);
 
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/parts/inc/$infile' into table t4;
+--copy_file $MYSQL_TEST_DIR/suite/parts/inc/$infile $MYSQLTEST_VARDIR/tmp/$infile 
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval load data infile '$MYSQLTEST_VARDIR/tmp/$infile' into table t4;
 
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/parts/inc/$infile' into table t5;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval load data infile '$MYSQLTEST_VARDIR/tmp/$infile' into table t5;
 
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/parts/inc/$infile' into table t6;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval load data infile '$MYSQLTEST_VARDIR/tmp/$infile' into table t6;
+
+--remove_file $MYSQLTEST_VARDIR/tmp/$infile
 
 eval select $sqlfunc from t1 order by col1;
 
diff -Nrup a/mysql-test/suite/parts/r/part_blocked_sql_func_innodb.result b/mysql-test/suite/parts/r/part_blocked_sql_func_innodb.result
--- a/mysql-test/suite/parts/r/part_blocked_sql_func_innodb.result	2007-04-30 15:18:41 +02:00
+++ b/mysql-test/suite/parts/r/part_blocked_sql_func_innodb.result	2007-08-23 16:18:11 +02:00
@@ -2,6 +2,190 @@
 ---   All SQL functions should be rejected, otherwise BUG (see 18198)
 -------------------------------------------------------------------------
 -------------------------------------------------------------------------
+---  ascii(col1)  in partition with coltype  char(1)
+-------------------------------------------------------------------------
+must all fail! (delete 0 and comment char, if bug fixed)
+drop table if exists t1 ;
+drop table if exists t2 ;
+drop table if exists t3 ;
+drop table if exists t4 ;
+drop table if exists t5 ;
+drop table if exists t6 ;
+create table t1 (col1 char(1)) engine='INNODB' 
+partition by range(ascii(col1)) 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t2 (col1 char(1)) engine='INNODB' 
+partition by list(ascii(col1)) 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
+create table t3 (col1 char(1)) engine='INNODB' 
+partition by hash(ascii(col1));
+Got one of the listed errors
+create table t4 (colint int, col1 char(1)) engine='INNODB' 
+partition by range(colint) 
+subpartition by hash(ascii(col1)) subpartitions 2 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+create table t5 (colint int, col1 char(1)) engine='INNODB' 
+partition by list(colint)
+subpartition by hash(ascii(col1)) subpartitions 2 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+create table t6 (colint int, col1 char(1)) engine='INNODB' 
+partition by range(colint) 
+(partition p0 values less than (ascii('5')),
+partition p1 values less than maxvalue);
+drop table if exists t11 ;
+drop table if exists t22 ;
+drop table if exists t33 ;
+drop table if exists t44 ;
+drop table if exists t55 ;
+drop table if exists t66 ;
+create table t11 (col1 char(1)) engine='INNODB' ;
+create table t22 (col1 char(1)) engine='INNODB' ;
+create table t33 (col1 char(1)) engine='INNODB' ;
+create table t44 (colint int, col1 char(1)) engine='INNODB' ;
+create table t55 (colint int, col1 char(1)) engine='INNODB' ;
+create table t66 (colint int, col1 char(1)) engine='INNODB' ;
+alter table t11  
+partition by range(ascii(col1)) 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t22 
+partition by list(ascii(col1)) 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
+alter table t33 
+partition by hash(ascii(col1));
+Got one of the listed errors
+alter table t44 
+partition by range(colint) 
+subpartition by hash(ascii(col1)) subpartitions 2 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+alter table t55 
+partition by list(colint)
+subpartition by hash(ascii(col1)) subpartitions 2 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+alter table t66  
+partition by range(colint) 
+(partition p0 values less than (ascii('5')),
+partition p1 values less than maxvalue);
+drop table if exists t1 ;
+drop table if exists t2 ;
+drop table if exists t3 ;
+drop table if exists t4 ;
+drop table if exists t5 ;
+drop table if exists t6 ;
+drop table if exists t11 ;
+drop table if exists t22 ;
+drop table if exists t33 ;
+drop table if exists t44 ;
+drop table if exists t55 ;
+drop table if exists t66 ;
+-------------------------------------------------------------------------
+---  ord(col1)  in partition with coltype  char(3)
+-------------------------------------------------------------------------
+must all fail! (delete 0 and comment char, if bug fixed)
+drop table if exists t1 ;
+drop table if exists t2 ;
+drop table if exists t3 ;
+drop table if exists t4 ;
+drop table if exists t5 ;
+drop table if exists t6 ;
+create table t1 (col1 char(3)) engine='INNODB' 
+partition by range(ord(col1)) 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t2 (col1 char(3)) engine='INNODB' 
+partition by list(ord(col1)) 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
+create table t3 (col1 char(3)) engine='INNODB' 
+partition by hash(ord(col1));
+Got one of the listed errors
+create table t4 (colint int, col1 char(3)) engine='INNODB' 
+partition by range(colint) 
+subpartition by hash(ord(col1)) subpartitions 2 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+create table t5 (colint int, col1 char(3)) engine='INNODB' 
+partition by list(colint)
+subpartition by hash(ord(col1)) subpartitions 2 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+create table t6 (colint int, col1 char(3)) engine='INNODB' 
+partition by range(colint) 
+(partition p0 values less than (ord('a')),
+partition p1 values less than maxvalue);
+drop table if exists t11 ;
+drop table if exists t22 ;
+drop table if exists t33 ;
+drop table if exists t44 ;
+drop table if exists t55 ;
+drop table if exists t66 ;
+create table t11 (col1 char(3)) engine='INNODB' ;
+create table t22 (col1 char(3)) engine='INNODB' ;
+create table t33 (col1 char(3)) engine='INNODB' ;
+create table t44 (colint int, col1 char(3)) engine='INNODB' ;
+create table t55 (colint int, col1 char(3)) engine='INNODB' ;
+create table t66 (colint int, col1 char(3)) engine='INNODB' ;
+alter table t11  
+partition by range(ord(col1)) 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t22 
+partition by list(ord(col1)) 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
+alter table t33 
+partition by hash(ord(col1));
+Got one of the listed errors
+alter table t44 
+partition by range(colint) 
+subpartition by hash(ord(col1)) subpartitions 2 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+alter table t55 
+partition by list(colint)
+subpartition by hash(ord(col1)) subpartitions 2 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+alter table t66  
+partition by range(colint) 
+(partition p0 values less than (ord('a')),
+partition p1 values less than maxvalue);
+drop table if exists t1 ;
+drop table if exists t2 ;
+drop table if exists t3 ;
+drop table if exists t4 ;
+drop table if exists t5 ;
+drop table if exists t6 ;
+drop table if exists t11 ;
+drop table if exists t22 ;
+drop table if exists t33 ;
+drop table if exists t44 ;
+drop table if exists t55 ;
+drop table if exists t66 ;
+-------------------------------------------------------------------------
 ---  greatest(col1,15)  in partition with coltype  int
 -------------------------------------------------------------------------
 must all fail! (delete 0 and comment char, if bug fixed)
@@ -15,13 +199,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(greatest(col1,15)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(greatest(col1,15)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(greatest(col1,15));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(greatest(col1,15)) subpartitions 2 
@@ -53,13 +240,16 @@ alter table t11  
 partition by range(greatest(col1,15)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(greatest(col1,15)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(greatest(col1,15));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(greatest(col1,15)) subpartitions 2 
@@ -101,13 +291,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(isnull(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(isnull(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(isnull(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(isnull(col1)) subpartitions 2 
@@ -139,13 +332,16 @@ alter table t11  
 partition by range(isnull(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(isnull(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(isnull(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(isnull(col1)) subpartitions 2 
@@ -187,13 +383,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(least(col1,15)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(least(col1,15)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(least(col1,15));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(least(col1,15)) subpartitions 2 
@@ -225,13 +424,16 @@ alter table t11  
 partition by range(least(col1,15)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(least(col1,15)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(least(col1,15));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(least(col1,15)) subpartitions 2 
@@ -273,13 +475,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(case when col1>15 then 20 else 10 end) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(case when col1>15 then 20 else 10 end) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(case when col1>15 then 20 else 10 end);
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(case when col1>15 then 20 else 10 end) subpartitions 2 
@@ -311,13 +516,16 @@ alter table t11  
 partition by range(case when col1>15 then 20 else 10 end) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(case when col1>15 then 20 else 10 end) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(case when col1>15 then 20 else 10 end);
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(case when col1>15 then 20 else 10 end) subpartitions 2 
@@ -359,13 +567,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(ifnull(col1,30)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(ifnull(col1,30)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(ifnull(col1,30));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(ifnull(col1,30)) subpartitions 2 
@@ -397,13 +608,16 @@ alter table t11  
 partition by range(ifnull(col1,30)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(ifnull(col1,30)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(ifnull(col1,30));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(ifnull(col1,30)) subpartitions 2 
@@ -445,13 +659,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(nullif(col1,30)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(nullif(col1,30)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(nullif(col1,30));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(nullif(col1,30)) subpartitions 2 
@@ -483,13 +700,16 @@ alter table t11  
 partition by range(nullif(col1,30)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(nullif(col1,30)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(nullif(col1,30));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(nullif(col1,30)) subpartitions 2 
@@ -531,13 +751,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(bit_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(bit_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(bit_length(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(bit_length(col1)) subpartitions 2 
@@ -569,13 +792,16 @@ alter table t11  
 partition by range(bit_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(bit_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(bit_length(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(bit_length(col1)) subpartitions 2 
@@ -617,13 +843,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(bit_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='INNODB' 
 partition by list(bit_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='INNODB' 
 partition by hash(bit_length(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(bit_length(col1)) subpartitions 2 
@@ -655,13 +884,16 @@ alter table t11  
 partition by range(bit_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(bit_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(bit_length(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(bit_length(col1)) subpartitions 2 
@@ -703,13 +935,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(char_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='INNODB' 
 partition by list(char_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='INNODB' 
 partition by hash(char_length(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(char_length(col1)) subpartitions 2 
@@ -741,13 +976,16 @@ alter table t11  
 partition by range(char_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(char_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(char_length(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(char_length(col1)) subpartitions 2 
@@ -789,13 +1027,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(character_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(character_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(character_length(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(character_length(col1)) subpartitions 2 
@@ -827,13 +1068,16 @@ alter table t11  
 partition by range(character_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(character_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(character_length(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(character_length(col1)) subpartitions 2 
@@ -875,13 +1119,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(character_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='INNODB' 
 partition by list(character_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='INNODB' 
 partition by hash(character_length(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(character_length(col1)) subpartitions 2 
@@ -913,13 +1160,16 @@ alter table t11  
 partition by range(character_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(character_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(character_length(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(character_length(col1)) subpartitions 2 
@@ -961,13 +1211,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(instr(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(instr(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(instr(col1,'acb'));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(instr(col1,'acb')) subpartitions 2 
@@ -999,13 +1252,16 @@ alter table t11  
 partition by range(instr(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(instr(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(instr(col1,'acb'));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(instr(col1,'acb')) subpartitions 2 
@@ -1047,13 +1303,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(instr(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='INNODB' 
 partition by list(instr(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='INNODB' 
 partition by hash(instr(col1,'acb'));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(instr(col1,'acb')) subpartitions 2 
@@ -1085,13 +1344,16 @@ alter table t11  
 partition by range(instr(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(instr(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(instr(col1,'acb'));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(instr(col1,'acb')) subpartitions 2 
@@ -1133,13 +1395,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(length(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(length(col1)) subpartitions 2 
@@ -1171,13 +1436,16 @@ alter table t11  
 partition by range(length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(length(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(length(col1)) subpartitions 2 
@@ -1219,13 +1487,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(locate('a',col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(locate('a',col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(locate('a',col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(locate('a',col1)) subpartitions 2 
@@ -1257,13 +1528,16 @@ alter table t11  
 partition by range(locate('a',col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(locate('a',col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(locate('a',col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(locate('a',col1)) subpartitions 2 
@@ -1305,13 +1579,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(locate('a',col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='INNODB' 
 partition by list(locate('a',col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='INNODB' 
 partition by hash(locate('a',col1));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(locate('a',col1)) subpartitions 2 
@@ -1343,13 +1620,16 @@ alter table t11  
 partition by range(locate('a',col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(locate('a',col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(locate('a',col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(locate('a',col1)) subpartitions 2 
@@ -1391,13 +1671,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(octet_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='INNODB' 
 partition by list(octet_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='INNODB' 
 partition by hash(octet_length(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(octet_length(col1)) subpartitions 2 
@@ -1429,13 +1712,16 @@ alter table t11  
 partition by range(octet_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(octet_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(octet_length(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(octet_length(col1)) subpartitions 2 
@@ -1477,13 +1763,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(position('a' in col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(position('a' in col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(position('a' in col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(position('a' in col1)) subpartitions 2 
@@ -1515,13 +1804,16 @@ alter table t11  
 partition by range(position('a' in col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(position('a' in col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(position('a' in col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(position('a' in col1)) subpartitions 2 
@@ -1563,13 +1855,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(position('a' in col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='INNODB' 
 partition by list(position('a' in col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='INNODB' 
 partition by hash(position('a' in col1));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(position('a' in col1)) subpartitions 2 
@@ -1601,13 +1896,16 @@ alter table t11  
 partition by range(position('a' in col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(position('a' in col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(position('a' in col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(position('a' in col1)) subpartitions 2 
@@ -1649,13 +1947,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(strcmp(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(strcmp(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(strcmp(col1,'acb')) subpartitions 2 
@@ -1687,13 +1988,16 @@ alter table t11  
 partition by range(strcmp(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(strcmp(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(strcmp(col1,'acb')) subpartitions 2 
@@ -1735,13 +2039,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(strcmp(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='INNODB' 
 partition by list(strcmp(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='INNODB' 
 partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(strcmp(col1,'acb')) subpartitions 2 
@@ -1773,13 +2080,16 @@ alter table t11  
 partition by range(strcmp(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(strcmp(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(strcmp(col1,'acb')) subpartitions 2 
@@ -1821,13 +2131,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(crc32(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='INNODB' 
 partition by list(crc32(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='INNODB' 
 partition by hash(crc32(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(crc32(col1)) subpartitions 2 
@@ -1859,13 +2172,16 @@ alter table t11  
 partition by range(crc32(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(crc32(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(crc32(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(crc32(col1)) subpartitions 2 
@@ -1907,13 +2223,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(round(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(round(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(round(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(round(col1)) subpartitions 2 
@@ -1945,13 +2264,16 @@ alter table t11  
 partition by range(round(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(round(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(round(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(round(col1)) subpartitions 2 
@@ -1993,13 +2315,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(sign(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(sign(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(sign(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(sign(col1)) subpartitions 2 
@@ -2031,13 +2356,16 @@ alter table t11  
 partition by range(sign(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(sign(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(sign(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(sign(col1)) subpartitions 2 
@@ -2066,92 +2394,6 @@ drop table if exists t44 ;
 drop table if exists t55 ;
 drop table if exists t66 ;
 -------------------------------------------------------------------------
----  datediff(col1,col1)  in partition with coltype  datetime
--------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-create table t1 (col1 datetime) engine='INNODB' 
-partition by range(datediff(col1,col1)) 
-(partition p0 values less than (15),
-partition p1 values less than (31));
-create table t2 (col1 datetime) engine='INNODB' 
-partition by list(datediff(col1,col1)) 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-create table t3 (col1 datetime) engine='INNODB' 
-partition by hash(datediff(col1,col1));
-create table t4 (colint int, col1 datetime) engine='INNODB' 
-partition by range(colint) 
-subpartition by hash(datediff(col1,col1)) subpartitions 2 
-(partition p0 values less than (15),
-partition p1 values less than (31));
-create table t5 (colint int, col1 datetime) engine='INNODB' 
-partition by list(colint)
-subpartition by hash(datediff(col1,col1)) subpartitions 2 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-create table t6 (colint int, col1 datetime) engine='INNODB' 
-partition by range(colint) 
-(partition p0 values less than (datediff('1997-11-30 23:59:59','1997-12-31')),
-partition p1 values less than maxvalue);
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 (col1 datetime) engine='INNODB' ;
-create table t22 (col1 datetime) engine='INNODB' ;
-create table t33 (col1 datetime) engine='INNODB' ;
-create table t44 (colint int, col1 datetime) engine='INNODB' ;
-create table t55 (colint int, col1 datetime) engine='INNODB' ;
-create table t66 (colint int, col1 datetime) engine='INNODB' ;
-alter table t11  
-partition by range(datediff(col1,col1)) 
-(partition p0 values less than (15),
-partition p1 values less than (31));
-alter table t22 
-partition by list(datediff(col1,col1)) 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-alter table t33 
-partition by hash(datediff(col1,col1));
-alter table t44 
-partition by range(colint) 
-subpartition by hash(datediff(col1,col1)) subpartitions 2 
-(partition p0 values less than (15),
-partition p1 values less than (31));
-alter table t55 
-partition by list(colint)
-subpartition by hash(datediff(col1,col1)) subpartitions 2 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-alter table t66  
-partition by range(colint) 
-(partition p0 values less than (datediff('1997-11-30 23:59:59','1997-12-31')),
-partition p1 values less than maxvalue);
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
 ---  period_add(col1,5)  in partition with coltype  datetime
 -------------------------------------------------------------------------
 must all fail! (delete 0 and comment char, if bug fixed)
@@ -2165,13 +2407,16 @@ create table t1 (col1 datetime) engine='
 partition by range(period_add(col1,5)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 datetime) engine='INNODB' 
 partition by list(period_add(col1,5)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 datetime) engine='INNODB' 
 partition by hash(period_add(col1,5));
+Got one of the listed errors
 create table t4 (colint int, col1 datetime) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(period_add(col1,5)) subpartitions 2 
@@ -2203,13 +2448,16 @@ alter table t11  
 partition by range(period_add(col1,5)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(period_add(col1,5)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(period_add(col1,5));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(period_add(col1,5)) subpartitions 2 
@@ -2251,13 +2499,16 @@ create table t1 (col1 datetime,col2 date
 partition by range(period_diff(col1,col2)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 datetime,col2 datetime) engine='INNODB' 
 partition by list(period_diff(col1,col2)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 datetime,col2 datetime) engine='INNODB' 
 partition by hash(period_diff(col1,col2));
+Got one of the listed errors
 create table t4 (colint int, col1 datetime,col2 datetime) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(period_diff(col1,col2)) subpartitions 2 
@@ -2289,13 +2540,16 @@ alter table t11  
 partition by range(period_diff(col1,col2)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(period_diff(col1,col2)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(period_diff(col1,col2));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(period_diff(col1,col2)) subpartitions 2 
@@ -2337,13 +2591,16 @@ create table t1 (col1 int,col2 int) engi
 partition by range(period_diff(col1,col2)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int,col2 int) engine='INNODB' 
 partition by list(period_diff(col1,col2)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int,col2 int) engine='INNODB' 
 partition by hash(period_diff(col1,col2));
+Got one of the listed errors
 create table t4 (colint int, col1 int,col2 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(period_diff(col1,col2)) subpartitions 2 
@@ -2375,13 +2632,16 @@ alter table t11  
 partition by range(period_diff(col1,col2)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(period_diff(col1,col2)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(period_diff(col1,col2));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(period_diff(col1,col2)) subpartitions 2 
@@ -2423,13 +2683,16 @@ create table t1 (col1 datetime) engine='
 partition by range(timestampdiff(day,5,col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 datetime) engine='INNODB' 
 partition by list(timestampdiff(day,5,col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 datetime) engine='INNODB' 
 partition by hash(timestampdiff(day,5,col1));
+Got one of the listed errors
 create table t4 (colint int, col1 datetime) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(timestampdiff(day,5,col1)) subpartitions 2 
@@ -2461,13 +2724,16 @@ alter table t11  
 partition by range(timestampdiff(day,5,col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(timestampdiff(day,5,col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(timestampdiff(day,5,col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(timestampdiff(day,5,col1)) subpartitions 2 
@@ -2509,13 +2775,16 @@ create table t1 (col1 date) engine='INNO
 partition by range(unix_timestamp(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 date) engine='INNODB' 
 partition by list(unix_timestamp(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 date) engine='INNODB' 
 partition by hash(unix_timestamp(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 date) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(unix_timestamp(col1)) subpartitions 2 
@@ -2547,13 +2816,16 @@ alter table t11  
 partition by range(unix_timestamp(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(unix_timestamp(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(unix_timestamp(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(unix_timestamp(col1)) subpartitions 2 
@@ -2595,13 +2867,16 @@ create table t1 (col1 datetime) engine='
 partition by range(week(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 datetime) engine='INNODB' 
 partition by list(week(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 datetime) engine='INNODB' 
 partition by hash(week(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 datetime) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(week(col1)) subpartitions 2 
@@ -2633,13 +2908,16 @@ alter table t11  
 partition by range(week(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(week(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(week(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(week(col1)) subpartitions 2 
@@ -2668,6 +2946,98 @@ drop table if exists t44 ;
 drop table if exists t55 ;
 drop table if exists t66 ;
 -------------------------------------------------------------------------
+---  weekofyear(col1)  in partition with coltype  date
+-------------------------------------------------------------------------
+must all fail! (delete 0 and comment char, if bug fixed)
+drop table if exists t1 ;
+drop table if exists t2 ;
+drop table if exists t3 ;
+drop table if exists t4 ;
+drop table if exists t5 ;
+drop table if exists t6 ;
+create table t1 (col1 date) engine='INNODB' 
+partition by range(weekofyear(col1)) 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t2 (col1 date) engine='INNODB' 
+partition by list(weekofyear(col1)) 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
+create table t3 (col1 date) engine='INNODB' 
+partition by hash(weekofyear(col1));
+Got one of the listed errors
+create table t4 (colint int, col1 date) engine='INNODB' 
+partition by range(colint) 
+subpartition by hash(weekofyear(col1)) subpartitions 2 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+create table t5 (colint int, col1 date) engine='INNODB' 
+partition by list(colint)
+subpartition by hash(weekofyear(col1)) subpartitions 2 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+create table t6 (colint int, col1 date) engine='INNODB' 
+partition by range(colint) 
+(partition p0 values less than (weekofyear('2006-02-14')),
+partition p1 values less than maxvalue);
+drop table if exists t11 ;
+drop table if exists t22 ;
+drop table if exists t33 ;
+drop table if exists t44 ;
+drop table if exists t55 ;
+drop table if exists t66 ;
+create table t11 (col1 date) engine='INNODB' ;
+create table t22 (col1 date) engine='INNODB' ;
+create table t33 (col1 date) engine='INNODB' ;
+create table t44 (colint int, col1 date) engine='INNODB' ;
+create table t55 (colint int, col1 date) engine='INNODB' ;
+create table t66 (colint int, col1 date) engine='INNODB' ;
+alter table t11  
+partition by range(weekofyear(col1)) 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t22 
+partition by list(weekofyear(col1)) 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
+alter table t33 
+partition by hash(weekofyear(col1));
+Got one of the listed errors
+alter table t44 
+partition by range(colint) 
+subpartition by hash(weekofyear(col1)) subpartitions 2 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+alter table t55 
+partition by list(colint)
+subpartition by hash(weekofyear(col1)) subpartitions 2 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+alter table t66  
+partition by range(colint) 
+(partition p0 values less than (weekofyear('2006-02-14')),
+partition p1 values less than maxvalue);
+drop table if exists t1 ;
+drop table if exists t2 ;
+drop table if exists t3 ;
+drop table if exists t4 ;
+drop table if exists t5 ;
+drop table if exists t6 ;
+drop table if exists t11 ;
+drop table if exists t22 ;
+drop table if exists t33 ;
+drop table if exists t44 ;
+drop table if exists t55 ;
+drop table if exists t66 ;
+-------------------------------------------------------------------------
 ---  cast(col1 as signed)  in partition with coltype  varchar(30)
 -------------------------------------------------------------------------
 must all fail! (delete 0 and comment char, if bug fixed)
@@ -2681,13 +3051,16 @@ create table t1 (col1 varchar(30)) engin
 partition by range(cast(col1 as signed)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 varchar(30)) engine='INNODB' 
 partition by list(cast(col1 as signed)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 varchar(30)) engine='INNODB' 
 partition by hash(cast(col1 as signed));
+Got one of the listed errors
 create table t4 (colint int, col1 varchar(30)) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(cast(col1 as signed)) subpartitions 2 
@@ -2719,13 +3092,16 @@ alter table t11  
 partition by range(cast(col1 as signed)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(cast(col1 as signed)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(cast(col1 as signed));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(cast(col1 as signed)) subpartitions 2 
@@ -2767,13 +3143,16 @@ create table t1 (col1 varchar(30)) engin
 partition by range(convert(col1,unsigned)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 varchar(30)) engine='INNODB' 
 partition by list(convert(col1,unsigned)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 varchar(30)) engine='INNODB' 
 partition by hash(convert(col1,unsigned));
+Got one of the listed errors
 create table t4 (colint int, col1 varchar(30)) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(convert(col1,unsigned)) subpartitions 2 
@@ -2805,13 +3184,16 @@ alter table t11  
 partition by range(convert(col1,unsigned)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(convert(col1,unsigned)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(convert(col1,unsigned));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(convert(col1,unsigned)) subpartitions 2 
@@ -2853,13 +3235,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(col1 | 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(col1 | 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(col1 | 20);
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(col1 | 20) subpartitions 2 
@@ -2891,13 +3276,16 @@ alter table t11  
 partition by range(col1 | 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(col1 | 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(col1 | 20);
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(col1 | 20) subpartitions 2 
@@ -2939,13 +3327,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(col1 & 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(col1 & 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(col1 & 20);
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(col1 & 20) subpartitions 2 
@@ -2977,13 +3368,16 @@ alter table t11  
 partition by range(col1 & 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(col1 & 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(col1 & 20);
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(col1 & 20) subpartitions 2 
@@ -3025,13 +3419,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(col1 ^ 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(col1 ^ 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(col1 ^ 20);
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(col1 ^ 20) subpartitions 2 
@@ -3063,13 +3460,16 @@ alter table t11  
 partition by range(col1 ^ 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(col1 ^ 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(col1 ^ 20);
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(col1 ^ 20) subpartitions 2 
@@ -3111,13 +3511,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(col1 << 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(col1 << 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(col1 << 20);
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(col1 << 20) subpartitions 2 
@@ -3149,13 +3552,16 @@ alter table t11  
 partition by range(col1 << 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(col1 << 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(col1 << 20);
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(col1 << 20) subpartitions 2 
@@ -3197,13 +3603,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(col1 >> 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(col1 >> 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(col1 >> 20);
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(col1 >> 20) subpartitions 2 
@@ -3235,13 +3644,16 @@ alter table t11  
 partition by range(col1 >> 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(col1 >> 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(col1 >> 20);
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(col1 >> 20) subpartitions 2 
@@ -3283,13 +3695,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(~col1) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(~col1) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(~col1);
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(~col1) subpartitions 2 
@@ -3321,13 +3736,16 @@ alter table t11  
 partition by range(~col1) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(~col1) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(~col1);
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(~col1) subpartitions 2 
@@ -3369,13 +3787,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(bit_count(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(bit_count(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(bit_count(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(bit_count(col1)) subpartitions 2 
@@ -3407,13 +3828,16 @@ alter table t11  
 partition by range(bit_count(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(bit_count(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(bit_count(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(bit_count(col1)) subpartitions 2 
@@ -3455,13 +3879,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(inet_aton(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(inet_aton(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(inet_aton(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(inet_aton(col1)) subpartitions 2 
@@ -3493,13 +3920,16 @@ alter table t11  
 partition by range(inet_aton(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(inet_aton(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(inet_aton(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(inet_aton(col1)) subpartitions 2 
@@ -3542,20 +3972,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(bit_length(col1)+@var-@var) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(bit_length(col1)+@var-@var) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(bit_length(col1)+@var-@var);
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(bit_length(col1)+@var-@var) subpartitions 2 
@@ -3587,20 +4013,16 @@ alter table t11  
 partition by range(bit_length(col1)+@var-@var) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
 alter table t22 
 partition by list(bit_length(col1)+@var-@var) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
 alter table t33 
 partition by hash(bit_length(col1)+@var-@var);
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(bit_length(col1)+@var-@var) subpartitions 2 
@@ -3663,20 +4085,16 @@ create table t1 (col1 int) engine='INNOD
 partition by range(getmaxsigned_t1(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
 create table t2 (col1 int) engine='INNODB' 
 partition by list(getmaxsigned_t1(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
 create table t3 (col1 int) engine='INNODB' 
 partition by hash(getmaxsigned_t1(col1));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
 subpartition by hash(getmaxsigned_t1(col1)) subpartitions 2 
@@ -3708,20 +4126,16 @@ alter table t11  
 partition by range(getmaxsigned_t1(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
 alter table t22 
 partition by list(getmaxsigned_t1(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
 alter table t33 
 partition by hash(getmaxsigned_t1(col1));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(getmaxsigned_t1(col1)) subpartitions 2 
diff -Nrup a/mysql-test/suite/parts/r/part_blocked_sql_func_myisam.result b/mysql-test/suite/parts/r/part_blocked_sql_func_myisam.result
--- a/mysql-test/suite/parts/r/part_blocked_sql_func_myisam.result	2007-04-30 15:18:51 +02:00
+++ b/mysql-test/suite/parts/r/part_blocked_sql_func_myisam.result	2007-08-23 16:18:11 +02:00
@@ -2,6 +2,190 @@
 ---   All SQL functions should be rejected, otherwise BUG (see 18198)
 -------------------------------------------------------------------------
 -------------------------------------------------------------------------
+---  ascii(col1)  in partition with coltype  char(1)
+-------------------------------------------------------------------------
+must all fail! (delete 0 and comment char, if bug fixed)
+drop table if exists t1 ;
+drop table if exists t2 ;
+drop table if exists t3 ;
+drop table if exists t4 ;
+drop table if exists t5 ;
+drop table if exists t6 ;
+create table t1 (col1 char(1)) engine='MYISAM' 
+partition by range(ascii(col1)) 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t2 (col1 char(1)) engine='MYISAM' 
+partition by list(ascii(col1)) 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
+create table t3 (col1 char(1)) engine='MYISAM' 
+partition by hash(ascii(col1));
+Got one of the listed errors
+create table t4 (colint int, col1 char(1)) engine='MYISAM' 
+partition by range(colint) 
+subpartition by hash(ascii(col1)) subpartitions 2 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+create table t5 (colint int, col1 char(1)) engine='MYISAM' 
+partition by list(colint)
+subpartition by hash(ascii(col1)) subpartitions 2 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+create table t6 (colint int, col1 char(1)) engine='MYISAM' 
+partition by range(colint) 
+(partition p0 values less than (ascii('5')),
+partition p1 values less than maxvalue);
+drop table if exists t11 ;
+drop table if exists t22 ;
+drop table if exists t33 ;
+drop table if exists t44 ;
+drop table if exists t55 ;
+drop table if exists t66 ;
+create table t11 (col1 char(1)) engine='MYISAM' ;
+create table t22 (col1 char(1)) engine='MYISAM' ;
+create table t33 (col1 char(1)) engine='MYISAM' ;
+create table t44 (colint int, col1 char(1)) engine='MYISAM' ;
+create table t55 (colint int, col1 char(1)) engine='MYISAM' ;
+create table t66 (colint int, col1 char(1)) engine='MYISAM' ;
+alter table t11  
+partition by range(ascii(col1)) 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t22 
+partition by list(ascii(col1)) 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
+alter table t33 
+partition by hash(ascii(col1));
+Got one of the listed errors
+alter table t44 
+partition by range(colint) 
+subpartition by hash(ascii(col1)) subpartitions 2 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+alter table t55 
+partition by list(colint)
+subpartition by hash(ascii(col1)) subpartitions 2 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+alter table t66  
+partition by range(colint) 
+(partition p0 values less than (ascii('5')),
+partition p1 values less than maxvalue);
+drop table if exists t1 ;
+drop table if exists t2 ;
+drop table if exists t3 ;
+drop table if exists t4 ;
+drop table if exists t5 ;
+drop table if exists t6 ;
+drop table if exists t11 ;
+drop table if exists t22 ;
+drop table if exists t33 ;
+drop table if exists t44 ;
+drop table if exists t55 ;
+drop table if exists t66 ;
+-------------------------------------------------------------------------
+---  ord(col1)  in partition with coltype  char(3)
+-------------------------------------------------------------------------
+must all fail! (delete 0 and comment char, if bug fixed)
+drop table if exists t1 ;
+drop table if exists t2 ;
+drop table if exists t3 ;
+drop table if exists t4 ;
+drop table if exists t5 ;
+drop table if exists t6 ;
+create table t1 (col1 char(3)) engine='MYISAM' 
+partition by range(ord(col1)) 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t2 (col1 char(3)) engine='MYISAM' 
+partition by list(ord(col1)) 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
+create table t3 (col1 char(3)) engine='MYISAM' 
+partition by hash(ord(col1));
+Got one of the listed errors
+create table t4 (colint int, col1 char(3)) engine='MYISAM' 
+partition by range(colint) 
+subpartition by hash(ord(col1)) subpartitions 2 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+create table t5 (colint int, col1 char(3)) engine='MYISAM' 
+partition by list(colint)
+subpartition by hash(ord(col1)) subpartitions 2 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+create table t6 (colint int, col1 char(3)) engine='MYISAM' 
+partition by range(colint) 
+(partition p0 values less than (ord('a')),
+partition p1 values less than maxvalue);
+drop table if exists t11 ;
+drop table if exists t22 ;
+drop table if exists t33 ;
+drop table if exists t44 ;
+drop table if exists t55 ;
+drop table if exists t66 ;
+create table t11 (col1 char(3)) engine='MYISAM' ;
+create table t22 (col1 char(3)) engine='MYISAM' ;
+create table t33 (col1 char(3)) engine='MYISAM' ;
+create table t44 (colint int, col1 char(3)) engine='MYISAM' ;
+create table t55 (colint int, col1 char(3)) engine='MYISAM' ;
+create table t66 (colint int, col1 char(3)) engine='MYISAM' ;
+alter table t11  
+partition by range(ord(col1)) 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t22 
+partition by list(ord(col1)) 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
+alter table t33 
+partition by hash(ord(col1));
+Got one of the listed errors
+alter table t44 
+partition by range(colint) 
+subpartition by hash(ord(col1)) subpartitions 2 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+alter table t55 
+partition by list(colint)
+subpartition by hash(ord(col1)) subpartitions 2 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+alter table t66  
+partition by range(colint) 
+(partition p0 values less than (ord('a')),
+partition p1 values less than maxvalue);
+drop table if exists t1 ;
+drop table if exists t2 ;
+drop table if exists t3 ;
+drop table if exists t4 ;
+drop table if exists t5 ;
+drop table if exists t6 ;
+drop table if exists t11 ;
+drop table if exists t22 ;
+drop table if exists t33 ;
+drop table if exists t44 ;
+drop table if exists t55 ;
+drop table if exists t66 ;
+-------------------------------------------------------------------------
 ---  greatest(col1,15)  in partition with coltype  int
 -------------------------------------------------------------------------
 must all fail! (delete 0 and comment char, if bug fixed)
@@ -15,13 +199,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(greatest(col1,15)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(greatest(col1,15)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(greatest(col1,15));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(greatest(col1,15)) subpartitions 2 
@@ -53,13 +240,16 @@ alter table t11  
 partition by range(greatest(col1,15)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(greatest(col1,15)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(greatest(col1,15));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(greatest(col1,15)) subpartitions 2 
@@ -101,13 +291,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(isnull(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(isnull(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(isnull(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(isnull(col1)) subpartitions 2 
@@ -139,13 +332,16 @@ alter table t11  
 partition by range(isnull(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(isnull(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(isnull(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(isnull(col1)) subpartitions 2 
@@ -187,13 +383,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(least(col1,15)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(least(col1,15)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(least(col1,15));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(least(col1,15)) subpartitions 2 
@@ -225,13 +424,16 @@ alter table t11  
 partition by range(least(col1,15)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(least(col1,15)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(least(col1,15));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(least(col1,15)) subpartitions 2 
@@ -273,13 +475,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(case when col1>15 then 20 else 10 end) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(case when col1>15 then 20 else 10 end) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(case when col1>15 then 20 else 10 end);
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(case when col1>15 then 20 else 10 end) subpartitions 2 
@@ -311,13 +516,16 @@ alter table t11  
 partition by range(case when col1>15 then 20 else 10 end) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(case when col1>15 then 20 else 10 end) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(case when col1>15 then 20 else 10 end);
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(case when col1>15 then 20 else 10 end) subpartitions 2 
@@ -359,13 +567,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(ifnull(col1,30)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(ifnull(col1,30)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(ifnull(col1,30));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(ifnull(col1,30)) subpartitions 2 
@@ -397,13 +608,16 @@ alter table t11  
 partition by range(ifnull(col1,30)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(ifnull(col1,30)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(ifnull(col1,30));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(ifnull(col1,30)) subpartitions 2 
@@ -445,13 +659,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(nullif(col1,30)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(nullif(col1,30)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(nullif(col1,30));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(nullif(col1,30)) subpartitions 2 
@@ -483,13 +700,16 @@ alter table t11  
 partition by range(nullif(col1,30)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(nullif(col1,30)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(nullif(col1,30));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(nullif(col1,30)) subpartitions 2 
@@ -531,13 +751,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(bit_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(bit_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(bit_length(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(bit_length(col1)) subpartitions 2 
@@ -569,13 +792,16 @@ alter table t11  
 partition by range(bit_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(bit_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(bit_length(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(bit_length(col1)) subpartitions 2 
@@ -617,13 +843,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(bit_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='MYISAM' 
 partition by list(bit_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='MYISAM' 
 partition by hash(bit_length(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(bit_length(col1)) subpartitions 2 
@@ -655,13 +884,16 @@ alter table t11  
 partition by range(bit_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(bit_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(bit_length(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(bit_length(col1)) subpartitions 2 
@@ -703,13 +935,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(char_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='MYISAM' 
 partition by list(char_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='MYISAM' 
 partition by hash(char_length(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(char_length(col1)) subpartitions 2 
@@ -741,13 +976,16 @@ alter table t11  
 partition by range(char_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(char_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(char_length(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(char_length(col1)) subpartitions 2 
@@ -789,13 +1027,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(character_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(character_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(character_length(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(character_length(col1)) subpartitions 2 
@@ -827,13 +1068,16 @@ alter table t11  
 partition by range(character_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(character_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(character_length(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(character_length(col1)) subpartitions 2 
@@ -875,13 +1119,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(character_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='MYISAM' 
 partition by list(character_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='MYISAM' 
 partition by hash(character_length(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(character_length(col1)) subpartitions 2 
@@ -913,13 +1160,16 @@ alter table t11  
 partition by range(character_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(character_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(character_length(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(character_length(col1)) subpartitions 2 
@@ -961,13 +1211,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(instr(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(instr(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(instr(col1,'acb'));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(instr(col1,'acb')) subpartitions 2 
@@ -999,13 +1252,16 @@ alter table t11  
 partition by range(instr(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(instr(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(instr(col1,'acb'));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(instr(col1,'acb')) subpartitions 2 
@@ -1047,13 +1303,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(instr(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='MYISAM' 
 partition by list(instr(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='MYISAM' 
 partition by hash(instr(col1,'acb'));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(instr(col1,'acb')) subpartitions 2 
@@ -1085,13 +1344,16 @@ alter table t11  
 partition by range(instr(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(instr(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(instr(col1,'acb'));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(instr(col1,'acb')) subpartitions 2 
@@ -1133,13 +1395,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(length(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(length(col1)) subpartitions 2 
@@ -1171,13 +1436,16 @@ alter table t11  
 partition by range(length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(length(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(length(col1)) subpartitions 2 
@@ -1219,13 +1487,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(locate('a',col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(locate('a',col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(locate('a',col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(locate('a',col1)) subpartitions 2 
@@ -1257,13 +1528,16 @@ alter table t11  
 partition by range(locate('a',col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(locate('a',col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(locate('a',col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(locate('a',col1)) subpartitions 2 
@@ -1305,13 +1579,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(locate('a',col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='MYISAM' 
 partition by list(locate('a',col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='MYISAM' 
 partition by hash(locate('a',col1));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(locate('a',col1)) subpartitions 2 
@@ -1343,13 +1620,16 @@ alter table t11  
 partition by range(locate('a',col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(locate('a',col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(locate('a',col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(locate('a',col1)) subpartitions 2 
@@ -1391,13 +1671,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(octet_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='MYISAM' 
 partition by list(octet_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='MYISAM' 
 partition by hash(octet_length(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(octet_length(col1)) subpartitions 2 
@@ -1429,13 +1712,16 @@ alter table t11  
 partition by range(octet_length(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(octet_length(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(octet_length(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(octet_length(col1)) subpartitions 2 
@@ -1477,13 +1763,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(position('a' in col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(position('a' in col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(position('a' in col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(position('a' in col1)) subpartitions 2 
@@ -1515,13 +1804,16 @@ alter table t11  
 partition by range(position('a' in col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(position('a' in col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(position('a' in col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(position('a' in col1)) subpartitions 2 
@@ -1563,13 +1855,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(position('a' in col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='MYISAM' 
 partition by list(position('a' in col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='MYISAM' 
 partition by hash(position('a' in col1));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(position('a' in col1)) subpartitions 2 
@@ -1601,13 +1896,16 @@ alter table t11  
 partition by range(position('a' in col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(position('a' in col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(position('a' in col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(position('a' in col1)) subpartitions 2 
@@ -1649,13 +1947,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(strcmp(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(strcmp(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(strcmp(col1,'acb')) subpartitions 2 
@@ -1687,13 +1988,16 @@ alter table t11  
 partition by range(strcmp(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(strcmp(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(strcmp(col1,'acb')) subpartitions 2 
@@ -1735,13 +2039,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(strcmp(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='MYISAM' 
 partition by list(strcmp(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='MYISAM' 
 partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(strcmp(col1,'acb')) subpartitions 2 
@@ -1773,13 +2080,16 @@ alter table t11  
 partition by range(strcmp(col1,'acb')) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(strcmp(col1,'acb')) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(strcmp(col1,'acb')) subpartitions 2 
@@ -1821,13 +2131,16 @@ create table t1 (col1 char(30)) engine='
 partition by range(crc32(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 char(30)) engine='MYISAM' 
 partition by list(crc32(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 char(30)) engine='MYISAM' 
 partition by hash(crc32(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 char(30)) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(crc32(col1)) subpartitions 2 
@@ -1859,13 +2172,16 @@ alter table t11  
 partition by range(crc32(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(crc32(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(crc32(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(crc32(col1)) subpartitions 2 
@@ -1907,13 +2223,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(round(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(round(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(round(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(round(col1)) subpartitions 2 
@@ -1945,13 +2264,16 @@ alter table t11  
 partition by range(round(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(round(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(round(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(round(col1)) subpartitions 2 
@@ -1993,13 +2315,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(sign(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(sign(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(sign(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(sign(col1)) subpartitions 2 
@@ -2031,13 +2356,16 @@ alter table t11  
 partition by range(sign(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(sign(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(sign(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(sign(col1)) subpartitions 2 
@@ -2066,92 +2394,6 @@ drop table if exists t44 ;
 drop table if exists t55 ;
 drop table if exists t66 ;
 -------------------------------------------------------------------------
----  datediff(col1,col1)  in partition with coltype  datetime
--------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-create table t1 (col1 datetime) engine='MYISAM' 
-partition by range(datediff(col1,col1)) 
-(partition p0 values less than (15),
-partition p1 values less than (31));
-create table t2 (col1 datetime) engine='MYISAM' 
-partition by list(datediff(col1,col1)) 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-create table t3 (col1 datetime) engine='MYISAM' 
-partition by hash(datediff(col1,col1));
-create table t4 (colint int, col1 datetime) engine='MYISAM' 
-partition by range(colint) 
-subpartition by hash(datediff(col1,col1)) subpartitions 2 
-(partition p0 values less than (15),
-partition p1 values less than (31));
-create table t5 (colint int, col1 datetime) engine='MYISAM' 
-partition by list(colint)
-subpartition by hash(datediff(col1,col1)) subpartitions 2 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-create table t6 (colint int, col1 datetime) engine='MYISAM' 
-partition by range(colint) 
-(partition p0 values less than (datediff('1997-11-30 23:59:59','1997-12-31')),
-partition p1 values less than maxvalue);
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 (col1 datetime) engine='MYISAM' ;
-create table t22 (col1 datetime) engine='MYISAM' ;
-create table t33 (col1 datetime) engine='MYISAM' ;
-create table t44 (colint int, col1 datetime) engine='MYISAM' ;
-create table t55 (colint int, col1 datetime) engine='MYISAM' ;
-create table t66 (colint int, col1 datetime) engine='MYISAM' ;
-alter table t11  
-partition by range(datediff(col1,col1)) 
-(partition p0 values less than (15),
-partition p1 values less than (31));
-alter table t22 
-partition by list(datediff(col1,col1)) 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-alter table t33 
-partition by hash(datediff(col1,col1));
-alter table t44 
-partition by range(colint) 
-subpartition by hash(datediff(col1,col1)) subpartitions 2 
-(partition p0 values less than (15),
-partition p1 values less than (31));
-alter table t55 
-partition by list(colint)
-subpartition by hash(datediff(col1,col1)) subpartitions 2 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-alter table t66  
-partition by range(colint) 
-(partition p0 values less than (datediff('1997-11-30 23:59:59','1997-12-31')),
-partition p1 values less than maxvalue);
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
 ---  period_add(col1,5)  in partition with coltype  datetime
 -------------------------------------------------------------------------
 must all fail! (delete 0 and comment char, if bug fixed)
@@ -2165,13 +2407,16 @@ create table t1 (col1 datetime) engine='
 partition by range(period_add(col1,5)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 datetime) engine='MYISAM' 
 partition by list(period_add(col1,5)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 datetime) engine='MYISAM' 
 partition by hash(period_add(col1,5));
+Got one of the listed errors
 create table t4 (colint int, col1 datetime) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(period_add(col1,5)) subpartitions 2 
@@ -2203,13 +2448,16 @@ alter table t11  
 partition by range(period_add(col1,5)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(period_add(col1,5)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(period_add(col1,5));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(period_add(col1,5)) subpartitions 2 
@@ -2251,13 +2499,16 @@ create table t1 (col1 datetime,col2 date
 partition by range(period_diff(col1,col2)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 datetime,col2 datetime) engine='MYISAM' 
 partition by list(period_diff(col1,col2)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 datetime,col2 datetime) engine='MYISAM' 
 partition by hash(period_diff(col1,col2));
+Got one of the listed errors
 create table t4 (colint int, col1 datetime,col2 datetime) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(period_diff(col1,col2)) subpartitions 2 
@@ -2289,13 +2540,16 @@ alter table t11  
 partition by range(period_diff(col1,col2)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(period_diff(col1,col2)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(period_diff(col1,col2));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(period_diff(col1,col2)) subpartitions 2 
@@ -2337,13 +2591,16 @@ create table t1 (col1 int,col2 int) engi
 partition by range(period_diff(col1,col2)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int,col2 int) engine='MYISAM' 
 partition by list(period_diff(col1,col2)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int,col2 int) engine='MYISAM' 
 partition by hash(period_diff(col1,col2));
+Got one of the listed errors
 create table t4 (colint int, col1 int,col2 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(period_diff(col1,col2)) subpartitions 2 
@@ -2375,13 +2632,16 @@ alter table t11  
 partition by range(period_diff(col1,col2)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(period_diff(col1,col2)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(period_diff(col1,col2));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(period_diff(col1,col2)) subpartitions 2 
@@ -2423,13 +2683,16 @@ create table t1 (col1 datetime) engine='
 partition by range(timestampdiff(day,5,col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 datetime) engine='MYISAM' 
 partition by list(timestampdiff(day,5,col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 datetime) engine='MYISAM' 
 partition by hash(timestampdiff(day,5,col1));
+Got one of the listed errors
 create table t4 (colint int, col1 datetime) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(timestampdiff(day,5,col1)) subpartitions 2 
@@ -2461,13 +2724,16 @@ alter table t11  
 partition by range(timestampdiff(day,5,col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(timestampdiff(day,5,col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(timestampdiff(day,5,col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(timestampdiff(day,5,col1)) subpartitions 2 
@@ -2509,13 +2775,16 @@ create table t1 (col1 date) engine='MYIS
 partition by range(unix_timestamp(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 date) engine='MYISAM' 
 partition by list(unix_timestamp(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 date) engine='MYISAM' 
 partition by hash(unix_timestamp(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 date) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(unix_timestamp(col1)) subpartitions 2 
@@ -2547,13 +2816,16 @@ alter table t11  
 partition by range(unix_timestamp(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(unix_timestamp(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(unix_timestamp(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(unix_timestamp(col1)) subpartitions 2 
@@ -2595,13 +2867,16 @@ create table t1 (col1 datetime) engine='
 partition by range(week(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 datetime) engine='MYISAM' 
 partition by list(week(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 datetime) engine='MYISAM' 
 partition by hash(week(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 datetime) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(week(col1)) subpartitions 2 
@@ -2633,13 +2908,16 @@ alter table t11  
 partition by range(week(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(week(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(week(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(week(col1)) subpartitions 2 
@@ -2668,6 +2946,98 @@ drop table if exists t44 ;
 drop table if exists t55 ;
 drop table if exists t66 ;
 -------------------------------------------------------------------------
+---  weekofyear(col1)  in partition with coltype  date
+-------------------------------------------------------------------------
+must all fail! (delete 0 and comment char, if bug fixed)
+drop table if exists t1 ;
+drop table if exists t2 ;
+drop table if exists t3 ;
+drop table if exists t4 ;
+drop table if exists t5 ;
+drop table if exists t6 ;
+create table t1 (col1 date) engine='MYISAM' 
+partition by range(weekofyear(col1)) 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t2 (col1 date) engine='MYISAM' 
+partition by list(weekofyear(col1)) 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
+create table t3 (col1 date) engine='MYISAM' 
+partition by hash(weekofyear(col1));
+Got one of the listed errors
+create table t4 (colint int, col1 date) engine='MYISAM' 
+partition by range(colint) 
+subpartition by hash(weekofyear(col1)) subpartitions 2 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+create table t5 (colint int, col1 date) engine='MYISAM' 
+partition by list(colint)
+subpartition by hash(weekofyear(col1)) subpartitions 2 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+create table t6 (colint int, col1 date) engine='MYISAM' 
+partition by range(colint) 
+(partition p0 values less than (weekofyear('2006-02-14')),
+partition p1 values less than maxvalue);
+drop table if exists t11 ;
+drop table if exists t22 ;
+drop table if exists t33 ;
+drop table if exists t44 ;
+drop table if exists t55 ;
+drop table if exists t66 ;
+create table t11 (col1 date) engine='MYISAM' ;
+create table t22 (col1 date) engine='MYISAM' ;
+create table t33 (col1 date) engine='MYISAM' ;
+create table t44 (colint int, col1 date) engine='MYISAM' ;
+create table t55 (colint int, col1 date) engine='MYISAM' ;
+create table t66 (colint int, col1 date) engine='MYISAM' ;
+alter table t11  
+partition by range(weekofyear(col1)) 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t22 
+partition by list(weekofyear(col1)) 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
+alter table t33 
+partition by hash(weekofyear(col1));
+Got one of the listed errors
+alter table t44 
+partition by range(colint) 
+subpartition by hash(weekofyear(col1)) subpartitions 2 
+(partition p0 values less than (15),
+partition p1 values less than (31));
+alter table t55 
+partition by list(colint)
+subpartition by hash(weekofyear(col1)) subpartitions 2 
+(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
+partition p1 values in (11,12,13,14,15,16,17,18,19,20),
+partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+alter table t66  
+partition by range(colint) 
+(partition p0 values less than (weekofyear('2006-02-14')),
+partition p1 values less than maxvalue);
+drop table if exists t1 ;
+drop table if exists t2 ;
+drop table if exists t3 ;
+drop table if exists t4 ;
+drop table if exists t5 ;
+drop table if exists t6 ;
+drop table if exists t11 ;
+drop table if exists t22 ;
+drop table if exists t33 ;
+drop table if exists t44 ;
+drop table if exists t55 ;
+drop table if exists t66 ;
+-------------------------------------------------------------------------
 ---  cast(col1 as signed)  in partition with coltype  varchar(30)
 -------------------------------------------------------------------------
 must all fail! (delete 0 and comment char, if bug fixed)
@@ -2681,13 +3051,16 @@ create table t1 (col1 varchar(30)) engin
 partition by range(cast(col1 as signed)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 varchar(30)) engine='MYISAM' 
 partition by list(cast(col1 as signed)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 varchar(30)) engine='MYISAM' 
 partition by hash(cast(col1 as signed));
+Got one of the listed errors
 create table t4 (colint int, col1 varchar(30)) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(cast(col1 as signed)) subpartitions 2 
@@ -2719,13 +3092,16 @@ alter table t11  
 partition by range(cast(col1 as signed)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(cast(col1 as signed)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(cast(col1 as signed));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(cast(col1 as signed)) subpartitions 2 
@@ -2767,13 +3143,16 @@ create table t1 (col1 varchar(30)) engin
 partition by range(convert(col1,unsigned)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 varchar(30)) engine='MYISAM' 
 partition by list(convert(col1,unsigned)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 varchar(30)) engine='MYISAM' 
 partition by hash(convert(col1,unsigned));
+Got one of the listed errors
 create table t4 (colint int, col1 varchar(30)) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(convert(col1,unsigned)) subpartitions 2 
@@ -2805,13 +3184,16 @@ alter table t11  
 partition by range(convert(col1,unsigned)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(convert(col1,unsigned)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(convert(col1,unsigned));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(convert(col1,unsigned)) subpartitions 2 
@@ -2853,13 +3235,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(col1 | 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(col1 | 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(col1 | 20);
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(col1 | 20) subpartitions 2 
@@ -2891,13 +3276,16 @@ alter table t11  
 partition by range(col1 | 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(col1 | 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(col1 | 20);
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(col1 | 20) subpartitions 2 
@@ -2939,13 +3327,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(col1 & 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(col1 & 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(col1 & 20);
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(col1 & 20) subpartitions 2 
@@ -2977,13 +3368,16 @@ alter table t11  
 partition by range(col1 & 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(col1 & 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(col1 & 20);
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(col1 & 20) subpartitions 2 
@@ -3025,13 +3419,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(col1 ^ 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(col1 ^ 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(col1 ^ 20);
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(col1 ^ 20) subpartitions 2 
@@ -3063,13 +3460,16 @@ alter table t11  
 partition by range(col1 ^ 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(col1 ^ 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(col1 ^ 20);
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(col1 ^ 20) subpartitions 2 
@@ -3111,13 +3511,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(col1 << 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(col1 << 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(col1 << 20);
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(col1 << 20) subpartitions 2 
@@ -3149,13 +3552,16 @@ alter table t11  
 partition by range(col1 << 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(col1 << 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(col1 << 20);
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(col1 << 20) subpartitions 2 
@@ -3197,13 +3603,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(col1 >> 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(col1 >> 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(col1 >> 20);
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(col1 >> 20) subpartitions 2 
@@ -3235,13 +3644,16 @@ alter table t11  
 partition by range(col1 >> 20) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(col1 >> 20) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(col1 >> 20);
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(col1 >> 20) subpartitions 2 
@@ -3283,13 +3695,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(~col1) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(~col1) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(~col1);
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(~col1) subpartitions 2 
@@ -3321,13 +3736,16 @@ alter table t11  
 partition by range(~col1) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(~col1) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(~col1);
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(~col1) subpartitions 2 
@@ -3369,13 +3787,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(bit_count(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(bit_count(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(bit_count(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(bit_count(col1)) subpartitions 2 
@@ -3407,13 +3828,16 @@ alter table t11  
 partition by range(bit_count(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(bit_count(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(bit_count(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(bit_count(col1)) subpartitions 2 
@@ -3455,13 +3879,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(inet_aton(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(inet_aton(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(inet_aton(col1));
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(inet_aton(col1)) subpartitions 2 
@@ -3493,13 +3920,16 @@ alter table t11  
 partition by range(inet_aton(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
+Got one of the listed errors
 alter table t22 
 partition by list(inet_aton(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
+Got one of the listed errors
 alter table t33 
 partition by hash(inet_aton(col1));
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(inet_aton(col1)) subpartitions 2 
@@ -3542,20 +3972,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(bit_length(col1)+@var-@var) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(bit_length(col1)+@var-@var) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(bit_length(col1)+@var-@var);
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(bit_length(col1)+@var-@var) subpartitions 2 
@@ -3587,20 +4013,16 @@ alter table t11  
 partition by range(bit_length(col1)+@var-@var) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
 alter table t22 
 partition by list(bit_length(col1)+@var-@var) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
 alter table t33 
 partition by hash(bit_length(col1)+@var-@var);
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(bit_length(col1)+@var-@var) subpartitions 2 
@@ -3663,20 +4085,16 @@ create table t1 (col1 int) engine='MYISA
 partition by range(getmaxsigned_t1(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
 create table t2 (col1 int) engine='MYISAM' 
 partition by list(getmaxsigned_t1(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
 create table t3 (col1 int) engine='MYISAM' 
 partition by hash(getmaxsigned_t1(col1));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
 create table t4 (colint int, col1 int) engine='MYISAM' 
 partition by range(colint) 
 subpartition by hash(getmaxsigned_t1(col1)) subpartitions 2 
@@ -3708,20 +4126,16 @@ alter table t11  
 partition by range(getmaxsigned_t1(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
 alter table t22 
 partition by list(getmaxsigned_t1(col1)) 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ') 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
 alter table t33 
 partition by hash(getmaxsigned_t1(col1));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
 alter table t44 
 partition by range(colint) 
 subpartition by hash(getmaxsigned_t1(col1)) subpartitions 2 
diff -Nrup a/mysql-test/suite/parts/r/part_supported_sql_func_innodb.result b/mysql-test/suite/parts/r/part_supported_sql_func_innodb.result
--- a/mysql-test/suite/parts/r/part_supported_sql_func_innodb.result	2007-04-30 16:24:07 +02:00
+++ b/mysql-test/suite/parts/r/part_supported_sql_func_innodb.result	2007-08-23 16:18:11 +02:00
@@ -55,9 +55,9 @@ insert into t2 values (17 );
 insert into t3 values (5 );
 insert into t3 values (13 );
 insert into t3 values (17 );
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_int.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_int.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_int.inc' into table t6;
+load data infile 'MYSQLTEST_VARDIR/tmp/part_supported_sql_funcs_int_int.inc' into table t4;
+load data infile 'MYSQLTEST_VARDIR/tmp/part_supported_sql_funcs_int_int.inc' into table t5;
+load data infile 'MYSQLTEST_VARDIR/tmp/part_supported_sql_funcs_int_int.inc' into table t6;
 select abs(col1) from t1 order by col1;
 abs(col1)
 5
@@ -1675,7 +1675,7 @@ drop table if exists t44 ;
 drop table if exists t55 ;
 drop table if exists t66 ;
 -------------------------------------------------------------------------
----  ascii(col1)  in partition with coltype  char(1)
+---  ceiling(col1)  in partition with coltype  int
 -------------------------------------------------------------------------
 drop table if exists t1 ;
 drop table if exists t2 ;
@@ -1684,14 +1684,14 @@ drop table if exists t4 ;
 drop table if exists t5 ;
 drop table if exists t6 ;
 -------------------------------------------------------------------------
----  Create tables with ascii(col1)
+---  Create tables with ceiling(col1)
 -------------------------------------------------------------------------
-create table t1 (col1 char(1)) engine='INNODB' 
-partition by range(ascii(col1)) 
+create table t1 (col1 int) engine='INNODB' 
+partition by range(ceiling(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than maxvalue);
-create table t2 (col1 char(1)) engine='INNODB' 
-partition by list(ascii(col1)) 
+create table t2 (col1 int) engine='INNODB' 
+partition by list(ceiling(col1)) 
 (partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30),
@@ -1699,16 +1699,16 @@ partition p3 values in (31,32,33,34,35,3
 partition p4 values in (41,42,43,44,45,46,47,48,49,50),
 partition p5 values in (51,52,53,54,55,56,57,58,59,60)
 );
-create table t3 (col1 char(1)) engine='INNODB' 
-partition by hash(ascii(col1));
-create table t4 (colint int, col1 char(1)) engine='INNODB' 
+create table t3 (col1 int) engine='INNODB' 
+partition by hash(ceiling(col1));
+create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
-subpartition by hash(ascii(col1)) subpartitions 2 
+subpartition by hash(ceiling(col1)) subpartitions 2 
 (partition p0 values less than (15),
 partition p1 values less than maxvalue);
-create table t5 (colint int, col1 char(1)) engine='INNODB' 
+create table t5 (colint int, col1 int) engine='INNODB' 
 partition by list(colint)
-subpartition by hash(ascii(col1)) subpartitions 2 
+subpartition by hash(ceiling(col1)) subpartitions 2 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30),
@@ -1716,600 +1716,346 @@ partition p3 values in (31,32,33,34,35,3
 partition p4 values in (41,42,43,44,45,46,47,48,49,50),
 partition p5 values in (51,52,53,54,55,56,57,58,59,60)
 );
-create table t6 (colint int, col1 char(1)) engine='INNODB' 
+create table t6 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
-(partition p0 values less than (ascii('5')),
+(partition p0 values less than (ceiling(15)),
 partition p1 values less than maxvalue);
 -------------------------------------------------------------------------
----  Access tables with ascii(col1) 
+---  Access tables with ceiling(col1) 
 -------------------------------------------------------------------------
-insert into t1 values ('1');
-insert into t1 values ('9');
-insert into t2 values ('1');
-insert into t2 values ('9');
-insert into t2 values ('3');
-insert into t3 values ('1');
-insert into t3 values ('9');
-insert into t3 values ('3');
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t6;
-select ascii(col1) from t1 order by col1;
-ascii(col1)
-49
-57
-select * from t1 order by col1;
-col1
-1
-9
-select * from t2 order by col1;
-col1
-1
-3
-9
-select * from t3 order by col1;
-col1
-1
-3
-9
-select * from t4 order by colint;
-colint	col1
-1	1
-2	9
-3	3
-4	8
-select * from t5 order by colint;
-colint	col1
-1	1
-2	9
-3	3
-4	8
-select * from t6 order by colint;
-colint	col1
-1	1
-2	9
-3	3
-4	8
-update t1 set col1='8' where col1='1';
-update t2 set col1='8' where col1='1';
-update t3 set col1='8' where col1='1';
-update t4 set col1='8' where col1='1';
-update t5 set col1='8' where col1='1';
-update t6 set col1='8' where col1='1';
-select * from t1 order by col1;
-col1
-8
-9
-select * from t2 order by col1;
-col1
-3
-8
-9
-select * from t3 order by col1;
-col1
-3
-8
-9
-select * from t4 order by colint;
-colint	col1
-1	8
-2	9
-3	3
-4	8
-select * from t5 order by colint;
-colint	col1
-1	8
-2	9
-3	3
-4	8
-select * from t6 order by colint;
-colint	col1
-1	8
-2	9
-3	3
-4	8
--------------------------------------------------------------------------
----  Alter tables with ascii(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='INNODB' as select * from t1;
-create table t22 engine='INNODB' as select * from t2;
-create table t33 engine='INNODB' as select * from t3;
-create table t44 engine='INNODB' as select * from t4;
-create table t55 engine='INNODB' as select * from t5;
-create table t66 engine='INNODB' as select * from t6;
-alter table t11
-partition by range(ascii(col1)) 
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(ascii(col1)) 
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(ascii(col1));
-alter table t44
-partition by range(colint) 
-subpartition by hash(ascii(col1)) subpartitions 2 
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(ascii(col1)) subpartitions 2 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint) 
-(partition p0 values less than (ascii('5')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-8
-9
-select * from t22 order by col1;
-col1
-3
-8
-9
-select * from t33 order by col1;
-col1
-3
-8
-9
-select * from t44 order by colint;
-colint	col1
-1	8
-2	9
-3	3
-4	8
-select * from t55 order by colint;
-colint	col1
-1	8
-2	9
-3	3
-4	8
-select * from t66 order by colint;
-colint	col1
-1	8
-2	9
-3	3
-4	8
----------------------------
----- some alter table begin
----------------------------
-alter table t11
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-8
-9
-alter table t11
-reorganize partition s1 into
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-8
-9
-alter table t55
-partition by list(colint)
-subpartition by hash(ascii(col1)) subpartitions 5 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table	Create Table
-t55	CREATE TABLE `t55` (
-  `colint` int(11) DEFAULT NULL,
-  `col1` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (ascii(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */
-select * from t55 order by colint;
-colint	col1
-1	8
-2	9
-3	3
-4	8
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint	col1
-1	8
-2	9
-3	3
-4	8
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (ascii('5')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint	col1
-1	8
-2	9
-3	3
-4	8
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint	col1
-1	8
-2	9
-3	3
-4	8
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (ascii('5')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint	col1
-1	8
-2	9
-3	3
-4	8
--------------------------------------------------------------------------
----  Delete rows and partitions of tables with ascii(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='9';
-delete from t2 where col1='9';
-delete from t3 where col1='9';
-delete from t4 where col1='9';
-delete from t5 where col1='9';
-delete from t6 where col1='9';
-select * from t1 order by col1;
-col1
-8
-select * from t2 order by col1;
-col1
-3
-8
-select * from t3 order by col1;
-col1
-3
-8
-select * from t4 order by colint;
-colint	col1
-1	8
-3	3
-4	8
-select * from t5 order by colint;
-colint	col1
-1	8
-3	3
-4	8
-insert into t1 values ('9');
-insert into t2 values ('9');
-insert into t3 values ('9');
-insert into t4 values (60,'9');
-insert into t5 values (60,'9');
-insert into t6 values (60,'9');
-select * from t1 order by col1;
-col1
-8
-9
-select * from t2 order by col1;
-col1
-3
-8
-9
-select * from t3 order by col1;
-col1
-3
-8
-9
-select * from t4 order by colint;
-colint	col1
-1	8
-3	3
-4	8
-60	9
-select * from t5 order by colint;
-colint	col1
-1	8
-3	3
-4	8
-60	9
-select * from t6 order by colint;
-colint	col1
-1	8
-3	3
-4	8
-60	9
-alter table t1 drop partition p0;
-alter table t2 drop partition p0;
-alter table t4 drop partition p0;
-alter table t5 drop partition p0;
-alter table t6 drop partition p0;
-select * from t1 order by col1;
-col1
-8
-9
-select * from t2 order by col1;
-col1
-3
-8
-9
-select * from t3 order by col1;
-col1
-3
-8
-9
-select * from t4 order by colint;
-colint	col1
-60	9
-select * from t5 order by colint;
-colint	col1
-60	9
-select * from t6 order by colint;
-colint	col1
-60	9
--------------------------------------------------------------------------
----  Delete rows and partitions of tables with ascii(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='9';
-delete from t22 where col1='9';
-delete from t33 where col1='9';
-delete from t44 where col1='9';
-delete from t55 where col1='9';
-delete from t66 where col1='9';
-select * from t11 order by col1;
-col1
-8
-select * from t22 order by col1;
-col1
-3
-8
-select * from t33 order by col1;
-col1
-3
-8
-select * from t44 order by colint;
-colint	col1
-1	8
-3	3
-4	8
-select * from t55 order by colint;
-colint	col1
-1	8
-3	3
-4	8
-insert into t11 values ('9');
-insert into t22 values ('9');
-insert into t33 values ('9');
-insert into t44 values (60,'9');
-insert into t55 values (60,'9');
-insert into t66 values (60,'9');
-select * from t11 order by col1;
-col1
-8
-9
-select * from t22 order by col1;
-col1
-3
-8
-9
-select * from t33 order by col1;
-col1
-3
-8
-9
-select * from t44 order by colint;
-colint	col1
-1	8
-3	3
-4	8
-60	9
-select * from t55 order by colint;
-colint	col1
-1	8
-3	3
-4	8
-60	9
-select * from t66 order by colint;
-colint	col1
-1	8
-3	3
-4	8
-60	9
-alter table t11 drop partition p0;
-alter table t22 drop partition p0;
-alter table t44 drop partition p0;
-alter table t55 drop partition p0;
-alter table t66 drop partition p0;
-select * from t11 order by col1;
-col1
-8
-9
-select * from t22 order by col1;
-col1
-3
-8
-9
-select * from t33 order by col1;
-col1
-3
-8
-9
-select * from t44 order by colint;
-colint	col1
-60	9
-select * from t55 order by colint;
-colint	col1
-60	9
-select * from t66 order by colint;
-colint	col1
-60	9
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
----  cast(ceiling(col1) as signed integer)  in partition with coltype  float(7,4)
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
----  Create tables with cast(ceiling(col1) as signed integer)
--------------------------------------------------------------------------
-create table t1 (col1 float(7,4)) engine='INNODB' 
-partition by range(cast(ceiling(col1) as signed integer)) 
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 float(7,4)) engine='INNODB' 
-partition by list(cast(ceiling(col1) as signed integer)) 
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 float(7,4)) engine='INNODB' 
-partition by hash(cast(ceiling(col1) as signed integer));
-create table t4 (colint int, col1 float(7,4)) engine='INNODB' 
-partition by range(colint) 
-subpartition by hash(cast(ceiling(col1) as signed integer)) subpartitions 2 
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 float(7,4)) engine='INNODB' 
-partition by list(colint)
-subpartition by hash(cast(ceiling(col1) as signed integer)) subpartitions 2 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 float(7,4)) engine='INNODB' 
-partition by range(colint) 
-(partition p0 values less than (cast(ceiling(15) as signed integer)),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
----  Access tables with cast(ceiling(col1) as signed integer) 
--------------------------------------------------------------------------
-insert into t1 values (5.1230);
-insert into t1 values (13.345);
-insert into t2 values (5.1230);
-insert into t2 values (13.345);
-insert into t2 values (17.987);
-insert into t3 values (5.1230);
-insert into t3 values (13.345);
-insert into t3 values (17.987);
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t6;
-select cast(ceiling(col1) as signed integer) from t1 order by col1;
-cast(ceiling(col1) as signed integer)
-6
-14
+insert into t1 values (5 );
+insert into t1 values (13 );
+insert into t2 values (5 );
+insert into t2 values (13 );
+insert into t2 values (17 );
+insert into t3 values (5 );
+insert into t3 values (13 );
+insert into t3 values (17 );
+load data infile 'MYSQLTEST_VARDIR/tmp/part_supported_sql_funcs_int_int.inc' into table t4;
+load data infile 'MYSQLTEST_VARDIR/tmp/part_supported_sql_funcs_int_int.inc' into table t5;
+load data infile 'MYSQLTEST_VARDIR/tmp/part_supported_sql_funcs_int_int.inc' into table t6;
+select ceiling(col1) from t1 order by col1;
+ceiling(col1)
+5
+13
 select * from t1 order by col1;
 col1
-5.1230
-13.3450
+5
+13
 select * from t2 order by col1;
 col1
-5.1230
-13.3450
-17.9870
+5
+13
+17
 select * from t3 order by col1;
 col1
-5.1230
-13.3450
-17.9870
+5
+13
+17
 select * from t4 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	5
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	5
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t5 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	5
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	5
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t6 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
-update t1 set col1=15.654  where col1=5.1230;
-update t2 set col1=15.654  where col1=5.1230;
-update t3 set col1=15.654  where col1=5.1230;
-update t4 set col1=15.654  where col1=5.1230;
-update t5 set col1=15.654  where col1=5.1230;
-update t6 set col1=15.654  where col1=5.1230;
+1	5
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	5
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+update t1 set col1=15  where col1=5 ;
+update t2 set col1=15  where col1=5 ;
+update t3 set col1=15  where col1=5 ;
+update t4 set col1=15  where col1=5 ;
+update t5 set col1=15  where col1=5 ;
+update t6 set col1=15  where col1=5 ;
 select * from t1 order by col1;
 col1
-13.3450
-15.6540
+13
+15
 select * from t2 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t3 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t4 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t5 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t6 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 -------------------------------------------------------------------------
----  Alter tables with cast(ceiling(col1) as signed integer)
+---  Alter tables with ceiling(col1)
 -------------------------------------------------------------------------
 drop table if exists t11 ;
 drop table if exists t22 ;
@@ -2324,11 +2070,11 @@ create table t44 engine='INNODB' as sele
 create table t55 engine='INNODB' as select * from t5;
 create table t66 engine='INNODB' as select * from t6;
 alter table t11
-partition by range(cast(ceiling(col1) as signed integer)) 
+partition by range(ceiling(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than maxvalue);
 alter table t22
-partition by list(cast(ceiling(col1) as signed integer)) 
+partition by list(ceiling(col1)) 
 (partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30),
@@ -2337,15 +2083,15 @@ partition p4 values in (41,42,43,44,45,4
 partition p5 values in (51,52,53,54,55,56,57,58,59,60)
 );
 alter table t33
-partition by hash(cast(ceiling(col1) as signed integer));
+partition by hash(ceiling(col1));
 alter table t44
 partition by range(colint) 
-subpartition by hash(cast(ceiling(col1) as signed integer)) subpartitions 2 
+subpartition by hash(ceiling(col1)) subpartitions 2 
 (partition p0 values less than (15),
 partition p1 values less than maxvalue);
 alter table t55
 partition by list(colint)
-subpartition by hash(cast(ceiling(col1) as signed integer)) subpartitions 2 
+subpartition by hash(ceiling(col1)) subpartitions 2 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30),
@@ -2355,40 +2101,163 @@ partition p5 values in (51,52,53,54,55,5
 );
 alter table t66
 partition by range(colint) 
-(partition p0 values less than (cast(ceiling(15) as signed integer)),
+(partition p0 values less than (ceiling(15)),
 partition p1 values less than maxvalue);
 select * from t11 order by col1;
 col1
-13.3450
-15.6540
+13
+15
 select * from t22 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t33 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t44 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t55 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t66 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 ---------------------------
 ---- some alter table begin
 ---------------------------
@@ -2397,19 +2266,19 @@ reorganize partition p0,p1 into
 (partition s1 values less than maxvalue);
 select * from t11 order by col1;
 col1
-13.3450
-15.6540
+13
+15
 alter table t11
 reorganize partition s1 into
 (partition p0 values less than (15),
 partition p1 values less than maxvalue);
 select * from t11 order by col1;
 col1
-13.3450
-15.6540
+13
+15
 alter table t55
 partition by list(colint)
-subpartition by hash(cast(ceiling(col1) as signed integer)) subpartitions 5 
+subpartition by hash(ceiling(col1)) subpartitions 5 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30),
@@ -2421,120 +2290,530 @@ show create table t55;
 Table	Create Table
 t55	CREATE TABLE `t55` (
   `colint` int(11) DEFAULT NULL,
-  `col1` float(7,4) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (cast(ceiling(col1) as signed integer)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */
+  `col1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (ceiling(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */
 select * from t55 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 alter table t66
 reorganize partition p0,p1 into
 (partition s1 values less than maxvalue);
 select * from t66 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 alter table t66
 reorganize partition s1 into
-(partition p0 values less than (cast(ceiling(15) as signed integer)),
+(partition p0 values less than (ceiling(15)),
 partition p1 values less than maxvalue);
 select * from t66 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 alter table t66
 reorganize partition p0,p1 into
 (partition s1 values less than maxvalue);
 select * from t66 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 alter table t66
 reorganize partition s1 into
-(partition p0 values less than (cast(ceiling(15) as signed integer)),
+(partition p0 values less than (ceiling(15)),
 partition p1 values less than maxvalue);
 select * from t66 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 -------------------------------------------------------------------------
----  Delete rows and partitions of tables with cast(ceiling(col1) as signed integer)
+---  Delete rows and partitions of tables with ceiling(col1)
 -------------------------------------------------------------------------
-delete from t1 where col1=13.345;
-delete from t2 where col1=13.345;
-delete from t3 where col1=13.345;
-delete from t4 where col1=13.345;
-delete from t5 where col1=13.345;
-delete from t6 where col1=13.345;
+delete from t1 where col1=13 ;
+delete from t2 where col1=13 ;
+delete from t3 where col1=13 ;
+delete from t4 where col1=13 ;
+delete from t5 where col1=13 ;
+delete from t6 where col1=13 ;
 select * from t1 order by col1;
 col1
-15.6540
+15
 select * from t2 order by col1;
 col1
-15.6540
-17.9870
+15
+17
 select * from t3 order by col1;
 col1
-15.6540
-17.9870
+15
+17
 select * from t4 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t5 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-insert into t1 values (13.345);
-insert into t2 values (13.345);
-insert into t3 values (13.345);
-insert into t4 values (60,13.345);
-insert into t5 values (60,13.345);
-insert into t6 values (60,13.345);
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+insert into t1 values (13 );
+insert into t2 values (13 );
+insert into t3 values (13 );
+insert into t4 values (60,13 );
+insert into t5 values (60,13 );
+insert into t6 values (60,13 );
 select * from t1 order by col1;
 col1
-13.3450
-15.6540
+13
+15
 select * from t2 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t3 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t4 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-60	13.3450
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t5 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-60	13.3450
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t6 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-60	13.3450
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 alter table t1 drop partition p0;
 alter table t2 drop partition p0;
 alter table t4 drop partition p0;
@@ -2542,94 +2821,396 @@ alter table t5 drop partition p0;
 alter table t6 drop partition p0;
 select * from t1 order by col1;
 col1
-15.6540
+15
 select * from t2 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t3 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t4 order by colint;
 colint	col1
-60	13.3450
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t5 order by colint;
 colint	col1
-60	13.3450
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t6 order by colint;
 colint	col1
-60	13.3450
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 -------------------------------------------------------------------------
----  Delete rows and partitions of tables with cast(ceiling(col1) as signed integer)
+---  Delete rows and partitions of tables with ceiling(col1)
 -------------------------------------------------------------------------
-delete from t11 where col1=13.345;
-delete from t22 where col1=13.345;
-delete from t33 where col1=13.345;
-delete from t44 where col1=13.345;
-delete from t55 where col1=13.345;
-delete from t66 where col1=13.345;
+delete from t11 where col1=13 ;
+delete from t22 where col1=13 ;
+delete from t33 where col1=13 ;
+delete from t44 where col1=13 ;
+delete from t55 where col1=13 ;
+delete from t66 where col1=13 ;
 select * from t11 order by col1;
 col1
-15.6540
+15
 select * from t22 order by col1;
 col1
-15.6540
-17.9870
+15
+17
 select * from t33 order by col1;
 col1
-15.6540
-17.9870
+15
+17
 select * from t44 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t55 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-insert into t11 values (13.345);
-insert into t22 values (13.345);
-insert into t33 values (13.345);
-insert into t44 values (60,13.345);
-insert into t55 values (60,13.345);
-insert into t66 values (60,13.345);
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+insert into t11 values (13 );
+insert into t22 values (13 );
+insert into t33 values (13 );
+insert into t44 values (60,13 );
+insert into t55 values (60,13 );
+insert into t66 values (60,13 );
 select * from t11 order by col1;
 col1
-13.3450
-15.6540
+13
+15
 select * from t22 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t33 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t44 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-60	13.3450
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t55 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-60	13.3450
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t66 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-60	13.3450
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 alter table t11 drop partition p0;
 alter table t22 drop partition p0;
 alter table t44 drop partition p0;
@@ -2637,26 +3218,123 @@ alter table t55 drop partition p0;
 alter table t66 drop partition p0;
 select * from t11 order by col1;
 col1
-15.6540
+15
 select * from t22 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t33 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t44 order by colint;
 colint	col1
-60	13.3450
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t55 order by colint;
 colint	col1
-60	13.3450
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t66 order by colint;
 colint	col1
-60	13.3450
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 -------------------------
 ---- some alter table end
 -------------------------
@@ -2673,7 +3351,7 @@ drop table if exists t44 ;
 drop table if exists t55 ;
 drop table if exists t66 ;
 -------------------------------------------------------------------------
----  cast(floor(col1) as signed)  in partition with coltype  float(7,4)
+---  floor(col1)  in partition with coltype  int
 -------------------------------------------------------------------------
 drop table if exists t1 ;
 drop table if exists t2 ;
@@ -2682,14 +3360,14 @@ drop table if exists t4 ;
 drop table if exists t5 ;
 drop table if exists t6 ;
 -------------------------------------------------------------------------
----  Create tables with cast(floor(col1) as signed)
+---  Create tables with floor(col1)
 -------------------------------------------------------------------------
-create table t1 (col1 float(7,4)) engine='INNODB' 
-partition by range(cast(floor(col1) as signed)) 
+create table t1 (col1 int) engine='INNODB' 
+partition by range(floor(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than maxvalue);
-create table t2 (col1 float(7,4)) engine='INNODB' 
-partition by list(cast(floor(col1) as signed)) 
+create table t2 (col1 int) engine='INNODB' 
+partition by list(floor(col1)) 
 (partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30),
@@ -2697,16 +3375,16 @@ partition p3 values in (31,32,33,34,35,3
 partition p4 values in (41,42,43,44,45,46,47,48,49,50),
 partition p5 values in (51,52,53,54,55,56,57,58,59,60)
 );
-create table t3 (col1 float(7,4)) engine='INNODB' 
-partition by hash(cast(floor(col1) as signed));
-create table t4 (colint int, col1 float(7,4)) engine='INNODB' 
+create table t3 (col1 int) engine='INNODB' 
+partition by hash(floor(col1));
+create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
-subpartition by hash(cast(floor(col1) as signed)) subpartitions 2 
+subpartition by hash(floor(col1)) subpartitions 2 
 (partition p0 values less than (15),
 partition p1 values less than maxvalue);
-create table t5 (colint int, col1 float(7,4)) engine='INNODB' 
+create table t5 (colint int, col1 int) engine='INNODB' 
 partition by list(colint)
-subpartition by hash(cast(floor(col1) as signed)) subpartitions 2 
+subpartition by hash(floor(col1)) subpartitions 2 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30),
@@ -2714,100 +3392,346 @@ partition p3 values in (31,32,33,34,35,3
 partition p4 values in (41,42,43,44,45,46,47,48,49,50),
 partition p5 values in (51,52,53,54,55,56,57,58,59,60)
 );
-create table t6 (colint int, col1 float(7,4)) engine='INNODB' 
+create table t6 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
-(partition p0 values less than (cast(floor(15.123) as signed)),
+(partition p0 values less than (floor(15)),
 partition p1 values less than maxvalue);
 -------------------------------------------------------------------------
----  Access tables with cast(floor(col1) as signed) 
+---  Access tables with floor(col1) 
 -------------------------------------------------------------------------
-insert into t1 values (5.1230);
-insert into t1 values (13.345);
-insert into t2 values (5.1230);
-insert into t2 values (13.345);
-insert into t2 values (17.987);
-insert into t3 values (5.1230);
-insert into t3 values (13.345);
-insert into t3 values (17.987);
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t6;
-select cast(floor(col1) as signed) from t1 order by col1;
-cast(floor(col1) as signed)
+insert into t1 values (5 );
+insert into t1 values (13 );
+insert into t2 values (5 );
+insert into t2 values (13 );
+insert into t2 values (17 );
+insert into t3 values (5 );
+insert into t3 values (13 );
+insert into t3 values (17 );
+load data infile 'MYSQLTEST_VARDIR/tmp/part_supported_sql_funcs_int_int.inc' into table t4;
+load data infile 'MYSQLTEST_VARDIR/tmp/part_supported_sql_funcs_int_int.inc' into table t5;
+load data infile 'MYSQLTEST_VARDIR/tmp/part_supported_sql_funcs_int_int.inc' into table t6;
+select floor(col1) from t1 order by col1;
+floor(col1)
 5
 13
 select * from t1 order by col1;
 col1
-5.1230
-13.3450
+5
+13
 select * from t2 order by col1;
 col1
-5.1230
-13.3450
-17.9870
+5
+13
+17
 select * from t3 order by col1;
 col1
-5.1230
-13.3450
-17.9870
+5
+13
+17
 select * from t4 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	5
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	5
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t5 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	5
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	5
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t6 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
-update t1 set col1=15.654  where col1=5.1230;
-update t2 set col1=15.654  where col1=5.1230;
-update t3 set col1=15.654  where col1=5.1230;
-update t4 set col1=15.654  where col1=5.1230;
-update t5 set col1=15.654  where col1=5.1230;
-update t6 set col1=15.654  where col1=5.1230;
+1	5
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	5
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+update t1 set col1=15  where col1=5 ;
+update t2 set col1=15  where col1=5 ;
+update t3 set col1=15  where col1=5 ;
+update t4 set col1=15  where col1=5 ;
+update t5 set col1=15  where col1=5 ;
+update t6 set col1=15  where col1=5 ;
 select * from t1 order by col1;
 col1
-13.3450
-15.6540
+13
+15
 select * from t2 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t3 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t4 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t5 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t6 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 -------------------------------------------------------------------------
----  Alter tables with cast(floor(col1) as signed)
+---  Alter tables with floor(col1)
 -------------------------------------------------------------------------
 drop table if exists t11 ;
 drop table if exists t22 ;
@@ -2822,11 +3746,11 @@ create table t44 engine='INNODB' as sele
 create table t55 engine='INNODB' as select * from t5;
 create table t66 engine='INNODB' as select * from t6;
 alter table t11
-partition by range(cast(floor(col1) as signed)) 
+partition by range(floor(col1)) 
 (partition p0 values less than (15),
 partition p1 values less than maxvalue);
 alter table t22
-partition by list(cast(floor(col1) as signed)) 
+partition by list(floor(col1)) 
 (partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30),
@@ -2835,15 +3759,15 @@ partition p4 values in (41,42,43,44,45,4
 partition p5 values in (51,52,53,54,55,56,57,58,59,60)
 );
 alter table t33
-partition by hash(cast(floor(col1) as signed));
+partition by hash(floor(col1));
 alter table t44
 partition by range(colint) 
-subpartition by hash(cast(floor(col1) as signed)) subpartitions 2 
+subpartition by hash(floor(col1)) subpartitions 2 
 (partition p0 values less than (15),
 partition p1 values less than maxvalue);
 alter table t55
 partition by list(colint)
-subpartition by hash(cast(floor(col1) as signed)) subpartitions 2 
+subpartition by hash(floor(col1)) subpartitions 2 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30),
@@ -2853,40 +3777,163 @@ partition p5 values in (51,52,53,54,55,5
 );
 alter table t66
 partition by range(colint) 
-(partition p0 values less than (cast(floor(15.123) as signed)),
+(partition p0 values less than (floor(15)),
 partition p1 values less than maxvalue);
 select * from t11 order by col1;
 col1
-13.3450
-15.6540
+13
+15
 select * from t22 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t33 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t44 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t55 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t66 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 ---------------------------
 ---- some alter table begin
 ---------------------------
@@ -2895,19 +3942,19 @@ reorganize partition p0,p1 into
 (partition s1 values less than maxvalue);
 select * from t11 order by col1;
 col1
-13.3450
-15.6540
+13
+15
 alter table t11
 reorganize partition s1 into
 (partition p0 values less than (15),
 partition p1 values less than maxvalue);
 select * from t11 order by col1;
 col1
-13.3450
-15.6540
+13
+15
 alter table t55
 partition by list(colint)
-subpartition by hash(cast(floor(col1) as signed)) subpartitions 5 
+subpartition by hash(floor(col1)) subpartitions 5 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30),
@@ -2919,120 +3966,530 @@ show create table t55;
 Table	Create Table
 t55	CREATE TABLE `t55` (
   `colint` int(11) DEFAULT NULL,
-  `col1` float(7,4) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (cast(floor(col1) as signed)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */
+  `col1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (floor(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */
 select * from t55 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 alter table t66
 reorganize partition p0,p1 into
 (partition s1 values less than maxvalue);
 select * from t66 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 alter table t66
 reorganize partition s1 into
-(partition p0 values less than (cast(floor(15.123) as signed)),
+(partition p0 values less than (floor(15)),
 partition p1 values less than maxvalue);
 select * from t66 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 alter table t66
 reorganize partition p0,p1 into
 (partition s1 values less than maxvalue);
 select * from t66 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 alter table t66
 reorganize partition s1 into
-(partition p0 values less than (cast(floor(15.123) as signed)),
+(partition p0 values less than (floor(15)),
 partition p1 values less than maxvalue);
 select * from t66 order by colint;
 colint	col1
-1	15.6540
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 -------------------------------------------------------------------------
----  Delete rows and partitions of tables with cast(floor(col1) as signed)
+---  Delete rows and partitions of tables with floor(col1)
 -------------------------------------------------------------------------
-delete from t1 where col1=13.345;
-delete from t2 where col1=13.345;
-delete from t3 where col1=13.345;
-delete from t4 where col1=13.345;
-delete from t5 where col1=13.345;
-delete from t6 where col1=13.345;
+delete from t1 where col1=13 ;
+delete from t2 where col1=13 ;
+delete from t3 where col1=13 ;
+delete from t4 where col1=13 ;
+delete from t5 where col1=13 ;
+delete from t6 where col1=13 ;
 select * from t1 order by col1;
 col1
-15.6540
+15
 select * from t2 order by col1;
 col1
-15.6540
-17.9870
+15
+17
 select * from t3 order by col1;
 col1
-15.6540
-17.9870
+15
+17
 select * from t4 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t5 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-insert into t1 values (13.345);
-insert into t2 values (13.345);
-insert into t3 values (13.345);
-insert into t4 values (60,13.345);
-insert into t5 values (60,13.345);
-insert into t6 values (60,13.345);
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+insert into t1 values (13 );
+insert into t2 values (13 );
+insert into t3 values (13 );
+insert into t4 values (60,13 );
+insert into t5 values (60,13 );
+insert into t6 values (60,13 );
 select * from t1 order by col1;
 col1
-13.3450
-15.6540
+13
+15
 select * from t2 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t3 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t4 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-60	13.3450
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t5 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-60	13.3450
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t6 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-60	13.3450
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 alter table t1 drop partition p0;
 alter table t2 drop partition p0;
 alter table t4 drop partition p0;
@@ -3040,94 +4497,396 @@ alter table t5 drop partition p0;
 alter table t6 drop partition p0;
 select * from t1 order by col1;
 col1
-15.6540
+15
 select * from t2 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t3 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t4 order by colint;
 colint	col1
-60	13.3450
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t5 order by colint;
 colint	col1
-60	13.3450
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t6 order by colint;
 colint	col1
-60	13.3450
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 -------------------------------------------------------------------------
----  Delete rows and partitions of tables with cast(floor(col1) as signed)
+---  Delete rows and partitions of tables with floor(col1)
 -------------------------------------------------------------------------
-delete from t11 where col1=13.345;
-delete from t22 where col1=13.345;
-delete from t33 where col1=13.345;
-delete from t44 where col1=13.345;
-delete from t55 where col1=13.345;
-delete from t66 where col1=13.345;
+delete from t11 where col1=13 ;
+delete from t22 where col1=13 ;
+delete from t33 where col1=13 ;
+delete from t44 where col1=13 ;
+delete from t55 where col1=13 ;
+delete from t66 where col1=13 ;
 select * from t11 order by col1;
 col1
-15.6540
+15
 select * from t22 order by col1;
 col1
-15.6540
-17.9870
+15
+17
 select * from t33 order by col1;
 col1
-15.6540
-17.9870
+15
+17
 select * from t44 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t55 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-insert into t11 values (13.345);
-insert into t22 values (13.345);
-insert into t33 values (13.345);
-insert into t44 values (60,13.345);
-insert into t55 values (60,13.345);
-insert into t66 values (60,13.345);
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+insert into t11 values (13 );
+insert into t22 values (13 );
+insert into t33 values (13 );
+insert into t44 values (60,13 );
+insert into t55 values (60,13 );
+insert into t66 values (60,13 );
 select * from t11 order by col1;
 col1
-13.3450
-15.6540
+13
+15
 select * from t22 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t33 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t44 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-60	13.3450
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t55 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-60	13.3450
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t66 order by colint;
 colint	col1
-1	15.6540
-3	17.9870
-4	15.6540
-60	13.3450
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 alter table t11 drop partition p0;
 alter table t22 drop partition p0;
 alter table t44 drop partition p0;
@@ -3135,26 +4894,123 @@ alter table t55 drop partition p0;
 alter table t66 drop partition p0;
 select * from t11 order by col1;
 col1
-15.6540
+15
 select * from t22 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t33 order by col1;
 col1
-13.3450
-15.6540
-17.9870
+13
+15
+17
 select * from t44 order by colint;
 colint	col1
-60	13.3450
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t55 order by colint;
 colint	col1
-60	13.3450
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t66 order by colint;
 colint	col1
-60	13.3450
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 -------------------------
 ---- some alter table end
 -------------------------
@@ -3171,7 +5027,7 @@ drop table if exists t44 ;
 drop table if exists t55 ;
 drop table if exists t66 ;
 -------------------------------------------------------------------------
----  cast(mod(col1,10) as signed)  in partition with coltype  float(7,4)
+---  mod(col1,10)  in partition with coltype  int
 -------------------------------------------------------------------------
 drop table if exists t1 ;
 drop table if exists t2 ;
@@ -3180,14 +5036,14 @@ drop table if exists t4 ;
 drop table if exists t5 ;
 drop table if exists t6 ;
 -------------------------------------------------------------------------
----  Create tables with cast(mod(col1,10) as signed)
+---  Create tables with mod(col1,10)
 -------------------------------------------------------------------------
-create table t1 (col1 float(7,4)) engine='INNODB' 
-partition by range(cast(mod(col1,10) as signed)) 
+create table t1 (col1 int) engine='INNODB' 
+partition by range(mod(col1,10)) 
 (partition p0 values less than (15),
 partition p1 values less than maxvalue);
-create table t2 (col1 float(7,4)) engine='INNODB' 
-partition by list(cast(mod(col1,10) as signed)) 
+create table t2 (col1 int) engine='INNODB' 
+partition by list(mod(col1,10)) 
 (partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30),
@@ -3195,16 +5051,16 @@ partition p3 values in (31,32,33,34,35,3
 partition p4 values in (41,42,43,44,45,46,47,48,49,50),
 partition p5 values in (51,52,53,54,55,56,57,58,59,60)
 );
-create table t3 (col1 float(7,4)) engine='INNODB' 
-partition by hash(cast(mod(col1,10) as signed));
-create table t4 (colint int, col1 float(7,4)) engine='INNODB' 
+create table t3 (col1 int) engine='INNODB' 
+partition by hash(mod(col1,10));
+create table t4 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
-subpartition by hash(cast(mod(col1,10) as signed)) subpartitions 2 
+subpartition by hash(mod(col1,10)) subpartitions 2 
 (partition p0 values less than (15),
 partition p1 values less than maxvalue);
-create table t5 (colint int, col1 float(7,4)) engine='INNODB' 
+create table t5 (colint int, col1 int) engine='INNODB' 
 partition by list(colint)
-subpartition by hash(cast(mod(col1,10) as signed)) subpartitions 2 
+subpartition by hash(mod(col1,10)) subpartitions 2 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30),
@@ -3212,100 +5068,346 @@ partition p3 values in (31,32,33,34,35,3
 partition p4 values in (41,42,43,44,45,46,47,48,49,50),
 partition p5 values in (51,52,53,54,55,56,57,58,59,60)
 );
-create table t6 (colint int, col1 float(7,4)) engine='INNODB' 
+create table t6 (colint int, col1 int) engine='INNODB' 
 partition by range(colint) 
-(partition p0 values less than (cast(mod(15,10) as signed)),
+(partition p0 values less than (mod(15,10)),
 partition p1 values less than maxvalue);
 -------------------------------------------------------------------------
----  Access tables with cast(mod(col1,10) as signed) 
+---  Access tables with mod(col1,10) 
 -------------------------------------------------------------------------
-insert into t1 values (5.0000);
-insert into t1 values (19);
-insert into t2 values (5.0000);
-insert into t2 values (19);
-insert into t2 values (17);
-insert into t3 values (5.0000);
-insert into t3 values (19);
-insert into t3 values (17);
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t6;
-select cast(mod(col1,10) as signed) from t1 order by col1;
-cast(mod(col1,10) as signed)
+insert into t1 values (5 );
+insert into t1 values (13 );
+insert into t2 values (5 );
+insert into t2 values (13 );
+insert into t2 values (17 );
+insert into t3 values (5 );
+insert into t3 values (13 );
+insert into t3 values (17 );
+load data infile 'MYSQLTEST_VARDIR/tmp/part_supported_sql_funcs_int_int.inc' into table t4;
+load data infile 'MYSQLTEST_VARDIR/tmp/part_supported_sql_funcs_int_int.inc' into table t5;
+load data infile 'MYSQLTEST_VARDIR/tmp/part_supported_sql_funcs_int_int.inc' into table t6;
+select mod(col1,10) from t1 order by col1;
+mod(col1,10)
 5
-9
+3
 select * from t1 order by col1;
 col1
-5.0000
-19.0000
+5
+13
 select * from t2 order by col1;
 col1
-5.0000
-17.0000
-19.0000
+5
+13
+17
 select * from t3 order by col1;
 col1
-5.0000
-17.0000
-19.0000
+5
+13
+17
 select * from t4 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	5
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	5
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t5 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	5
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	5
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t6 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
-update t1 set col1=15  where col1=5.0000;
-update t2 set col1=15  where col1=5.0000;
-update t3 set col1=15  where col1=5.0000;
-update t4 set col1=15  where col1=5.0000;
-update t5 set col1=15  where col1=5.0000;
-update t6 set col1=15  where col1=5.0000;
+1	5
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	5
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+update t1 set col1=15  where col1=5 ;
+update t2 set col1=15  where col1=5 ;
+update t3 set col1=15  where col1=5 ;
+update t4 set col1=15  where col1=5 ;
+update t5 set col1=15  where col1=5 ;
+update t6 set col1=15  where col1=5 ;
 select * from t1 order by col1;
 col1
-15.0000
-19.0000
+13
+15
 select * from t2 order by col1;
 col1
-15.0000
-17.0000
-19.0000
+13
+15
+17
 select * from t3 order by col1;
 col1
-15.0000
-17.0000
-19.0000
+13
+15
+17
 select * from t4 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t5 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t6 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 -------------------------------------------------------------------------
----  Alter tables with cast(mod(col1,10) as signed)
+---  Alter tables with mod(col1,10)
 -------------------------------------------------------------------------
 drop table if exists t11 ;
 drop table if exists t22 ;
@@ -3320,11 +5422,11 @@ create table t44 engine='INNODB' as sele
 create table t55 engine='INNODB' as select * from t5;
 create table t66 engine='INNODB' as select * from t6;
 alter table t11
-partition by range(cast(mod(col1,10) as signed)) 
+partition by range(mod(col1,10)) 
 (partition p0 values less than (15),
 partition p1 values less than maxvalue);
 alter table t22
-partition by list(cast(mod(col1,10) as signed)) 
+partition by list(mod(col1,10)) 
 (partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30),
@@ -3333,15 +5435,15 @@ partition p4 values in (41,42,43,44,45,4
 partition p5 values in (51,52,53,54,55,56,57,58,59,60)
 );
 alter table t33
-partition by hash(cast(mod(col1,10) as signed));
+partition by hash(mod(col1,10));
 alter table t44
 partition by range(colint) 
-subpartition by hash(cast(mod(col1,10) as signed)) subpartitions 2 
+subpartition by hash(mod(col1,10)) subpartitions 2 
 (partition p0 values less than (15),
 partition p1 values less than maxvalue);
 alter table t55
 partition by list(colint)
-subpartition by hash(cast(mod(col1,10) as signed)) subpartitions 2 
+subpartition by hash(mod(col1,10)) subpartitions 2 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30),
@@ -3351,40 +5453,163 @@ partition p5 values in (51,52,53,54,55,5
 );
 alter table t66
 partition by range(colint) 
-(partition p0 values less than (cast(mod(15,10) as signed)),
+(partition p0 values less than (mod(15,10)),
 partition p1 values less than maxvalue);
 select * from t11 order by col1;
 col1
-15.0000
-19.0000
+13
+15
 select * from t22 order by col1;
 col1
-15.0000
-17.0000
-19.0000
+13
+15
+17
 select * from t33 order by col1;
 col1
-15.0000
-17.0000
-19.0000
+13
+15
+17
 select * from t44 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t55 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t66 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 ---------------------------
 ---- some alter table begin
 ---------------------------
@@ -3393,19 +5618,19 @@ reorganize partition p0,p1 into
 (partition s1 values less than maxvalue);
 select * from t11 order by col1;
 col1
-15.0000
-19.0000
+13
+15
 alter table t11
 reorganize partition s1 into
 (partition p0 values less than (15),
 partition p1 values less than maxvalue);
 select * from t11 order by col1;
 col1
-15.0000
-19.0000
+13
+15
 alter table t55
 partition by list(colint)
-subpartition by hash(cast(mod(col1,10) as signed)) subpartitions 5 
+subpartition by hash(mod(col1,10)) subpartitions 5 
 (partition p0 values in (1,2,3,4,5,6,7,8,9,10),
 partition p1 values in (11,12,13,14,15,16,17,18,19,20),
 partition p2 values in (21,22,23,24,25,26,27,28,29,30),
@@ -3417,125 +5642,530 @@ show create table t55;
 Table	Create Table
 t55	CREATE TABLE `t55` (
   `colint` int(11) DEFAULT NULL,
-  `col1` float(7,4) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (cast(mod(col1,10) as signed)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */
+  `col1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (mod(col1,10)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */
 select * from t55 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 alter table t66
 reorganize partition p0,p1 into
 (partition s1 values less than maxvalue);
 select * from t66 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 alter table t66
 reorganize partition s1 into
-(partition p0 values less than (cast(mod(15,10) as signed)),
+(partition p0 values less than (mod(15,10)),
 partition p1 values less than maxvalue);
 select * from t66 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 alter table t66
 reorganize partition p0,p1 into
 (partition s1 values less than maxvalue);
 select * from t66 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 alter table t66
 reorganize partition s1 into
-(partition p0 values less than (cast(mod(15,10) as signed)),
+(partition p0 values less than (mod(15,10)),
 partition p1 values less than maxvalue);
 select * from t66 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+2	13
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 -------------------------------------------------------------------------
----  Delete rows and partitions of tables with cast(mod(col1,10) as signed)
+---  Delete rows and partitions of tables with mod(col1,10)
 -------------------------------------------------------------------------
-delete from t1 where col1=19;
-delete from t2 where col1=19;
-delete from t3 where col1=19;
-delete from t4 where col1=19;
-delete from t5 where col1=19;
-delete from t6 where col1=19;
+delete from t1 where col1=13 ;
+delete from t2 where col1=13 ;
+delete from t3 where col1=13 ;
+delete from t4 where col1=13 ;
+delete from t5 where col1=13 ;
+delete from t6 where col1=13 ;
 select * from t1 order by col1;
 col1
-15.0000
+15
 select * from t2 order by col1;
 col1
-15.0000
-17.0000
+15
+17
 select * from t3 order by col1;
 col1
-15.0000
-17.0000
+15
+17
 select * from t4 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t5 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
-insert into t1 values (19);
-insert into t2 values (19);
-insert into t3 values (19);
-insert into t4 values (60,19);
-insert into t5 values (60,19);
-insert into t6 values (60,19);
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+insert into t1 values (13 );
+insert into t2 values (13 );
+insert into t3 values (13 );
+insert into t4 values (60,13 );
+insert into t5 values (60,13 );
+insert into t6 values (60,13 );
 select * from t1 order by col1;
 col1
-15.0000
-19.0000
+13
+15
 select * from t2 order by col1;
 col1
-15.0000
-17.0000
-19.0000
+13
+15
+17
 select * from t3 order by col1;
 col1
-15.0000
-17.0000
-19.0000
+13
+15
+17
 select * from t4 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
-60	19.0000
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t5 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
-60	19.0000
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t6 order by colint;
 colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
-60	19.0000
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 alter table t1 drop partition p0;
 alter table t2 drop partition p0;
 alter table t4 drop partition p0;
@@ -3547,585 +6177,398 @@ select * from t2 order by col1;
 col1
 select * from t3 order by col1;
 col1
-15.0000
-17.0000
-19.0000
+13
+15
+17
 select * from t4 order by colint;
 colint	col1
-60	19.0000
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t5 order by colint;
 colint	col1
-60	19.0000
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 select * from t6 order by colint;
 colint	col1
-60	19.0000
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
+60	13
 -------------------------------------------------------------------------
----  Delete rows and partitions of tables with cast(mod(col1,10) as signed)
+---  Delete rows and partitions of tables with mod(col1,10)
 -------------------------------------------------------------------------
-delete from t11 where col1=19;
-delete from t22 where col1=19;
-delete from t33 where col1=19;
-delete from t44 where col1=19;
-delete from t55 where col1=19;
-delete from t66 where col1=19;
-select * from t11 order by col1;
-col1
-15.0000
-select * from t22 order by col1;
-col1
-15.0000
-17.0000
-select * from t33 order by col1;
-col1
-15.0000
-17.0000
-select * from t44 order by colint;
-colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
-select * from t55 order by colint;
-colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
-insert into t11 values (19);
-insert into t22 values (19);
-insert into t33 values (19);
-insert into t44 values (60,19);
-insert into t55 values (60,19);
-insert into t66 values (60,19);
-select * from t11 order by col1;
-col1
-15.0000
-19.0000
-select * from t22 order by col1;
-col1
-15.0000
-17.0000
-19.0000
-select * from t33 order by col1;
-col1
-15.0000
-17.0000
-19.0000
-select * from t44 order by colint;
-colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
-60	19.0000
-select * from t55 order by colint;
-colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
-60	19.0000
-select * from t66 order by colint;
-colint	col1
-1	5.1230
-2	13.3450
-3	17.9870
-4	15.6540
-60	19.0000
-alter table t11 drop partition p0;
-alter table t22 drop partition p0;
-alter table t44 drop partition p0;
-alter table t55 drop partition p0;
-alter table t66 drop partition p0;
+delete from t11 where col1=13 ;
+delete from t22 where col1=13 ;
+delete from t33 where col1=13 ;
+delete from t44 where col1=13 ;
+delete from t55 where col1=13 ;
+delete from t66 where col1=13 ;
 select * from t11 order by col1;
 col1
+15
 select * from t22 order by col1;
 col1
+15
+17
 select * from t33 order by col1;
 col1
-15.0000
-17.0000
-19.0000
+15
+17
 select * from t44 order by colint;
 colint	col1
-60	19.0000
+1	15
+3	15
+4	17
+5	23
+6	34
+7	56
+8	56
+9	45
+10	34
+11	78
+12	89
+13	67
+14	46
+15	34
+16	324
+17	345
+18	34
+19	78
+20	567
+21	4
+22	435
+23	34
+24	45
+25	4565
+26	4
+27	3
+28	2
+29	3
+30	15
+31	6
+32	8
+33	9
+34	745
+35	34
+36	34
+37	324
+38	67
+39	78
+40	89
+41	90
+42	78967
+50	56
+51	34
+55	123
 select * from t55 order by colint;
 colint	col1
-60	19.0000
-select * from t66 order by colint;
-colint	col1
-60	19.0000
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
----  ord(col1)  in partition with coltype  char(3)
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
----  Create tables with ord(col1)
--------------------------------------------------------------------------
-create table t1 (col1 char(3)) engine='INNODB' 
-partition by range(ord(col1)) 
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 char(3)) engine='INNODB' 
-partition by list(ord(col1)) 
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 char(3)) engine='INNODB' 
-partition by hash(ord(col1));
-create table t4 (colint int, col1 char(3)) engine='INNODB' 
-partition by range(colint) 
-subpartition by hash(ord(col1)) subpartitions 2 
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 char(3)) engine='INNODB' 
-partition by list(colint)
-subpartition by hash(ord(col1)) subpartitions 2 
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 char(3)) engine='INNODB' 
-partition by range(colint) 
-(partition p0 values less than (ord('a')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
----  Access tables with ord(col1) 
--------------------------------------------------------------------------
-insert into t1 values ('1');
-insert into t1 values ('9');
-insert into t2 values ('1');
Thread
bk commit into 5.1 tree (hhunger:1.2567) BUG#30316hhunger23 Aug