mirror of
https://github.com/postgres/postgres.git
synced 2025-05-20 05:13:53 +03:00
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">
|
<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>
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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");
|
||||||
|
@ -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)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -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.
|
||||||
--
|
--
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user