diff --git a/mysql-test/suite/parts/r/alter_table.result b/mysql-test/suite/parts/r/alter_table.result index 24532a59cc6..9a201caa362 100644 --- a/mysql-test/suite/parts/r/alter_table.result +++ b/mysql-test/suite/parts/r/alter_table.result @@ -366,8 +366,7 @@ drop table validation; create table t (a int primary key); create table tp (a int primary key) partition by range (a) ( partition p0 values less than (100), -# Cunning syntax (same as above) -p1 values less (300)); +p1 values less than (300)); insert into t values (1), (99); insert into tp values (2), (200); select * from t order by a; @@ -486,11 +485,11 @@ a 200 drop prepare validation; drop prepare without_validation; -alter table tp convert table t to partition p2 values less (maxvalue); +alter table tp convert table t to partition p2 values less than (maxvalue); ERROR HY000: Found a row that does not match the partition -alter table tp convert table t to partition p2 values less (maxvalue) with validation; +alter table tp convert table t to partition p2 values less than (maxvalue) with validation; ERROR HY000: Found a row that does not match the partition -alter table tp convert table t to partition p2 values less (maxvalue) without validation; +alter table tp convert table t to partition p2 values less than (maxvalue) without validation; select * from tp partition (p0) order by a; a 2 diff --git a/mysql-test/suite/parts/t/alter_table.test b/mysql-test/suite/parts/t/alter_table.test index c1e6df2840b..892552b2624 100644 --- a/mysql-test/suite/parts/t/alter_table.test +++ b/mysql-test/suite/parts/t/alter_table.test @@ -331,8 +331,7 @@ create table t (a int primary key); create table tp (a int primary key) partition by range (a) ( partition p0 values less than (100), - # Cunning syntax (same as above) - p1 values less (300)); + p1 values less than (300)); insert into t values (1), (99); insert into tp values (2), (200); @@ -407,10 +406,10 @@ drop prepare without_validation; # CONVERT IN --error ER_ROW_DOES_NOT_MATCH_PARTITION -alter table tp convert table t to partition p2 values less (maxvalue); +alter table tp convert table t to partition p2 values less than (maxvalue); --error ER_ROW_DOES_NOT_MATCH_PARTITION -alter table tp convert table t to partition p2 values less (maxvalue) with validation; -alter table tp convert table t to partition p2 values less (maxvalue) without validation; +alter table tp convert table t to partition p2 values less than (maxvalue) with validation; +alter table tp convert table t to partition p2 values less than (maxvalue) without validation; select * from tp partition (p0) order by a; select * from tp partition (p1) order by a; select * from tp partition (p2) order by a; diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index b83d9f21f5d..b01d369bb10 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -4960,10 +4960,6 @@ part_name: } ; -opt_than: - /* empty */ - | THAN_SYM; - opt_part_values: /* empty */ { @@ -4981,7 +4977,7 @@ opt_part_values: else part_info->part_type= HASH_PARTITION; } - | VALUES_LESS_SYM opt_than + | VALUES_LESS_SYM THAN_SYM { LEX *lex= Lex; partition_info *part_info= lex->part_info;