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:
parent
268313a95b
commit
9fbd52808e
@ -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>
|
||||
|
||||
|
@ -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
|
||||
|
@ -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");
|
||||
|
@ -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)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -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.
|
||||
--
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user