1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Fix for Bug 3481

CREATE statement allowed extra unnecessary commas


mysql-test/r/alias.result:
  Extra comma removed in CREATE statement
mysql-test/r/create.result:
  New test for Bug 3481
mysql-test/r/func_str.result:
  Extra comma removed in CREATE statement
mysql-test/r/rpl_multi_update.result:
  Extra comma removed in CREATE statement
mysql-test/t/alias.test:
  Extra comma removed in CREATE statement
mysql-test/t/create.test:
  New test for bug 3481
mysql-test/t/func_str.test:
  Extra comma removed in CREATE statement
mysql-test/t/rpl_multi_update.test:
  Extra comma removed in CREATE statement
sql/sql_yacc.yy:
  Fix for bug 3481
    No path through the grammar which has no clauses
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
This commit is contained in:
unknown
2004-04-28 16:14:53 +01:00
parent d1214e2c5d
commit 0d07fe42c3
10 changed files with 40 additions and 11 deletions

View File

@ -7,6 +7,7 @@ Miguel@light.local
Sinisa@sinisa.nasamreza.org Sinisa@sinisa.nasamreza.org
ahlentz@co3064164-a.rochd1.qld.optusnet.com.au ahlentz@co3064164-a.rochd1.qld.optusnet.com.au
akishkin@work.mysql.com akishkin@work.mysql.com
antony@ltantony.dsl-verizon.net
arjen@bitbike.com arjen@bitbike.com
arjen@co3064164-a.bitbike.com arjen@co3064164-a.bitbike.com
arjen@fred.bitbike.com arjen@fred.bitbike.com

View File

@ -63,7 +63,7 @@ CREATE TABLE t1 (
AUFNR varchar(12) NOT NULL default '', AUFNR varchar(12) NOT NULL default '',
PLNFL varchar(6) NOT NULL default '', PLNFL varchar(6) NOT NULL default '',
VORNR varchar(4) NOT NULL default '', VORNR varchar(4) NOT NULL default '',
xstatus_vor smallint(5) unsigned NOT NULL default '0', xstatus_vor smallint(5) unsigned NOT NULL default '0'
); );
INSERT INTO t1 VALUES ('40004712','000001','0010',9); INSERT INTO t1 VALUES ('40004712','000001','0010',9);
INSERT INTO t1 VALUES ('40004712','000001','0020',0); INSERT INTO t1 VALUES ('40004712','000001','0020',0);

View File

@ -222,3 +222,9 @@ create database `db1 `;
Incorrect database name 'db1 ' Incorrect database name 'db1 '
create table t1(`a ` int); create table t1(`a ` int);
Incorrect column name 'a ' Incorrect column name 'a '
create table t1 (a int,);
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
create table t1 (a int,,b int);
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'b int)' at line 1
create table t1 (,b int);
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'b int)' at line 1

View File

@ -247,7 +247,7 @@ CREATE TABLE t1 (
wid int(10) unsigned NOT NULL auto_increment, wid int(10) unsigned NOT NULL auto_increment,
data_podp date default NULL, data_podp date default NULL,
status_wnio enum('nowy','podp','real','arch') NOT NULL default 'nowy', status_wnio enum('nowy','podp','real','arch') NOT NULL default 'nowy',
PRIMARY KEY(wid), PRIMARY KEY(wid)
); );
INSERT INTO t1 VALUES (8,NULL,'real'); INSERT INTO t1 VALUES (8,NULL,'real');
INSERT INTO t1 VALUES (9,NULL,'nowy'); INSERT INTO t1 VALUES (9,NULL,'nowy');

View File

@ -7,7 +7,7 @@ slave start;
drop table if exists t1,t2; drop table if exists t1,t2;
CREATE TABLE t1 ( CREATE TABLE t1 (
a int unsigned not null auto_increment primary key, a int unsigned not null auto_increment primary key,
b int unsigned, b int unsigned
) TYPE=MyISAM; ) TYPE=MyISAM;
CREATE TABLE t2 ( CREATE TABLE t2 (
a int unsigned not null auto_increment primary key, a int unsigned not null auto_increment primary key,

View File

@ -71,8 +71,7 @@ CREATE TABLE t1 (
AUFNR varchar(12) NOT NULL default '', AUFNR varchar(12) NOT NULL default '',
PLNFL varchar(6) NOT NULL default '', PLNFL varchar(6) NOT NULL default '',
VORNR varchar(4) NOT NULL default '', VORNR varchar(4) NOT NULL default '',
xstatus_vor smallint(5) unsigned NOT NULL default '0', xstatus_vor smallint(5) unsigned NOT NULL default '0'
); );
INSERT INTO t1 VALUES ('40004712','000001','0010',9); INSERT INTO t1 VALUES ('40004712','000001','0010',9);

View File

@ -191,3 +191,15 @@ create table `t1 `(a int);
create database `db1 `; create database `db1 `;
--error 1166; --error 1166;
create table t1(`a ` int); create table t1(`a ` int);
#
# Test for Bug #3481
# "Parser permits multiple commas without syntax error"
#
--error 1064
create table t1 (a int,);
--error 1064
create table t1 (a int,,b int);
--error 1064
create table t1 (,b int);

View File

@ -133,7 +133,7 @@ CREATE TABLE t1 (
wid int(10) unsigned NOT NULL auto_increment, wid int(10) unsigned NOT NULL auto_increment,
data_podp date default NULL, data_podp date default NULL,
status_wnio enum('nowy','podp','real','arch') NOT NULL default 'nowy', status_wnio enum('nowy','podp','real','arch') NOT NULL default 'nowy',
PRIMARY KEY(wid), PRIMARY KEY(wid)
); );
INSERT INTO t1 VALUES (8,NULL,'real'); INSERT INTO t1 VALUES (8,NULL,'real');

View File

@ -3,7 +3,7 @@ drop table if exists t1,t2;
CREATE TABLE t1 ( CREATE TABLE t1 (
a int unsigned not null auto_increment primary key, a int unsigned not null auto_increment primary key,
b int unsigned, b int unsigned
) TYPE=MyISAM; ) TYPE=MyISAM;
CREATE TABLE t2 ( CREATE TABLE t2 (

View File

@ -945,7 +945,7 @@ field_list_item:
; ;
column_def: column_def:
field_spec check_constraint field_spec opt_check_constraint
| field_spec references | field_spec references
{ {
Lex->col_list.empty(); /* Alloced by sql_alloc */ Lex->col_list.empty(); /* Alloced by sql_alloc */
@ -963,20 +963,31 @@ key_def:
{ {
Lex->col_list.empty(); /* Alloced by sql_alloc */ Lex->col_list.empty(); /* Alloced by sql_alloc */
} }
| constraint opt_check_constraint
{
Lex->col_list.empty(); /* Alloced by sql_alloc */
}
| opt_constraint check_constraint | opt_constraint check_constraint
{ {
Lex->col_list.empty(); /* Alloced by sql_alloc */ Lex->col_list.empty(); /* Alloced by sql_alloc */
} }
; ;
check_constraint: opt_check_constraint:
/* empty */ /* empty */
| CHECK_SYM expr | check_constraint
;
check_constraint:
CHECK_SYM expr
; ;
opt_constraint: opt_constraint:
/* empty */ /* empty */
| CONSTRAINT opt_ident; | constraint;
constraint:
CONSTRAINT opt_ident;
field_spec: field_spec:
field_ident field_ident