*** pgsql/src/backend/parser/gram.y 2009/07/13 02:02:20 2.668 --- pgsql/src/backend/parser/gram.y 2009/07/14 20:24:10 2.669 *************** *** 11,17 **** * * * IDENTIFICATION ! * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.667 2009/07/12 17:12:33 tgl Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT --- 11,17 ---- * * * IDENTIFICATION ! * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.668 2009/07/13 02:02:20 tgl Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT *************** static TypeName *TableFuncTypeName(List *** 421,430 **** /* ! * If you make any token changes, update the keyword table in ! * src/include/parser/kwlist.h and add new keywords to the appropriate one of ! * the reserved-or-not-so-reserved keyword lists, below; search ! * this file for "Name classification hierarchy". */ /* ordinary key words in alphabetical order */ --- 421,443 ---- /* ! * Non-keyword token types. These are hard-wired into the "flex" lexer. ! * They must be listed first so that their numeric codes do not depend on ! * the set of keywords. PL/pgsql depends on this so that it can share the ! * same lexer. If you add/change tokens here, fix PL/pgsql to match! ! * ! * DOT_DOT and COLON_EQUALS are unused in the core SQL grammar, and so will ! * always provoke parse errors. They are needed by PL/pgsql. ! */ ! %token IDENT FCONST SCONST BCONST XCONST Op ! %token ICONST PARAM ! %token TYPECAST DOT_DOT COLON_EQUALS ! ! /* ! * If you want to make any keyword changes, update the keyword table in ! * src/include/parser/kwlist.h and add new keywords to the appropriate one ! * of the reserved-or-not-so-reserved keyword lists, below; search ! * this file for "Keyword category lists". */ /* ordinary key words in alphabetical order */ *************** static TypeName *TableFuncTypeName(List *** 515,531 **** ZONE ! /* The grammar thinks these are keywords, but they are not in the kwlist.h * list and so can never be entered directly. The filter in parser.c * creates these tokens when required. */ %token NULLS_FIRST NULLS_LAST WITH_TIME - /* Special token types, not actually keywords - see the "lex" file */ - %token IDENT FCONST SCONST BCONST XCONST Op - %token ICONST PARAM ! /* precedence: lowest to highest */ %nonassoc SET /* see relation_expr_opt_alias */ %left UNION EXCEPT %left INTERSECT --- 528,542 ---- ZONE ! /* ! * The grammar thinks these are keywords, but they are not in the kwlist.h * list and so can never be entered directly. The filter in parser.c * creates these tokens when required. */ %token NULLS_FIRST NULLS_LAST WITH_TIME ! /* Precedence: lowest to highest */ %nonassoc SET /* see relation_expr_opt_alias */ %left UNION EXCEPT %left INTERSECT