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
00028
00029
00030
00035 #ifndef OW_WQL_SELECT_STATEMENT_GEN_HPP_INCLUDE_GUARD_
00036 #define OW_WQL_SELECT_STATEMENT_GEN_HPP_INCLUDE_GUARD_
00037 #include "OW_config.h"
00038 #include "OW_WQLVisitor.hpp"
00039 #include "OW_WQLSelectStatement.hpp"
00040
00041
00042
00043
00044 namespace OW_NAMESPACE
00045 {
00046
00047 class OW_WQL_API WQLSelectStatementGen : public WQLVisitor
00048 {
00049 public:
00050 WQLSelectStatementGen();
00051 virtual ~WQLSelectStatementGen();
00052 virtual void visit_stmt_selectStmt_optSemicolon(
00053 const stmt_selectStmt_optSemicolon* pstmt_selectStmt_optSemicolon
00054 );
00055 virtual void visit_stmt_updateStmt_optSemicolon(
00056 const stmt_updateStmt_optSemicolon* pstmt_updateStmt_optSemicolon
00057 );
00058 virtual void visit_stmt_insertStmt_optSemicolon(
00059 const stmt_insertStmt_optSemicolon* pstmt_insertStmt_optSemicolon
00060 );
00061 virtual void visit_stmt_deleteStmt_optSemicolon(
00062 const stmt_deleteStmt_optSemicolon* pstmt_deleteStmt_optSemicolon
00063 );
00064 virtual void visit_optSemicolon_empty(
00065 const optSemicolon_empty* poptSemicolon_empty
00066 );
00067 virtual void visit_optSemicolon_SEMICOLON(
00068 const optSemicolon_SEMICOLON* poptSemicolon_SEMICOLON
00069 );
00070 virtual void visit_insertStmt(
00071 const insertStmt* pinsertStmt
00072 );
00073 virtual void visit_insertRest_VALUES_LEFTPAREN_targetList_RIGHTPAREN(
00074 const insertRest_VALUES_LEFTPAREN_targetList_RIGHTPAREN* pinsertRest_VALUES_LEFTPAREN_targetList_RIGHTPAREN
00075 );
00076 virtual void visit_insertRest_DEFAULT_VALUES(
00077 const insertRest_DEFAULT_VALUES* pinsertRest_DEFAULT_VALUES
00078 );
00079 virtual void visit_insertRest_LEFTPAREN_columnList_RIGHTPAREN_VALUES_LEFTPAREN_targetList_RIGHTPAREN(
00080 const insertRest_LEFTPAREN_columnList_RIGHTPAREN_VALUES_LEFTPAREN_targetList_RIGHTPAREN* pinsertRest_LEFTPAREN_columnList_RIGHTPAREN_VALUES_LEFTPAREN_targetList_RIGHTPAREN
00081 );
00082 virtual void visit_deleteStmt(
00083 const deleteStmt* pdeleteStmt
00084 );
00085 virtual void visit_updateStmt(
00086 const updateStmt* pupdateStmt
00087 );
00088 virtual void visit_selectStmt(
00089 const selectStmt* pselectStmt
00090 );
00091 virtual void visit_exprSeq_aExpr(
00092 const exprSeq_aExpr* pexprSeq_aExpr
00093 );
00094 virtual void visit_exprSeq_exprSeq_COMMA_aExpr(
00095 const exprSeq_exprSeq_COMMA_aExpr* pexprSeq_exprSeq_COMMA_aExpr
00096 );
00097 virtual void visit_exprSeq_exprSeq_USING_aExpr(
00098 const exprSeq_exprSeq_USING_aExpr* pexprSeq_exprSeq_USING_aExpr
00099 );
00100 virtual void visit_optDistinct_empty(
00101 const optDistinct_empty* poptDistinct_empty
00102 );
00103 virtual void visit_optDistinct_DISTINCT(
00104 const optDistinct_DISTINCT* poptDistinct_DISTINCT
00105 );
00106 virtual void visit_optDistinct_DISTINCT_ON_LEFTPAREN_exprSeq_RIGHTPAREN(
00107 const optDistinct_DISTINCT_ON_LEFTPAREN_exprSeq_RIGHTPAREN* poptDistinct_DISTINCT_ON_LEFTPAREN_exprSeq_RIGHTPAREN
00108 );
00109 virtual void visit_optDistinct_ALL(
00110 const optDistinct_ALL* poptDistinct_ALL
00111 );
00112 virtual void visit_sortClause(
00113 const sortClause* psortClause
00114 );
00115 virtual void visit_optSortClause_empty(
00116 const optSortClause_empty* poptSortClause_empty
00117 );
00118 virtual void visit_optSortClause_sortClause(
00119 const optSortClause_sortClause* poptSortClause_sortClause
00120 );
00121 virtual void visit_sortby(
00122 const sortby* psortby
00123 );
00124 virtual void visit_optGroupClause_empty(
00125 const optGroupClause_empty* poptGroupClause_empty
00126 );
00127 virtual void visit_optGroupClause_GROUP_BY_exprSeq(
00128 const optGroupClause_GROUP_BY_exprSeq* poptGroupClause_GROUP_BY_exprSeq
00129 );
00130 virtual void visit_optHavingClause_empty(
00131 const optHavingClause_empty* poptHavingClause_empty
00132 );
00133 virtual void visit_optHavingClause_HAVING_aExpr(
00134 const optHavingClause_HAVING_aExpr* poptHavingClause_HAVING_aExpr
00135 );
00136 virtual void visit_optFromClause_empty(
00137 const optFromClause_empty* poptFromClause_empty
00138 );
00139 virtual void visit_optFromClause_FROM_fromList(
00140 const optFromClause_FROM_fromList* poptFromClause_FROM_fromList
00141 );
00142 virtual void visit_tableRef_relationExpr(
00143 const tableRef_relationExpr* ptableRef_relationExpr
00144 );
00145 virtual void visit_tableRef_relationExpr_aliasClause(
00146 const tableRef_relationExpr_aliasClause* ptableRef_relationExpr_aliasClause
00147 );
00148 virtual void visit_tableRef_joinedTable(
00149 const tableRef_joinedTable* ptableRef_joinedTable
00150 );
00151 virtual void visit_tableRef_LEFTPAREN_joinedTable_RIGHTPAREN_aliasClause(
00152 const tableRef_LEFTPAREN_joinedTable_RIGHTPAREN_aliasClause* ptableRef_LEFTPAREN_joinedTable_RIGHTPAREN_aliasClause
00153 );
00154 virtual void visit_joinedTable_LEFTPAREN_joinedTable_RIGHTPAREN(
00155 const joinedTable_LEFTPAREN_joinedTable_RIGHTPAREN* pjoinedTable_LEFTPAREN_joinedTable_RIGHTPAREN
00156 );
00157 virtual void visit_joinedTable_tableRef_CROSS_JOIN_tableRef(
00158 const joinedTable_tableRef_CROSS_JOIN_tableRef* pjoinedTable_tableRef_CROSS_JOIN_tableRef
00159 );
00160 virtual void visit_joinedTable_tableRef_UNIONJOIN_tableRef(
00161 const joinedTable_tableRef_UNIONJOIN_tableRef* pjoinedTable_tableRef_UNIONJOIN_tableRef
00162 );
00163 virtual void visit_joinedTable_tableRef_joinType_JOIN_tableRef_joinQual(
00164 const joinedTable_tableRef_joinType_JOIN_tableRef_joinQual* pjoinedTable_tableRef_joinType_JOIN_tableRef_joinQual
00165 );
00166 virtual void visit_joinedTable_tableRef_JOIN_tableRef_joinQual(
00167 const joinedTable_tableRef_JOIN_tableRef_joinQual* pjoinedTable_tableRef_JOIN_tableRef_joinQual
00168 );
00169 virtual void visit_joinedTable_tableRef_NATURAL_joinType_JOIN_tableRef(
00170 const joinedTable_tableRef_NATURAL_joinType_JOIN_tableRef* pjoinedTable_tableRef_NATURAL_joinType_JOIN_tableRef
00171 );
00172 virtual void visit_joinedTable_tableRef_NATURAL_JOIN_tableRef(
00173 const joinedTable_tableRef_NATURAL_JOIN_tableRef* pjoinedTable_tableRef_NATURAL_JOIN_tableRef
00174 );
00175 virtual void visit_aliasClause_AS_strColId_LEFTPAREN_nameList_RIGHTPAREN(
00176 const aliasClause_AS_strColId_LEFTPAREN_nameList_RIGHTPAREN* paliasClause_AS_strColId_LEFTPAREN_nameList_RIGHTPAREN
00177 );
00178 virtual void visit_aliasClause_AS_strColId(
00179 const aliasClause_AS_strColId* paliasClause_AS_strColId
00180 );
00181 virtual void visit_aliasClause_strColId_LEFTPAREN_nameList_RIGHTPAREN(
00182 const aliasClause_strColId_LEFTPAREN_nameList_RIGHTPAREN* paliasClause_strColId_LEFTPAREN_nameList_RIGHTPAREN
00183 );
00184 virtual void visit_aliasClause_strColId(
00185 const aliasClause_strColId* paliasClause_strColId
00186 );
00187 virtual void visit_joinType_FULL_strOptJoinOuter(
00188 const joinType_FULL_strOptJoinOuter* pjoinType_FULL_strOptJoinOuter
00189 );
00190 virtual void visit_joinType_LEFT_strOptJoinOuter(
00191 const joinType_LEFT_strOptJoinOuter* pjoinType_LEFT_strOptJoinOuter
00192 );
00193 virtual void visit_joinType_RIGHT_strOptJoinOuter(
00194 const joinType_RIGHT_strOptJoinOuter* pjoinType_RIGHT_strOptJoinOuter
00195 );
00196 virtual void visit_joinType_INNERP(
00197 const joinType_INNERP* pjoinType_INNERP
00198 );
00199 virtual void visit_joinQual_USING_LEFTPAREN_nameList_RIGHTPAREN(
00200 const joinQual_USING_LEFTPAREN_nameList_RIGHTPAREN* pjoinQual_USING_LEFTPAREN_nameList_RIGHTPAREN
00201 );
00202 virtual void visit_joinQual_ON_aExpr(
00203 const joinQual_ON_aExpr* pjoinQual_ON_aExpr
00204 );
00205 virtual void visit_relationExpr_strRelationName(
00206 const relationExpr_strRelationName* prelationExpr_strRelationName
00207 );
00208 virtual void visit_relationExpr_strRelationName_ASTERISK(
00209 const relationExpr_strRelationName_ASTERISK* prelationExpr_strRelationName_ASTERISK
00210 );
00211 virtual void visit_relationExpr_ONLY_strRelationName(
00212 const relationExpr_ONLY_strRelationName* prelationExpr_ONLY_strRelationName
00213 );
00214 virtual void visit_optWhereClause_empty(
00215 const optWhereClause_empty* poptWhereClause_empty
00216 );
00217 virtual void visit_optWhereClause_WHERE_aExpr(
00218 const optWhereClause_WHERE_aExpr* poptWhereClause_WHERE_aExpr
00219 );
00220 virtual void visit_rowExpr(
00221 const rowExpr* prowExpr
00222 );
00223 virtual void visit_rowDescriptor(
00224 const rowDescriptor* prowDescriptor
00225 );
00226 virtual void visit_aExpr_cExpr(
00227 const aExpr_cExpr* paExpr_cExpr
00228 );
00229 virtual void visit_aExpr_aExpr_AT_TIME_ZONE_cExpr(
00230 const aExpr_aExpr_AT_TIME_ZONE_cExpr* paExpr_aExpr_AT_TIME_ZONE_cExpr
00231 );
00232 virtual void visit_aExpr_PLUS_aExpr(
00233 const aExpr_PLUS_aExpr* paExpr_PLUS_aExpr
00234 );
00235 virtual void visit_aExpr_MINUS_aExpr(
00236 const aExpr_MINUS_aExpr* paExpr_MINUS_aExpr
00237 );
00238 virtual void visit_aExpr_BITINVERT_aExpr(
00239 const aExpr_BITINVERT_aExpr* paExpr_BITINVERT_aExpr
00240 );
00241 virtual void visit_aExpr_aExpr_PLUS_aExpr(
00242 const aExpr_aExpr_PLUS_aExpr* paExpr_aExpr_PLUS_aExpr
00243 );
00244 virtual void visit_aExpr_aExpr_MINUS_aExpr(
00245 const aExpr_aExpr_MINUS_aExpr* paExpr_aExpr_MINUS_aExpr
00246 );
00247 virtual void visit_aExpr_aExpr_ASTERISK_aExpr(
00248 const aExpr_aExpr_ASTERISK_aExpr* paExpr_aExpr_ASTERISK_aExpr
00249 );
00250 virtual void visit_aExpr_aExpr_SOLIDUS_aExpr(
00251 const aExpr_aExpr_SOLIDUS_aExpr* paExpr_aExpr_SOLIDUS_aExpr
00252 );
00253 virtual void visit_aExpr_aExpr_PERCENT_aExpr(
00254 const aExpr_aExpr_PERCENT_aExpr* paExpr_aExpr_PERCENT_aExpr
00255 );
00256 virtual void visit_aExpr_aExpr_BITAND_aExpr(
00257 const aExpr_aExpr_BITAND_aExpr* paExpr_aExpr_BITAND_aExpr
00258 );
00259 virtual void visit_aExpr_aExpr_BITOR_aExpr(
00260 const aExpr_aExpr_BITOR_aExpr* paExpr_aExpr_BITOR_aExpr
00261 );
00262 virtual void visit_aExpr_aExpr_BITSHIFTLEFT_aExpr(
00263 const aExpr_aExpr_BITSHIFTLEFT_aExpr* paExpr_aExpr_BITSHIFTLEFT_aExpr
00264 );
00265 virtual void visit_aExpr_aExpr_BITSHIFTRIGHT_aExpr(
00266 const aExpr_aExpr_BITSHIFTRIGHT_aExpr* paExpr_aExpr_BITSHIFTRIGHT_aExpr
00267 );
00268 virtual void visit_aExpr_aExpr_LESSTHAN_aExpr(
00269 const aExpr_aExpr_LESSTHAN_aExpr* paExpr_aExpr_LESSTHAN_aExpr
00270 );
00271 virtual void visit_aExpr_aExpr_LESSTHANOREQUALS_aExpr(
00272 const aExpr_aExpr_LESSTHANOREQUALS_aExpr* paExpr_aExpr_LESSTHANOREQUALS_aExpr
00273 );
00274 virtual void visit_aExpr_aExpr_GREATERTHAN_aExpr(
00275 const aExpr_aExpr_GREATERTHAN_aExpr* paExpr_aExpr_GREATERTHAN_aExpr
00276 );
00277 virtual void visit_aExpr_aExpr_GREATERTHANOREQUALS_aExpr(
00278 const aExpr_aExpr_GREATERTHANOREQUALS_aExpr* paExpr_aExpr_GREATERTHANOREQUALS_aExpr
00279 );
00280 virtual void visit_aExpr_aExpr_EQUALS_aExpr(
00281 const aExpr_aExpr_EQUALS_aExpr* paExpr_aExpr_EQUALS_aExpr
00282 );
00283 virtual void visit_aExpr_aExpr_NOTEQUALS_aExpr(
00284 const aExpr_aExpr_NOTEQUALS_aExpr* paExpr_aExpr_NOTEQUALS_aExpr
00285 );
00286 virtual void visit_aExpr_aExpr_AND_aExpr(
00287 const aExpr_aExpr_AND_aExpr* paExpr_aExpr_AND_aExpr
00288 );
00289 virtual void visit_aExpr_aExpr_OR_aExpr(
00290 const aExpr_aExpr_OR_aExpr* paExpr_aExpr_OR_aExpr
00291 );
00292 virtual void visit_aExpr_NOT_aExpr(
00293 const aExpr_NOT_aExpr* paExpr_NOT_aExpr
00294 );
00295 virtual void visit_aExpr_aExpr_CONCATENATION_aExpr(
00296 const aExpr_aExpr_CONCATENATION_aExpr* paExpr_aExpr_CONCATENATION_aExpr
00297 );
00298 virtual void visit_aExpr_aExpr_LIKE_aExpr(
00299 const aExpr_aExpr_LIKE_aExpr* paExpr_aExpr_LIKE_aExpr
00300 );
00301 virtual void visit_aExpr_aExpr_LIKE_aExpr_ESCAPE_aExpr(
00302 const aExpr_aExpr_LIKE_aExpr_ESCAPE_aExpr* paExpr_aExpr_LIKE_aExpr_ESCAPE_aExpr
00303 );
00304 virtual void visit_aExpr_aExpr_NOT_LIKE_aExpr(
00305 const aExpr_aExpr_NOT_LIKE_aExpr* paExpr_aExpr_NOT_LIKE_aExpr
00306 );
00307 virtual void visit_aExpr_aExpr_NOT_LIKE_aExpr_ESCAPE_aExpr(
00308 const aExpr_aExpr_NOT_LIKE_aExpr_ESCAPE_aExpr* paExpr_aExpr_NOT_LIKE_aExpr_ESCAPE_aExpr
00309 );
00310 virtual void visit_aExpr_aExpr_ISNULL(
00311 const aExpr_aExpr_ISNULL* paExpr_aExpr_ISNULL
00312 );
00313 virtual void visit_aExpr_aExpr_IS_NULLP(
00314 const aExpr_aExpr_IS_NULLP* paExpr_aExpr_IS_NULLP
00315 );
00316 virtual void visit_aExpr_aExpr_NOTNULL(
00317 const aExpr_aExpr_NOTNULL* paExpr_aExpr_NOTNULL
00318 );
00319 virtual void visit_aExpr_aExpr_IS_NOT_NULLP(
00320 const aExpr_aExpr_IS_NOT_NULLP* paExpr_aExpr_IS_NOT_NULLP
00321 );
00322 virtual void visit_aExpr_aExpr_IS_TRUEP(
00323 const aExpr_aExpr_IS_TRUEP* paExpr_aExpr_IS_TRUEP
00324 );
00325 virtual void visit_aExpr_aExpr_IS_NOT_FALSEP(
00326 const aExpr_aExpr_IS_NOT_FALSEP* paExpr_aExpr_IS_NOT_FALSEP
00327 );
00328 virtual void visit_aExpr_aExpr_IS_FALSEP(
00329 const aExpr_aExpr_IS_FALSEP* paExpr_aExpr_IS_FALSEP
00330 );
00331 virtual void visit_aExpr_aExpr_IS_NOT_TRUEP(
00332 const aExpr_aExpr_IS_NOT_TRUEP* paExpr_aExpr_IS_NOT_TRUEP
00333 );
00334 virtual void visit_aExpr_aExpr_ISA_aExpr(
00335 const aExpr_aExpr_ISA_aExpr* paExpr_aExpr_ISA_aExpr
00336 );
00337
00338 virtual void visit_aExpr_rowExpr(
00339 const aExpr_rowExpr* paExpr_rowExpr
00340 );
00341 virtual void visit_bExpr_cExpr(
00342 const bExpr_cExpr* pbExpr_cExpr
00343 );
00344 virtual void visit_bExpr_PLUS_bExpr(
00345 const bExpr_PLUS_bExpr* pbExpr_PLUS_bExpr
00346 );
00347 virtual void visit_bExpr_MINUS_bExpr(
00348 const bExpr_MINUS_bExpr* pbExpr_MINUS_bExpr
00349 );
00350 virtual void visit_bExpr_BITINVERT_bExpr(
00351 const bExpr_BITINVERT_bExpr* pbExpr_BITINVERT_bExpr
00352 );
00353 virtual void visit_bExpr_bExpr_PLUS_bExpr(
00354 const bExpr_bExpr_PLUS_bExpr* pbExpr_bExpr_PLUS_bExpr
00355 );
00356 virtual void visit_bExpr_bExpr_MINUS_bExpr(
00357 const bExpr_bExpr_MINUS_bExpr* pbExpr_bExpr_MINUS_bExpr
00358 );
00359 virtual void visit_bExpr_bExpr_ASTERISK_bExpr(
00360 const bExpr_bExpr_ASTERISK_bExpr* pbExpr_bExpr_ASTERISK_bExpr
00361 );
00362 virtual void visit_bExpr_bExpr_SOLIDUS_bExpr(
00363 const bExpr_bExpr_SOLIDUS_bExpr* pbExpr_bExpr_SOLIDUS_bExpr
00364 );
00365 virtual void visit_bExpr_bExpr_PERCENT_bExpr(
00366 const bExpr_bExpr_PERCENT_bExpr* pbExpr_bExpr_PERCENT_bExpr
00367 );
00368 virtual void visit_bExpr_bExpr_BITAND_bExpr(
00369 const bExpr_bExpr_BITAND_bExpr* pbExpr_bExpr_BITAND_bExpr
00370 );
00371 virtual void visit_bExpr_bExpr_BITOR_bExpr(
00372 const bExpr_bExpr_BITOR_bExpr* pbExpr_bExpr_BITOR_bExpr
00373 );
00374 virtual void visit_bExpr_bExpr_BITSHIFTLEFT_bExpr(
00375 const bExpr_bExpr_BITSHIFTLEFT_bExpr* pbExpr_bExpr_BITSHIFTLEFT_bExpr
00376 );
00377 virtual void visit_bExpr_bExpr_BITSHIFTRIGHT_bExpr(
00378 const bExpr_bExpr_BITSHIFTRIGHT_bExpr* pbExpr_bExpr_BITSHIFTRIGHT_bExpr
00379 );
00380 virtual void visit_bExpr_bExpr_LESSTHAN_bExpr(
00381 const bExpr_bExpr_LESSTHAN_bExpr* pbExpr_bExpr_LESSTHAN_bExpr
00382 );
00383 virtual void visit_bExpr_bExpr_LESSTHANOREQUALS_bExpr(
00384 const bExpr_bExpr_LESSTHANOREQUALS_bExpr* pbExpr_bExpr_LESSTHANOREQUALS_bExpr
00385 );
00386 virtual void visit_bExpr_bExpr_GREATERTHAN_bExpr(
00387 const bExpr_bExpr_GREATERTHAN_bExpr* pbExpr_bExpr_GREATERTHAN_bExpr
00388 );
00389 virtual void visit_bExpr_bExpr_GREATERTHANOREQUALS_bExpr(
00390 const bExpr_bExpr_GREATERTHANOREQUALS_bExpr* pbExpr_bExpr_GREATERTHANOREQUALS_bExpr
00391 );
00392 virtual void visit_bExpr_bExpr_EQUALS_bExpr(
00393 const bExpr_bExpr_EQUALS_bExpr* pbExpr_bExpr_EQUALS_bExpr
00394 );
00395 virtual void visit_bExpr_bExpr_NOTEQUALS_bExpr(
00396 const bExpr_bExpr_NOTEQUALS_bExpr* pbExpr_bExpr_NOTEQUALS_bExpr
00397 );
00398 virtual void visit_bExpr_bExpr_CONCATENATION_bExpr(
00399 const bExpr_bExpr_CONCATENATION_bExpr* pbExpr_bExpr_CONCATENATION_bExpr
00400 );
00401 virtual void visit_cExpr_attr(
00402 const cExpr_attr* pcExpr_attr
00403 );
00404 virtual void visit_cExpr_strColId_optIndirection(
00405 const cExpr_strColId_optIndirection* pcExpr_strColId_optIndirection
00406 );
00407 virtual void visit_cExpr_aExprConst(
00408 const cExpr_aExprConst* pcExpr_aExprConst
00409 );
00410 virtual void visit_cExpr_LEFTPAREN_aExpr_RIGHTPAREN(
00411 const cExpr_LEFTPAREN_aExpr_RIGHTPAREN* pcExpr_LEFTPAREN_aExpr_RIGHTPAREN
00412 );
00413 virtual void visit_cExpr_strFuncName_LEFTPAREN_RIGHTPAREN(
00414 const cExpr_strFuncName_LEFTPAREN_RIGHTPAREN* pcExpr_strFuncName_LEFTPAREN_RIGHTPAREN
00415 );
00416 virtual void visit_cExpr_strFuncName_LEFTPAREN_exprSeq_RIGHTPAREN(
00417 const cExpr_strFuncName_LEFTPAREN_exprSeq_RIGHTPAREN* pcExpr_strFuncName_LEFTPAREN_exprSeq_RIGHTPAREN
00418 );
00419 virtual void visit_cExpr_strFuncName_LEFTPAREN_ALL_exprSeq_RIGHTPAREN(
00420 const cExpr_strFuncName_LEFTPAREN_ALL_exprSeq_RIGHTPAREN* pcExpr_strFuncName_LEFTPAREN_ALL_exprSeq_RIGHTPAREN
00421 );
00422 virtual void visit_cExpr_strFuncName_LEFTPAREN_DISTINCT_exprSeq_RIGHTPAREN(
00423 const cExpr_strFuncName_LEFTPAREN_DISTINCT_exprSeq_RIGHTPAREN* pcExpr_strFuncName_LEFTPAREN_DISTINCT_exprSeq_RIGHTPAREN
00424 );
00425 virtual void visit_cExpr_strFuncName_LEFTPAREN_ASTERISK_RIGHTPAREN(
00426 const cExpr_strFuncName_LEFTPAREN_ASTERISK_RIGHTPAREN* pcExpr_strFuncName_LEFTPAREN_ASTERISK_RIGHTPAREN
00427 );
00428 virtual void visit_cExpr_CURRENTDATE(
00429 const cExpr_CURRENTDATE* pcExpr_CURRENTDATE
00430 );
00431 virtual void visit_cExpr_CURRENTTIME(
00432 const cExpr_CURRENTTIME* pcExpr_CURRENTTIME
00433 );
00434 virtual void visit_cExpr_CURRENTTIME_LEFTPAREN_ICONST_RIGHTPAREN(
00435 const cExpr_CURRENTTIME_LEFTPAREN_ICONST_RIGHTPAREN* pcExpr_CURRENTTIME_LEFTPAREN_ICONST_RIGHTPAREN
00436 );
00437 virtual void visit_cExpr_CURRENTTIMESTAMP(
00438 const cExpr_CURRENTTIMESTAMP* pcExpr_CURRENTTIMESTAMP
00439 );
00440 virtual void visit_cExpr_CURRENTTIMESTAMP_LEFTPAREN_ICONST_RIGHTPAREN(
00441 const cExpr_CURRENTTIMESTAMP_LEFTPAREN_ICONST_RIGHTPAREN* pcExpr_CURRENTTIMESTAMP_LEFTPAREN_ICONST_RIGHTPAREN
00442 );
00443 virtual void visit_cExpr_CURRENTUSER(
00444 const cExpr_CURRENTUSER* pcExpr_CURRENTUSER
00445 );
00446 virtual void visit_cExpr_SESSIONUSER(
00447 const cExpr_SESSIONUSER* pcExpr_SESSIONUSER
00448 );
00449 virtual void visit_cExpr_USER(
00450 const cExpr_USER* pcExpr_USER
00451 );
00452 virtual void visit_cExpr_EXTRACT_LEFTPAREN_optExtract_RIGHTPAREN(
00453 const cExpr_EXTRACT_LEFTPAREN_optExtract_RIGHTPAREN* pcExpr_EXTRACT_LEFTPAREN_optExtract_RIGHTPAREN
00454 );
00455 virtual void visit_cExpr_POSITION_LEFTPAREN_positionExpr_RIGHTPAREN(
00456 const cExpr_POSITION_LEFTPAREN_positionExpr_RIGHTPAREN* pcExpr_POSITION_LEFTPAREN_positionExpr_RIGHTPAREN
00457 );
00458 virtual void visit_cExpr_SUBSTRING_LEFTPAREN_optSubstrExpr_RIGHTPAREN(
00459 const cExpr_SUBSTRING_LEFTPAREN_optSubstrExpr_RIGHTPAREN* pcExpr_SUBSTRING_LEFTPAREN_optSubstrExpr_RIGHTPAREN
00460 );
00461 virtual void visit_cExpr_TRIM_LEFTPAREN_LEADING_trimExpr_RIGHTPAREN(
00462 const cExpr_TRIM_LEFTPAREN_LEADING_trimExpr_RIGHTPAREN* pcExpr_TRIM_LEFTPAREN_LEADING_trimExpr_RIGHTPAREN
00463 );
00464 virtual void visit_cExpr_TRIM_LEFTPAREN_TRAILING_trimExpr_RIGHTPAREN(
00465 const cExpr_TRIM_LEFTPAREN_TRAILING_trimExpr_RIGHTPAREN* pcExpr_TRIM_LEFTPAREN_TRAILING_trimExpr_RIGHTPAREN
00466 );
00467 virtual void visit_cExpr_TRIM_LEFTPAREN_trimExpr_RIGHTPAREN(
00468 const cExpr_TRIM_LEFTPAREN_trimExpr_RIGHTPAREN* pcExpr_TRIM_LEFTPAREN_trimExpr_RIGHTPAREN
00469 );
00470 virtual void visit_optIndirection_empty(
00471 const optIndirection_empty* poptIndirection_empty
00472 );
00473 virtual void visit_optIndirection_optIndirection_LEFTBRACKET_aExpr_RIGHTBRACKET(
00474 const optIndirection_optIndirection_LEFTBRACKET_aExpr_RIGHTBRACKET* poptIndirection_optIndirection_LEFTBRACKET_aExpr_RIGHTBRACKET
00475 );
00476 virtual void visit_optIndirection_optIndirection_LEFTBRACKET_aExpr_COLON_aExpr_RIGHTBRACKET(
00477 const optIndirection_optIndirection_LEFTBRACKET_aExpr_COLON_aExpr_RIGHTBRACKET* poptIndirection_optIndirection_LEFTBRACKET_aExpr_COLON_aExpr_RIGHTBRACKET
00478 );
00479 virtual void visit_optExtract_empty(
00480 const optExtract_empty* poptExtract_empty
00481 );
00482 virtual void visit_optExtract_strExtractArg_FROM_aExpr(
00483 const optExtract_strExtractArg_FROM_aExpr* poptExtract_strExtractArg_FROM_aExpr
00484 );
00485 virtual void visit_positionExpr_bExpr_IN_bExpr(
00486 const positionExpr_bExpr_IN_bExpr* ppositionExpr_bExpr_IN_bExpr
00487 );
00488 virtual void visit_positionExpr_empty(
00489 const positionExpr_empty* ppositionExpr_empty
00490 );
00491 virtual void visit_optSubstrExpr_empty(
00492 const optSubstrExpr_empty* poptSubstrExpr_empty
00493 );
00494 virtual void visit_optSubstrExpr_aExpr_substrFrom_substrFor(
00495 const optSubstrExpr_aExpr_substrFrom_substrFor* poptSubstrExpr_aExpr_substrFrom_substrFor
00496 );
00497 virtual void visit_optSubstrExpr_aExpr_substrFor_substrFrom(
00498 const optSubstrExpr_aExpr_substrFor_substrFrom* poptSubstrExpr_aExpr_substrFor_substrFrom
00499 );
00500 virtual void visit_optSubstrExpr_aExpr_substrFrom(
00501 const optSubstrExpr_aExpr_substrFrom* poptSubstrExpr_aExpr_substrFrom
00502 );
00503 virtual void visit_optSubstrExpr_aExpr_substrFor(
00504 const optSubstrExpr_aExpr_substrFor* poptSubstrExpr_aExpr_substrFor
00505 );
00506 virtual void visit_optSubstrExpr_exprSeq(
00507 const optSubstrExpr_exprSeq* poptSubstrExpr_exprSeq
00508 );
00509 virtual void visit_substrFrom(
00510 const substrFrom* psubstrFrom
00511 );
00512 virtual void visit_substrFor(
00513 const substrFor* psubstrFor
00514 );
00515 virtual void visit_trimExpr_aExpr_FROM_exprSeq(
00516 const trimExpr_aExpr_FROM_exprSeq* ptrimExpr_aExpr_FROM_exprSeq
00517 );
00518 virtual void visit_trimExpr_FROM_exprSeq(
00519 const trimExpr_FROM_exprSeq* ptrimExpr_FROM_exprSeq
00520 );
00521 virtual void visit_trimExpr_exprSeq(
00522 const trimExpr_exprSeq* ptrimExpr_exprSeq
00523 );
00524 virtual void visit_attr(
00525 const attr* pattr
00526 );
00527 virtual void visit_attrs_strAttrName(
00528 const attrs_strAttrName* pattrs_strAttrName
00529 );
00530 virtual void visit_attrs_attrs_PERIOD_strAttrName(
00531 const attrs_attrs_PERIOD_strAttrName* pattrs_attrs_PERIOD_strAttrName
00532 );
00533 virtual void visit_attrs_attrs_PERIOD_ASTERISK(
00534 const attrs_attrs_PERIOD_ASTERISK* pattrs_attrs_PERIOD_ASTERISK
00535 );
00536 virtual void visit_targetEl_aExpr_AS_strColLabel(
00537 const targetEl_aExpr_AS_strColLabel* ptargetEl_aExpr_AS_strColLabel
00538 );
00539 virtual void visit_targetEl_aExpr(
00540 const targetEl_aExpr* ptargetEl_aExpr
00541 );
00542 virtual void visit_targetEl_strRelationName_PERIOD_ASTERISK(
00543 const targetEl_strRelationName_PERIOD_ASTERISK* ptargetEl_strRelationName_PERIOD_ASTERISK
00544 );
00545 virtual void visit_targetEl_ASTERISK(
00546 const targetEl_ASTERISK* ptargetEl_ASTERISK
00547 );
00548 virtual void visit_updateTargetEl(
00549 const updateTargetEl* pupdateTargetEl
00550 );
00551 virtual void visit_aExprConst_ICONST(
00552 const aExprConst_ICONST* paExprConst_ICONST
00553 );
00554 virtual void visit_aExprConst_FCONST(
00555 const aExprConst_FCONST* paExprConst_FCONST
00556 );
00557 virtual void visit_aExprConst_SCONST(
00558 const aExprConst_SCONST* paExprConst_SCONST
00559 );
00560 virtual void visit_aExprConst_BITCONST(
00561 const aExprConst_BITCONST* paExprConst_BITCONST
00562 );
00563 virtual void visit_aExprConst_HEXCONST(
00564 const aExprConst_HEXCONST* paExprConst_HEXCONST
00565 );
00566 virtual void visit_aExprConst_TRUEP(
00567 const aExprConst_TRUEP* paExprConst_TRUEP
00568 );
00569 virtual void visit_aExprConst_FALSEP(
00570 const aExprConst_FALSEP* paExprConst_FALSEP
00571 );
00572 virtual void visit_aExprConst_NULLP(
00573 const aExprConst_NULLP* paExprConst_NULLP
00574 );
00575
00576 public:
00577 WQLSelectStatement getSelectStatement() const
00578 {
00579 return m_stmt;
00580 }
00581 private:
00582 WQLSelectStatement m_stmt;
00583 bool m_isPropertyList;
00584 String m_attrName;
00585 };
00586
00587 }
00588
00589 #endif