76 { yylval->kw =
"open";
return OPEN; }
77
78close { yylval->kw = "close"; return XCLOSE; }
79
80create { yylval->kw = "create"; return XCREATE; }
81
82OID { yylval->kw = "OID"; return OBJ_ID; }
83bootstrap { yylval->kw = "bootstrap"; return XBOOTSTRAP; }
84shared_relation { yylval->kw = "shared_relation"; return XSHARED_RELATION; }
85rowtype_oid { yylval->kw = "rowtype_oid"; return XROWTYPE_OID; }
86
87insert { yylval->kw = "insert"; return INSERT_TUPLE; }
88
89_null_ { return NULLVAL; }
90
91"," { return COMMA; }
92"=" { return EQUALS; }
93"(" { return LPAREN; }
94")" { return RPAREN; }
95
96[\n] { yylineno++; }
97[\r\t ] ;
98
99^\#[^\n]* ; /* drop everything after "#" for comments */
100
101declare { yylval->kw = "declare"; return XDECLARE; }
102build { yylval->kw = "build"; return XBUILD; }
103indices { yylval->kw = "indices"; return INDICES; }
104unique { yylval->kw = "unique"; return UNIQUE; }
105index { yylval->kw = "index"; return INDEX; }
106on { yylval->kw = "on"; return ON; }
107using { yylval->kw = "using"; return USING; }
108toast { yylval->kw = "toast"; return XTOAST; }
109FORCE { yylval->kw = "FORCE"; return XFORCE; }
110NOT { yylval->kw = "NOT"; return XNOT; }
111NULL { yylval->kw = "NULL"; return XNULL; }
112
113{id} {
115 return ID;
116 }
char * pstrdup(const char *in)
117{sid} {
118 /* strip quotes and escapes */
120 return ID;
121 }
char * DeescapeQuotedString(const char *s)
122
123. {
124 elog(
ERROR,
"syntax error at line %d: unexpected character \"%s\"", yylineno, yytext);
125 }
126
127%%