00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef YYTOKENTYPE
00028 # define YYTOKENTYPE
00029
00030
00031 enum yytokentype {
00032 ALL = 258,
00033 AND = 259,
00034 AS = 260,
00035 ASC = 261,
00036 ASTERISK = 262,
00037 AT = 263,
00038 BITAND = 264,
00039 BITCONST = 265,
00040 BITINVERT = 266,
00041 BITOR = 267,
00042 BITSHIFTLEFT = 268,
00043 BITSHIFTRIGHT = 269,
00044 BY = 270,
00045 COLON = 271,
00046 COMMA = 272,
00047 CONCATENATION = 273,
00048 CROSS = 274,
00049 CURRENTDATE = 275,
00050 CURRENTTIME = 276,
00051 CURRENTTIMESTAMP = 277,
00052 CURRENTUSER = 278,
00053 DAYP = 279,
00054 DEFAULT = 280,
00055 DELETE = 281,
00056 DESC = 282,
00057 DISTINCT = 283,
00058 EQUALS = 284,
00059 ESCAPE = 285,
00060 EXTRACT = 286,
00061 FALSEP = 287,
00062 FCONST = 288,
00063 FOR = 289,
00064 FROM = 290,
00065 FULL = 291,
00066 GREATERTHAN = 292,
00067 GREATERTHANOREQUALS = 293,
00068 GROUP = 294,
00069 HAVING = 295,
00070 HEXCONST = 296,
00071 HOURP = 297,
00072 ICONST = 298,
00073 IDENT = 299,
00074 IN = 300,
00075 INNERP = 301,
00076 INSERT = 302,
00077 INTERVAL = 303,
00078 INTO = 304,
00079 IS = 305,
00080 ISA = 306,
00081 ISNULL = 307,
00082 JOIN = 308,
00083 LEADING = 309,
00084 LEFT = 310,
00085 LEFTBRACKET = 311,
00086 LEFTPAREN = 312,
00087 LESSTHAN = 313,
00088 LESSTHANOREQUALS = 314,
00089 LIKE = 315,
00090 MINUS = 316,
00091 MINUTEP = 317,
00092 MONTHP = 318,
00093 NATIONAL = 319,
00094 NATURAL = 320,
00095 NOT = 321,
00096 NOTEQUALS = 322,
00097 NOTNULL = 323,
00098 NULLP = 324,
00099 ON = 325,
00100 ONLY = 326,
00101 OR = 327,
00102 ORDER = 328,
00103 OUTERP = 329,
00104 PERCENT = 330,
00105 PERIOD = 331,
00106 PLUS = 332,
00107 POSITION = 333,
00108 RIGHT = 334,
00109 RIGHTBRACKET = 335,
00110 RIGHTPAREN = 336,
00111 SCONST = 337,
00112 SECONDP = 338,
00113 SELECT = 339,
00114 SEMICOLON = 340,
00115 SESSIONUSER = 341,
00116 SET = 342,
00117 SOLIDUS = 343,
00118 SUBSTRING = 344,
00119 TIME = 345,
00120 TIMESTAMP = 346,
00121 TIMEZONEHOUR = 347,
00122 TIMEZONEMINUTE = 348,
00123 TRAILING = 349,
00124 TRIM = 350,
00125 TRUEP = 351,
00126 UNION = 352,
00127 UNIONJOIN = 353,
00128 UPDATE = 354,
00129 USER = 355,
00130 USING = 356,
00131 VALUES = 357,
00132 WHERE = 358,
00133 YEARP = 359,
00134 ZONE = 360,
00135 UMINUS = 361
00136 };
00137 #endif
00138
00139 #define ALL 258
00140 #define AND 259
00141 #define AS 260
00142 #define ASC 261
00143 #define ASTERISK 262
00144 #define AT 263
00145 #define BITAND 264
00146 #define BITCONST 265
00147 #define BITINVERT 266
00148 #define BITOR 267
00149 #define BITSHIFTLEFT 268
00150 #define BITSHIFTRIGHT 269
00151 #define BY 270
00152 #define COLON 271
00153 #define COMMA 272
00154 #define CONCATENATION 273
00155 #define CROSS 274
00156 #define CURRENTDATE 275
00157 #define CURRENTTIME 276
00158 #define CURRENTTIMESTAMP 277
00159 #define CURRENTUSER 278
00160 #define DAYP 279
00161 #define DEFAULT 280
00162 #define DELETE 281
00163 #define DESC 282
00164 #define DISTINCT 283
00165 #define EQUALS 284
00166 #define ESCAPE 285
00167 #define EXTRACT 286
00168 #define FALSEP 287
00169 #define FCONST 288
00170 #define FOR 289
00171 #define FROM 290
00172 #define FULL 291
00173 #define GREATERTHAN 292
00174 #define GREATERTHANOREQUALS 293
00175 #define GROUP 294
00176 #define HAVING 295
00177 #define HEXCONST 296
00178 #define HOURP 297
00179 #define ICONST 298
00180 #define IDENT 299
00181 #define IN 300
00182 #define INNERP 301
00183 #define INSERT 302
00184 #define INTERVAL 303
00185 #define INTO 304
00186 #define IS 305
00187 #define ISA 306
00188 #define ISNULL 307
00189 #define JOIN 308
00190 #define LEADING 309
00191 #define LEFT 310
00192 #define LEFTBRACKET 311
00193 #define LEFTPAREN 312
00194 #define LESSTHAN 313
00195 #define LESSTHANOREQUALS 314
00196 #define LIKE 315
00197 #define MINUS 316
00198 #define MINUTEP 317
00199 #define MONTHP 318
00200 #define NATIONAL 319
00201 #define NATURAL 320
00202 #define NOT 321
00203 #define NOTEQUALS 322
00204 #define NOTNULL 323
00205 #define NULLP 324
00206 #define ON 325
00207 #define ONLY 326
00208 #define OR 327
00209 #define ORDER 328
00210 #define OUTERP 329
00211 #define PERCENT 330
00212 #define PERIOD 331
00213 #define PLUS 332
00214 #define POSITION 333
00215 #define RIGHT 334
00216 #define RIGHTBRACKET 335
00217 #define RIGHTPAREN 336
00218 #define SCONST 337
00219 #define SECONDP 338
00220 #define SELECT 339
00221 #define SEMICOLON 340
00222 #define SESSIONUSER 341
00223 #define SET 342
00224 #define SOLIDUS 343
00225 #define SUBSTRING 344
00226 #define TIME 345
00227 #define TIMESTAMP 346
00228 #define TIMEZONEHOUR 347
00229 #define TIMEZONEMINUTE 348
00230 #define TRAILING 349
00231 #define TRIM 350
00232 #define TRUEP 351
00233 #define UNION 352
00234 #define UNIONJOIN 353
00235 #define UPDATE 354
00236 #define USER 355
00237 #define USING 356
00238 #define VALUES 357
00239 #define WHERE 358
00240 #define YEARP 359
00241 #define ZONE 360
00242 #define UMINUS 361
00243
00244
00245
00246
00247 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
00248 #line 197 "OW_WQLParser.yy"
00249 typedef union YYSTYPE {
00250 stmt* pstmt;
00251 optSemicolon* poptSemicolon;
00252 insertStmt* pinsertStmt;
00253 List<targetEl*>* ptargetList;
00254 List<String*>* pcolumnList;
00255 insertRest* pinsertRest;
00256 deleteStmt* pdeleteStmt;
00257 List<updateTargetEl*>* pupdateTargetList;
00258 updateStmt* pupdateStmt;
00259 selectStmt* pselectStmt;
00260 exprSeq* pexprSeq;
00261 optDistinct* poptDistinct;
00262 List<sortby*>* psortbyList;
00263 sortClause* psortClause;
00264 optSortClause* poptSortClause;
00265 sortby* psortby;
00266 List<String*>* pnameList;
00267 optGroupClause* poptGroupClause;
00268 optHavingClause* poptHavingClause;
00269 List<tableRef*>* pfromList;
00270 optFromClause* poptFromClause;
00271 tableRef* ptableRef;
00272 joinedTable* pjoinedTable;
00273 aliasClause* paliasClause;
00274 joinType* pjoinType;
00275 joinQual* pjoinQual;
00276 relationExpr* prelationExpr;
00277 optWhereClause* poptWhereClause;
00278 rowExpr* prowExpr;
00279 List<aExpr*>* prowList;
00280 rowDescriptor* prowDescriptor;
00281 aExpr* paExpr;
00282 bExpr* pbExpr;
00283 cExpr* pcExpr;
00284 optIndirection* poptIndirection;
00285 optExtract* poptExtract;
00286 positionExpr* ppositionExpr;
00287 optSubstrExpr* poptSubstrExpr;
00288 substrFrom* psubstrFrom;
00289 substrFor* psubstrFor;
00290 trimExpr* ptrimExpr;
00291 attr* pattr;
00292 attrs* pattrs;
00293 targetEl* ptargetEl;
00294 updateTargetEl* pupdateTargetEl;
00295 aExprConst* paExprConst;
00296 String* pstring;
00297 } YYSTYPE;
00298
00299 #line 300 "OW_WQLParser.h"
00300 # define yystype YYSTYPE
00301 # define YYSTYPE_IS_DECLARED 1
00302 # define YYSTYPE_IS_TRIVIAL 1
00303 #endif
00304
00305 extern YYSTYPE owwqllval;
00306
00307
00308