Allow both TIME and TYPE as column and table names.

This commit is contained in:
Thomas G. Lockhart 1997-10-09 05:35:30 +00:00
parent 070d494464
commit 0f66d799a3

View File

@ -10,7 +10,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.54 1997/10/09 05:00:54 thomas Exp $ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.55 1997/10/09 05:35:30 thomas Exp $
* *
* HISTORY * HISTORY
* AUTHOR DATE MAJOR EVENT * AUTHOR DATE MAJOR EVENT
@ -2355,13 +2355,14 @@ typname: txname
* Allow the following parsing categories: * Allow the following parsing categories:
* - strings which are not keywords (Id) * - strings which are not keywords (Id)
* - some explicit SQL/92 data types (e.g. DOUBLE PRECISION) * - some explicit SQL/92 data types (e.g. DOUBLE PRECISION)
* - TIME as an SQL/92 non-reserved word, but parser keyword * - TYPE as an SQL/92 non-reserved word, but parser keyword
* - other date/time strings (e.g. YEAR) * - other date/time strings (e.g. YEAR)
* - thomas 1997-10-08 * - thomas 1997-10-08
*/ */
txname: Id { $$ = $1; } txname: Id { $$ = $1; }
| DateTime { $$ = $1; } | DateTime { $$ = $1; }
| TIME { $$ = xlateSqlType("time"); } | TIME { $$ = xlateSqlType("time"); }
| TYPE_P { $$ = xlateSqlType("type"); }
| INTERVAL interval_opts { $$ = xlateSqlType("interval"); } | INTERVAL interval_opts { $$ = xlateSqlType("interval"); }
| CHARACTER char_type { $$ = $2; } | CHARACTER char_type { $$ = $2; }
| DOUBLE PRECISION { $$ = xlateSqlType("float8"); } | DOUBLE PRECISION { $$ = xlateSqlType("float8"); }
@ -3141,6 +3142,7 @@ index_name: Id { $$ = $1; };
name: Id { $$ = $1; } name: Id { $$ = $1; }
| DateTime { $$ = $1; } | DateTime { $$ = $1; }
| TIME { $$ = xlateSqlType("time"); } | TIME { $$ = xlateSqlType("time"); }
| TYPE_P { $$ = xlateSqlType("type"); }
; ;
date: Sconst { $$ = $1; }; date: Sconst { $$ = $1; };
@ -3190,12 +3192,13 @@ Id: IDENT { $$ = $1; };
/* Column identifier (also used for table identifier) /* Column identifier (also used for table identifier)
* Allow date/time names ("year", etc.) (SQL/92 extension). * Allow date/time names ("year", etc.) (SQL/92 extension).
* Allow TIME (SQL/92 non-reserved word). * Allow TYPE (SQL/92 non-reserved word).
* - thomas 1997-10-08 * - thomas 1997-10-08
*/ */
ColId: Id { $$ = $1; } ColId: Id { $$ = $1; }
| DateTime { $$ = $1; } | DateTime { $$ = $1; }
| TIME { $$ = "time"; } | TIME { $$ = "time"; }
| TYPE_P { $$ = "type"; }
; ;
SpecialRuleRelation: CURRENT SpecialRuleRelation: CURRENT