Adopt latest bison's spelling of 'syntax error' rather than 'parse error'

for grammar-detected problems.  Revert Makefile hack that kept it looking
like the pre-bison-1.875 output.
This commit is contained in:
Tom Lane 2003-05-29 20:40:36 +00:00
parent 268313a95b
commit 9fbd52808e
8 changed files with 47 additions and 47 deletions

View File

@ -1,5 +1,5 @@
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.67 2003/04/10 01:22:45 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.68 2003/05/29 20:40:36 tgl Exp $
--> -->
<sect1 id="xfunc"> <sect1 id="xfunc">
@ -330,7 +330,7 @@ SELECT (new_emp()).name;
<screen> <screen>
SELECT new_emp().name; SELECT new_emp().name;
ERROR: parser: parse error at or near "." ERROR: syntax error at or near "."
</screen> </screen>
</para> </para>

View File

@ -2,7 +2,7 @@
# #
# Makefile for parser # Makefile for parser
# #
# $Header: /cvsroot/pgsql/src/backend/parser/Makefile,v 1.40 2003/02/10 04:44:45 tgl Exp $ # $Header: /cvsroot/pgsql/src/backend/parser/Makefile,v 1.41 2003/05/29 20:40:36 tgl Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
@ -38,17 +38,11 @@ gram.o: $(srcdir)/scan.c
$(srcdir)/gram.c: $(srcdir)/parse.h ; $(srcdir)/gram.c: $(srcdir)/parse.h ;
# The sed hack is so that we can get the same error messages with
# bison 1.875 and later as we did with earlier bisons. Eventually,
# I suppose, we should re-standardize on "syntax error" --- in which
# case flip the sed translation, but don't remove it.
$(srcdir)/parse.h: gram.y $(srcdir)/parse.h: gram.y
ifdef YACC ifdef YACC
$(YACC) -d $(YFLAGS) $< $(YACC) -d $(YFLAGS) $<
sed -e 's/"syntax error/"parse error/' < y.tab.c > $(srcdir)/gram.c mv -f y.tab.c $(srcdir)/gram.c
mv -f y.tab.h $(srcdir)/parse.h mv -f y.tab.h $(srcdir)/parse.h
rm -f y.tab.c
else else
@$(missing) bison $< $@ @$(missing) bison $< $@
endif endif

View File

@ -11,7 +11,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.415 2003/05/28 16:03:57 tgl Exp $ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.416 2003/05/29 20:40:36 tgl Exp $
* *
* HISTORY * HISTORY
* AUTHOR DATE MAJOR EVENT * AUTHOR DATE MAJOR EVENT
@ -4680,7 +4680,7 @@ table_ref: relation_expr
* popular demand, but for now let's just implement * popular demand, but for now let's just implement
* the spec and see if anyone complains. * the spec and see if anyone complains.
* However, it does seem like a good idea to emit * However, it does seem like a good idea to emit
* an error message that's better than "parse error". * an error message that's better than "syntax error".
*/ */
elog(ERROR, "sub-SELECT in FROM must have an alias" elog(ERROR, "sub-SELECT in FROM must have an alias"
"\n\tFor example, FROM (SELECT ...) [AS] foo"); "\n\tFor example, FROM (SELECT ...) [AS] foo");

View File

@ -9,7 +9,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.105 2003/04/27 20:09:44 tgl Exp $ * $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.106 2003/05/29 20:40:36 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -581,13 +581,19 @@ yyerror(const char *message)
cursorpos = pg_mbstrlen_with_len(scanbuf, loc - scanbuf) + 1; cursorpos = pg_mbstrlen_with_len(scanbuf, loc - scanbuf) + 1;
if (*loc == YY_END_OF_BUFFER_CHAR) if (*loc == YY_END_OF_BUFFER_CHAR)
{
/* translator: %s is typically "syntax error" */
ereport(ERROR, ereport(ERROR,
(errmsg("parser: %s at end of input", message), (errmsg("%s at end of input", message),
errposition(cursorpos))); errposition(cursorpos)));
}
else else
{
/* translator: first %s is typically "syntax error" */
ereport(ERROR, ereport(ERROR,
(errmsg("parser: %s at or near \"%s\"", message, loc), (errmsg("%s at or near \"%s\"", message, loc),
errposition(cursorpos))); errposition(cursorpos)));
}
} }

View File

@ -22,13 +22,13 @@ select 1;
-- missing relation name -- missing relation name
select; select;
ERROR: parser: parse error at or near ";" at character 7 ERROR: syntax error at or near ";" at character 7
-- no such relation -- no such relation
select * from nonesuch; select * from nonesuch;
ERROR: Relation "nonesuch" does not exist ERROR: Relation "nonesuch" does not exist
-- missing target list -- missing target list
select from pg_database; select from pg_database;
ERROR: parser: parse error at or near "from" at character 8 ERROR: syntax error at or near "from" at character 8
-- bad name in target list -- bad name in target list
select nonesuch from pg_database; select nonesuch from pg_database;
ERROR: Attribute "nonesuch" not found ERROR: Attribute "nonesuch" not found
@ -40,7 +40,7 @@ select * from pg_database where pg_database.datname = nonesuch;
ERROR: Attribute "nonesuch" not found ERROR: Attribute "nonesuch" not found
-- bad select distinct on syntax, distinct attribute missing -- bad select distinct on syntax, distinct attribute missing
select distinct on (foobar) from pg_database; select distinct on (foobar) from pg_database;
ERROR: parser: parse error at or near "from" at character 29 ERROR: syntax error at or near "from" at character 29
-- bad select distinct on syntax, distinct attribute not in target list -- bad select distinct on syntax, distinct attribute not in target list
select distinct on (foobar) * from pg_database; select distinct on (foobar) * from pg_database;
ERROR: Attribute "foobar" not found ERROR: Attribute "foobar" not found
@ -49,7 +49,7 @@ ERROR: Attribute "foobar" not found
-- missing relation name (this had better not wildcard!) -- missing relation name (this had better not wildcard!)
delete from; delete from;
ERROR: parser: parse error at or near ";" at character 12 ERROR: syntax error at or near ";" at character 12
-- no such relation -- no such relation
delete from nonesuch; delete from nonesuch;
ERROR: Relation "nonesuch" does not exist ERROR: Relation "nonesuch" does not exist
@ -58,7 +58,7 @@ ERROR: Relation "nonesuch" does not exist
-- missing relation name (this had better not wildcard!) -- missing relation name (this had better not wildcard!)
drop table; drop table;
ERROR: parser: parse error at or near ";" at character 11 ERROR: syntax error at or near ";" at character 11
-- no such relation -- no such relation
drop table nonesuch; drop table nonesuch;
ERROR: table "nonesuch" does not exist ERROR: table "nonesuch" does not exist
@ -68,7 +68,7 @@ ERROR: table "nonesuch" does not exist
-- relation renaming -- relation renaming
-- missing relation name -- missing relation name
alter table rename; alter table rename;
ERROR: parser: parse error at or near ";" at character 19 ERROR: syntax error at or near ";" at character 19
-- no such relation -- no such relation
alter table nonesuch rename to newnonesuch; alter table nonesuch rename to newnonesuch;
ERROR: Relation "nonesuch" does not exist ERROR: Relation "nonesuch" does not exist
@ -122,10 +122,10 @@ ERROR: Define: "basetype" unspecified
-- missing index name -- missing index name
drop index; drop index;
ERROR: parser: parse error at or near ";" at character 11 ERROR: syntax error at or near ";" at character 11
-- bad index name -- bad index name
drop index 314159; drop index 314159;
ERROR: parser: parse error at or near "314159" at character 12 ERROR: syntax error at or near "314159" at character 12
-- no such index -- no such index
drop index nonesuch; drop index nonesuch;
ERROR: index "nonesuch" does not exist ERROR: index "nonesuch" does not exist
@ -134,13 +134,13 @@ ERROR: index "nonesuch" does not exist
-- missing aggregate name -- missing aggregate name
drop aggregate; drop aggregate;
ERROR: parser: parse error at or near ";" at character 15 ERROR: syntax error at or near ";" at character 15
-- missing aggregate type -- missing aggregate type
drop aggregate newcnt1; drop aggregate newcnt1;
ERROR: parser: parse error at or near ";" at character 23 ERROR: syntax error at or near ";" at character 23
-- bad aggregate name -- bad aggregate name
drop aggregate 314159 (int); drop aggregate 314159 (int);
ERROR: parser: parse error at or near "314159" at character 16 ERROR: syntax error at or near "314159" at character 16
-- bad aggregate type -- bad aggregate type
drop aggregate newcnt (nonesuch); drop aggregate newcnt (nonesuch);
ERROR: Type "nonesuch" does not exist ERROR: Type "nonesuch" does not exist
@ -155,10 +155,10 @@ ERROR: RemoveAggregate: aggregate newcnt(real) does not exist
-- missing function name -- missing function name
drop function (); drop function ();
ERROR: parser: parse error at or near "(" at character 15 ERROR: syntax error at or near "(" at character 15
-- bad function name -- bad function name
drop function 314159(); drop function 314159();
ERROR: parser: parse error at or near "314159" at character 15 ERROR: syntax error at or near "314159" at character 15
-- no such function -- no such function
drop function nonesuch(); drop function nonesuch();
ERROR: RemoveFunction: function nonesuch() does not exist ERROR: RemoveFunction: function nonesuch() does not exist
@ -167,10 +167,10 @@ ERROR: RemoveFunction: function nonesuch() does not exist
-- missing type name -- missing type name
drop type; drop type;
ERROR: parser: parse error at or near ";" at character 10 ERROR: syntax error at or near ";" at character 10
-- bad type name -- bad type name
drop type 314159; drop type 314159;
ERROR: parser: parse error at or near "314159" at character 11 ERROR: syntax error at or near "314159" at character 11
-- no such type -- no such type
drop type nonesuch; drop type nonesuch;
ERROR: Type "nonesuch" does not exist ERROR: Type "nonesuch" does not exist
@ -179,22 +179,22 @@ ERROR: Type "nonesuch" does not exist
-- missing everything -- missing everything
drop operator; drop operator;
ERROR: parser: parse error at or near ";" at character 14 ERROR: syntax error at or near ";" at character 14
-- bad operator name -- bad operator name
drop operator equals; drop operator equals;
ERROR: parser: parse error at or near ";" at character 21 ERROR: syntax error at or near ";" at character 21
-- missing type list -- missing type list
drop operator ===; drop operator ===;
ERROR: parser: parse error at or near ";" at character 18 ERROR: syntax error at or near ";" at character 18
-- missing parentheses -- missing parentheses
drop operator int4, int4; drop operator int4, int4;
ERROR: parser: parse error at or near "," at character 19 ERROR: syntax error at or near "," at character 19
-- missing operator name -- missing operator name
drop operator (int4, int4); drop operator (int4, int4);
ERROR: parser: parse error at or near "(" at character 15 ERROR: syntax error at or near "(" at character 15
-- missing type list contents -- missing type list contents
drop operator === (); drop operator === ();
ERROR: parser: parse error at or near ")" at character 20 ERROR: syntax error at or near ")" at character 20
-- no such operator -- no such operator
drop operator === (int4); drop operator === (int4);
ERROR: parser: argument type missing (use NONE for unary operators) ERROR: parser: argument type missing (use NONE for unary operators)
@ -206,7 +206,7 @@ drop operator = (nonesuch);
ERROR: parser: argument type missing (use NONE for unary operators) ERROR: parser: argument type missing (use NONE for unary operators)
-- no such type1 -- no such type1
drop operator = ( , int4); drop operator = ( , int4);
ERROR: parser: parse error at or near "," at character 19 ERROR: syntax error at or near "," at character 19
-- no such type1 -- no such type1
drop operator = (nonesuch, int4); drop operator = (nonesuch, int4);
ERROR: Type "nonesuch" does not exist ERROR: Type "nonesuch" does not exist
@ -215,28 +215,28 @@ drop operator = (int4, nonesuch);
ERROR: Type "nonesuch" does not exist ERROR: Type "nonesuch" does not exist
-- no such type2 -- no such type2
drop operator = (int4, ); drop operator = (int4, );
ERROR: parser: parse error at or near ")" at character 24 ERROR: syntax error at or near ")" at character 24
-- --
-- DROP RULE -- DROP RULE
-- missing rule name -- missing rule name
drop rule; drop rule;
ERROR: parser: parse error at or near ";" at character 10 ERROR: syntax error at or near ";" at character 10
-- bad rule name -- bad rule name
drop rule 314159; drop rule 314159;
ERROR: parser: parse error at or near "314159" at character 11 ERROR: syntax error at or near "314159" at character 11
-- no such rule -- no such rule
drop rule nonesuch on noplace; drop rule nonesuch on noplace;
ERROR: Relation "noplace" does not exist ERROR: Relation "noplace" does not exist
-- bad keyword -- bad keyword
drop tuple rule nonesuch; drop tuple rule nonesuch;
ERROR: parser: parse error at or near "tuple" at character 6 ERROR: syntax error at or near "tuple" at character 6
-- no such rule -- no such rule
drop instance rule nonesuch on noplace; drop instance rule nonesuch on noplace;
ERROR: parser: parse error at or near "instance" at character 6 ERROR: syntax error at or near "instance" at character 6
-- no such rule -- no such rule
drop rewrite rule nonesuch; drop rewrite rule nonesuch;
ERROR: parser: parse error at or near "rewrite" at character 6 ERROR: syntax error at or near "rewrite" at character 6
-- --
-- Check that division-by-zero is properly caught. -- Check that division-by-zero is properly caught.
-- --

View File

@ -18,7 +18,7 @@ SELECT 'first line'
' - next line' /* this comment is not allowed here */ ' - next line' /* this comment is not allowed here */
' - third line' ' - third line'
AS "Illegal comment within continuation"; AS "Illegal comment within continuation";
ERROR: parser: parse error at or near "' - third line'" at character 75 ERROR: syntax error at or near "' - third line'" at character 75
-- --
-- test conversions between various string types -- test conversions between various string types
-- E021-10 implicit casting among the character data types -- E021-10 implicit casting among the character data types

View File

@ -45,12 +45,12 @@ SELECT '' AS four, * FROM DEFAULTEXPR_TBL;
-- syntax errors -- syntax errors
-- test for extraneous comma -- test for extraneous comma
CREATE TABLE error_tbl (i int DEFAULT (100, )); CREATE TABLE error_tbl (i int DEFAULT (100, ));
ERROR: parser: parse error at or near "," at character 43 ERROR: syntax error at or near "," at character 43
-- this will fail because gram.y uses b_expr not a_expr for defaults, -- this will fail because gram.y uses b_expr not a_expr for defaults,
-- to avoid a shift/reduce conflict that arises from NOT NULL being -- to avoid a shift/reduce conflict that arises from NOT NULL being
-- part of the column definition syntax: -- part of the column definition syntax:
CREATE TABLE error_tbl (b1 bool DEFAULT 1 IN (1, 2)); CREATE TABLE error_tbl (b1 bool DEFAULT 1 IN (1, 2));
ERROR: parser: parse error at or near "IN" at character 43 ERROR: syntax error at or near "IN" at character 43
-- this should work, however: -- this should work, however:
CREATE TABLE error_tbl (b1 bool DEFAULT (1 IN (1, 2))); CREATE TABLE error_tbl (b1 bool DEFAULT (1 IN (1, 2)));
DROP TABLE error_tbl; DROP TABLE error_tbl;

View File

@ -51,7 +51,7 @@ CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql
ERROR: return type mismatch in function: declared to return integer, returns "unknown" ERROR: return type mismatch in function: declared to return integer, returns "unknown"
CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql
AS 'not even SQL'; AS 'not even SQL';
ERROR: parser: parse error at or near "not" at character 1 ERROR: syntax error at or near "not" at character 1
CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql
AS 'SELECT 1, 2, 3;'; AS 'SELECT 1, 2, 3;';
ERROR: function declared to return integer returns multiple columns in final SELECT ERROR: function declared to return integer returns multiple columns in final SELECT