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">
@ -330,7 +330,7 @@ SELECT (new_emp()).name;
<screen>
SELECT new_emp().name;
ERROR: parser: parse error at or near "."
ERROR: syntax error at or near "."
</screen>
</para>

View File

@ -2,7 +2,7 @@
#
# 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 ;
# 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
ifdef YACC
$(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
rm -f y.tab.c
else
@$(missing) bison $< $@
endif

View File

@ -11,7 +11,7 @@
*
*
* 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
* AUTHOR DATE MAJOR EVENT
@ -4680,7 +4680,7 @@ table_ref: relation_expr
* popular demand, but for now let's just implement
* the spec and see if anyone complains.
* 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"
"\n\tFor example, FROM (SELECT ...) [AS] foo");

View File

@ -9,7 +9,7 @@
*
*
* 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;
if (*loc == YY_END_OF_BUFFER_CHAR)
{
/* translator: %s is typically "syntax error" */
ereport(ERROR,
(errmsg("parser: %s at end of input", message),
(errmsg("%s at end of input", message),
errposition(cursorpos)));
}
else
{
/* translator: first %s is typically "syntax error" */
ereport(ERROR,
(errmsg("parser: %s at or near \"%s\"", message, loc),
(errmsg("%s at or near \"%s\"", message, loc),
errposition(cursorpos)));
}
}

View File

@ -22,13 +22,13 @@ select 1;
-- missing relation name
select;
ERROR: parser: parse error at or near ";" at character 7
ERROR: syntax error at or near ";" at character 7
-- no such relation
select * from nonesuch;
ERROR: Relation "nonesuch" does not exist
-- missing target list
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
select nonesuch from pg_database;
ERROR: Attribute "nonesuch" not found
@ -40,7 +40,7 @@ select * from pg_database where pg_database.datname = nonesuch;
ERROR: Attribute "nonesuch" not found
-- bad select distinct on syntax, distinct attribute missing
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
select distinct on (foobar) * from pg_database;
ERROR: Attribute "foobar" not found
@ -49,7 +49,7 @@ ERROR: Attribute "foobar" not found
-- missing relation name (this had better not wildcard!)
delete from;
ERROR: parser: parse error at or near ";" at character 12
ERROR: syntax error at or near ";" at character 12
-- no such relation
delete from nonesuch;
ERROR: Relation "nonesuch" does not exist
@ -58,7 +58,7 @@ ERROR: Relation "nonesuch" does not exist
-- missing relation name (this had better not wildcard!)
drop table;
ERROR: parser: parse error at or near ";" at character 11
ERROR: syntax error at or near ";" at character 11
-- no such relation
drop table nonesuch;
ERROR: table "nonesuch" does not exist
@ -68,7 +68,7 @@ ERROR: table "nonesuch" does not exist
-- relation renaming
-- missing relation name
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
alter table nonesuch rename to newnonesuch;
ERROR: Relation "nonesuch" does not exist
@ -122,10 +122,10 @@ ERROR: Define: "basetype" unspecified
-- missing index name
drop index;
ERROR: parser: parse error at or near ";" at character 11
ERROR: syntax error at or near ";" at character 11
-- bad index name
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
drop index nonesuch;
ERROR: index "nonesuch" does not exist
@ -134,13 +134,13 @@ ERROR: index "nonesuch" does not exist
-- missing aggregate name
drop aggregate;
ERROR: parser: parse error at or near ";" at character 15
ERROR: syntax error at or near ";" at character 15
-- missing aggregate type
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
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
drop aggregate newcnt (nonesuch);
ERROR: Type "nonesuch" does not exist
@ -155,10 +155,10 @@ ERROR: RemoveAggregate: aggregate newcnt(real) does not exist
-- missing function name
drop function ();
ERROR: parser: parse error at or near "(" at character 15
ERROR: syntax error at or near "(" at character 15
-- bad function name
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
drop function nonesuch();
ERROR: RemoveFunction: function nonesuch() does not exist
@ -167,10 +167,10 @@ ERROR: RemoveFunction: function nonesuch() does not exist
-- missing type name
drop type;
ERROR: parser: parse error at or near ";" at character 10
ERROR: syntax error at or near ";" at character 10
-- bad type name
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
drop type nonesuch;
ERROR: Type "nonesuch" does not exist
@ -179,22 +179,22 @@ ERROR: Type "nonesuch" does not exist
-- missing everything
drop operator;
ERROR: parser: parse error at or near ";" at character 14
ERROR: syntax error at or near ";" at character 14
-- bad operator name
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
drop operator ===;
ERROR: parser: parse error at or near ";" at character 18
ERROR: syntax error at or near ";" at character 18
-- missing parentheses
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
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
drop operator === ();
ERROR: parser: parse error at or near ")" at character 20
ERROR: syntax error at or near ")" at character 20
-- no such operator
drop operator === (int4);
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)
-- no such type1
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
drop operator = (nonesuch, int4);
ERROR: Type "nonesuch" does not exist
@ -215,28 +215,28 @@ drop operator = (int4, nonesuch);
ERROR: Type "nonesuch" does not exist
-- no such type2
drop operator = (int4, );
ERROR: parser: parse error at or near ")" at character 24
ERROR: syntax error at or near ")" at character 24
--
-- DROP RULE
-- missing rule name
drop rule;
ERROR: parser: parse error at or near ";" at character 10
ERROR: syntax error at or near ";" at character 10
-- bad rule name
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
drop rule nonesuch on noplace;
ERROR: Relation "noplace" does not exist
-- bad keyword
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
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
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.
--

View File

@ -18,7 +18,7 @@ SELECT 'first line'
' - next line' /* this comment is not allowed here */
' - third line'
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
-- E021-10 implicit casting among the character data types

View File

@ -45,12 +45,12 @@ SELECT '' AS four, * FROM DEFAULTEXPR_TBL;
-- syntax errors
-- test for extraneous comma
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,
-- to avoid a shift/reduce conflict that arises from NOT NULL being
-- part of the column definition syntax:
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:
CREATE TABLE error_tbl (b1 bool DEFAULT (1 IN (1, 2)));
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"
CREATE FUNCTION test1 (int) RETURNS int LANGUAGE 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
AS 'SELECT 1, 2, 3;';
ERROR: function declared to return integer returns multiple columns in final SELECT