mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
MDEV-8659 Conflicting declaration is accepted: INT SIGNED ZEROFILL
don't allow arbitrary combinations of SIGNED/UNSIGNED/ZEROFILL
This commit is contained in:
parent
40eff5e097
commit
87f39bf824
3 changed files with 39 additions and 23 deletions
|
@ -1219,9 +1219,6 @@ Warning 1292 Truncated incorrect INTEGER value: '1E+'
|
|||
Warning 1292 Truncated incorrect DECIMAL value: '1E+'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '1E+'
|
||||
#
|
||||
# End of 10.0 tests
|
||||
#
|
||||
#
|
||||
# Start of 10.1 tests
|
||||
#
|
||||
#
|
||||
|
@ -1247,5 +1244,17 @@ Warning 1292 Truncated incorrect DOUBLE value: ''
|
|||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
#
|
||||
# Start of 10.1 tests
|
||||
# Start of 10.2 tests
|
||||
#
|
||||
CREATE TABLE t1 (a INT SIGNED ZEROFILL);
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ZEROFILL)' at line 1
|
||||
CREATE TABLE t1 (a INT SIGNED UNSIGNED);
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'UNSIGNED)' at line 1
|
||||
CREATE TABLE t1 (a INT ZEROFILL UNSIGNED ZEROFILL);
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ZEROFILL)' at line 1
|
||||
CREATE OR REPLACE TABLE t1 (a INT SIGNED);
|
||||
CREATE OR REPLACE TABLE t1 (a INT UNSIGNED);
|
||||
CREATE OR REPLACE TABLE t1 (a INT ZEROFILL);
|
||||
CREATE OR REPLACE TABLE t1 (a INT UNSIGNED ZEROFILL);
|
||||
CREATE OR REPLACE TABLE t1 (a INT ZEROFILL UNSIGNED);
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -678,10 +678,6 @@ SELECT
|
|||
# CAST('1e1000' AS DOUBLE);
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.0 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # Start of 10.1 tests
|
||||
--echo #
|
||||
|
@ -701,7 +697,25 @@ SELECT NULL+1 AS c0,
|
|||
--disable_metadata
|
||||
--enable_ps_protocol
|
||||
|
||||
--echo #
|
||||
--echo # Start of 10.2 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # Start of 10.1 tests
|
||||
--echo #
|
||||
#
|
||||
# MDEV-8659 Conflicting declaration is accepted: INT SIGNED ZEROFILL
|
||||
#
|
||||
--error ER_PARSE_ERROR
|
||||
CREATE TABLE t1 (a INT SIGNED ZEROFILL);
|
||||
--error ER_PARSE_ERROR
|
||||
CREATE TABLE t1 (a INT SIGNED UNSIGNED);
|
||||
--error ER_PARSE_ERROR
|
||||
CREATE TABLE t1 (a INT ZEROFILL UNSIGNED ZEROFILL);
|
||||
|
||||
# documented syntax:
|
||||
CREATE OR REPLACE TABLE t1 (a INT SIGNED);
|
||||
CREATE OR REPLACE TABLE t1 (a INT UNSIGNED);
|
||||
CREATE OR REPLACE TABLE t1 (a INT ZEROFILL);
|
||||
# not documented, supported for backward compatibility
|
||||
CREATE OR REPLACE TABLE t1 (a INT UNSIGNED ZEROFILL);
|
||||
CREATE OR REPLACE TABLE t1 (a INT ZEROFILL UNSIGNED);
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -1952,8 +1952,8 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
|
|||
procedure_list procedure_list2 procedure_item
|
||||
field_def handler opt_generated_always
|
||||
opt_ignore opt_column opt_restrict
|
||||
grant revoke set lock unlock string_list field_options field_option
|
||||
field_opt_list opt_binary table_lock_list table_lock
|
||||
grant revoke set lock unlock string_list field_options
|
||||
opt_binary table_lock_list table_lock
|
||||
ref_list opt_match_clause opt_on_update_delete use
|
||||
opt_delete_options opt_delete_option varchar nchar nvarchar
|
||||
opt_outer table_list table_name table_alias_ref_list table_alias_ref
|
||||
|
@ -6557,18 +6557,11 @@ precision:
|
|||
|
||||
field_options:
|
||||
/* empty */ {}
|
||||
| field_opt_list {}
|
||||
;
|
||||
|
||||
field_opt_list:
|
||||
field_opt_list field_option {}
|
||||
| field_option {}
|
||||
;
|
||||
|
||||
field_option:
|
||||
SIGNED_SYM {}
|
||||
| SIGNED_SYM {}
|
||||
| UNSIGNED { Lex->last_field->flags|= UNSIGNED_FLAG;}
|
||||
| ZEROFILL { Lex->last_field->flags|= UNSIGNED_FLAG | ZEROFILL_FLAG; }
|
||||
| UNSIGNED ZEROFILL { Lex->last_field->flags|= UNSIGNED_FLAG | ZEROFILL_FLAG; }
|
||||
| ZEROFILL UNSIGNED { Lex->last_field->flags|= UNSIGNED_FLAG | ZEROFILL_FLAG; }
|
||||
;
|
||||
|
||||
field_length:
|
||||
|
|
Loading…
Reference in a new issue