aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2001-01-06 10:50:02 +0000
committerPeter Eisentraut <peter_e@gmx.net>2001-01-06 10:50:02 +0000
commit3ff76734f6cc96cf378a1f1e847ed3bb4722330c (patch)
tree89f52cedd1458165c11e3e272dea9f8a5ce8dac8
parent96bd67f61dac3d383fe775d25213d0c1d3d3a179 (diff)
downloadpostgresql-3ff76734f6cc96cf378a1f1e847ed3bb4722330c.tar.gz
postgresql-3ff76734f6cc96cf378a1f1e847ed3bb4722330c.zip
Simplify the rules that explicitly allowed TYPE as a type name (which is
no longer the case). Add AND and TRAILING to ColLabel. All key words except AS are now at least ColLabel's.
-rw-r--r--src/backend/parser/gram.y19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index bc648fab2e3..82cc5a9d270 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.213 2001/01/05 06:34:18 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.214 2001/01/06 10:50:02 petere Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -252,8 +252,8 @@ static void doNegateFloat(Value *v);
%type <paramno> ParamNo
%type <typnam> Typename, SimpleTypename, ConstTypename
- Generic, Numeric, Geometric, Character, ConstDatetime, ConstInterval, Bit
-%type <str> generic, character, datetime, bit
+ GenericType, Numeric, Geometric, Character, ConstDatetime, ConstInterval, Bit
+%type <str> character, datetime, bit
%type <str> extract_arg
%type <str> opt_charset, opt_collate
%type <str> opt_float
@@ -3845,7 +3845,7 @@ SimpleTypename: ConstTypename
| ConstInterval
;
-ConstTypename: Generic
+ConstTypename: GenericType
| Numeric
| Geometric
| Bit
@@ -3853,7 +3853,7 @@ ConstTypename: Generic
| ConstDatetime
;
-Generic: generic
+GenericType: IDENT
{
$$ = makeNode(TypeName);
$$->name = xlateSqlType($1);
@@ -3861,10 +3861,6 @@ Generic: generic
}
;
-generic: IDENT { $$ = $1; }
- | TYPE_P { $$ = "type"; }
- ;
-
/* SQL92 numeric data types
* Check FLOAT() precision limits assuming IEEE floating types.
* Provide real DECIMAL() and NUMERIC() implementations now - Jan 1998-12-30
@@ -5392,7 +5388,7 @@ UserId: ColId { $$ = $1; };
* list due to shift/reduce conflicts in yacc. If so, move
* down to the ColLabel entity. - thomas 1997-11-06
*/
-ColId: generic { $$ = $1; }
+ColId: IDENT { $$ = $1; }
| datetime { $$ = $1; }
| TokenId { $$ = $1; }
| INTERVAL { $$ = "interval"; }
@@ -5520,6 +5516,7 @@ TokenId: ABSOLUTE { $$ = "absolute"; }
| TRIGGER { $$ = "trigger"; }
| TRUNCATE { $$ = "truncate"; }
| TRUSTED { $$ = "trusted"; }
+ | TYPE_P { $$ = "type"; }
| UNLISTEN { $$ = "unlisten"; }
| UNTIL { $$ = "until"; }
| UPDATE { $$ = "update"; }
@@ -5549,6 +5546,7 @@ ColLabel: ColId { $$ = $1; }
| ALL { $$ = "all"; }
| ANALYSE { $$ = "analyse"; } /* British */
| ANALYZE { $$ = "analyze"; }
+ | AND { $$ = "and"; }
| ANY { $$ = "any"; }
| ASC { $$ = "asc"; }
| BETWEEN { $$ = "between"; }
@@ -5647,6 +5645,7 @@ ColLabel: ColId { $$ = $1; }
| TABLE { $$ = "table"; }
| THEN { $$ = "then"; }
| TO { $$ = "to"; }
+ | TRAILING { $$ = "trailing"; }
| TRANSACTION { $$ = "transaction"; }
| TRIM { $$ = "trim"; }
| TRUE_P { $$ = "true"; }