BUG#18752: Also handle NULL values in VALUES LESS THAN

parent b57664b7
...@@ -848,4 +848,8 @@ t1 CREATE TABLE `t1` ( ...@@ -848,4 +848,8 @@ t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (NULL) ENGINE = MyISAM) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (NULL) ENGINE = MyISAM)
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 (a int)
PARTITION BY RANGE(a)
(PARTITION p0 VALUES LESS THAN (NULL));
ERROR 42000: Not allowed to use NULL value in VALUES LESS THAN near '))' at line 3
End of 5.1 tests End of 5.1 tests
...@@ -965,4 +965,9 @@ PARTITION BY LIST (a) ...@@ -965,4 +965,9 @@ PARTITION BY LIST (a)
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
DROP TABLE t1; DROP TABLE t1;
--error 1064
CREATE TABLE t1 (a int)
PARTITION BY RANGE(a)
(PARTITION p0 VALUES LESS THAN (NULL));
--echo End of 5.1 tests --echo End of 5.1 tests
...@@ -5826,3 +5826,6 @@ ER_NDB_CANT_SWITCH_BINLOG_FORMAT ...@@ -5826,3 +5826,6 @@ ER_NDB_CANT_SWITCH_BINLOG_FORMAT
eng "The NDB cluster engine does not support changing the binlog format on the fly yet" eng "The NDB cluster engine does not support changing the binlog format on the fly yet"
ER_PARTITION_NO_TEMPORARY ER_PARTITION_NO_TEMPORARY
eng "Cannot create temporary table with partitions" eng "Cannot create temporary table with partitions"
ER_NULL_IN_VALUES_LESS_THAN
eng "Not allowed to use NULL value in VALUES LESS THAN"
swe "Det r inte tilltet att anvnda NULL-vrden i VALUES LESS THAN"
...@@ -3721,6 +3721,11 @@ part_func_max: ...@@ -3721,6 +3721,11 @@ part_func_max:
yyerror(ER(ER_PARTITION_MAXVALUE_ERROR)); yyerror(ER(ER_PARTITION_MAXVALUE_ERROR));
YYABORT; YYABORT;
} }
if (Lex->part_info->curr_part_elem->has_null_value)
{
yyerror(ER(ER_NULL_IN_VALUES_LESS_THAN));
YYABORT;
}
} }
; ;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment