Package gudusoft.gsqlparser.nodes
Class TCTE
Object
gudusoft.gsqlparser.nodes.TParseTreeNode
gudusoft.gsqlparser.nodes.TNodeWithAliasClause
gudusoft.gsqlparser.nodes.TTable
gudusoft.gsqlparser.nodes.TCTE
- All Implemented Interfaces:
IRelation,Visitable,Iterator<TSourceToken>
A common table expression permits defining a result table with a table-name that can be specified as a table name in any FROM clause of the fullselect that follows.
Multiple common table expressions can be specified following the single WITH keyword.
Each common table expression specified can also be referenced by name in the FROM clause of subsequent common table expressions.
Syntax:
table-name [column-name [,...n]] AS (fullselect)
-
Field Summary
Fields inherited from class gudusoft.gsqlparser.nodes.TTable
PIVOT_CLAUSE_ALIAS, TABLE_COLLECTION_ALIAS, tablerefs, UNPIVOT_CLAUSE_ALIASFields inherited from class gudusoft.gsqlparser.nodes.TParseTreeNode
dbvendor, doubleLinkedTokenListToString, nodeActionAppend, nodeActionInsert, nodeActionRemove, nodeActionUnknown, nodeActionUpdate, nodeActionUpdateText, nodeChangeEndToken, nodeChangeStartToken -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAccept a visitorvoidAccept a visitor to iterate this class and sub-nodes of this classvoiddoParse(TCustomSqlStatement psql, ESqlClause plocation) Analyze the sub-nodes inside this node.preparable statement can be:fullselect of this common table expression.voidvoidvoidvoidbooleanbooleansearchColumnInResultSet(TCustomSqlStatement pSql, TTable pTable, TObjectName pColumn, boolean pMustIn) voidsetColumnList(TObjectNameList columnList) voidsetDeleteStmt(TDeleteSqlStatement deleteStmt) voidsetInsertStmt(TInsertSqlStatement insertStmt) voidsetPreparableStmt(TCustomSqlStatement preparableStmt) voidsetRecursive(boolean recursive) voidsetSubquery(TSelectSqlStatement subquery) voidsetTableName(TObjectName tableName) voidsetUpdateStmt(TUpdateSqlStatement updateStmt) Methods inherited from class gudusoft.gsqlparser.nodes.TTable
addAttribute, checkTableByName, equalByName, getAliasName, getAttributes, getAttributesReferenceToThisRelation, getCaseJoin, getColumnDefinitions, getColumnListInTempTable, getColumnsFromSQLEnv, getContainsTable, getCTE, getCteColomnReferences, getDatachangeTable, getDisplayName, getDisplayName, getEffectType, getExpandedStarColumns, getFlashback, getForXMLClause, getFromTableList, getFullName, getFullNameWithAliasString, getFuncCall, getHashByClause, getHiveFromQuery, getJoinExpr, getJsonTable, getLateralViewList, getLinkedColumns, getLinkTable, getLocalOrderBy, getName, getObjectNameReferences, getOpenDatasource, getOpenquery, getOpenRowSet, getOpenXML, getOuterClause, getOutputMerge, getParenthesisAfterAliasCount, getParenthesisCount, getPartitionExtensionClause, getPivotClause, getPivotedTable, getPrefixDatabase, getPrefixSchema, getPrefixServer, getPxGranule, getResolvedTable, getRowList, getSourceTableOfPivot, getSqlEnv, getStageName, getStageReference, getTableExpr, getTableHintList, getTableProperties, getTableSample, getTableType, getTdUnpivot, getTimeTravelClause, getUnnestClause, getValueClause, getXmlTable, initAttributeForRowList, initAttributeForTableFunction, initAttributeForXMLTable, initAttributesForJoin, initAttributesForPivotTable, initAttributesForUnnest, initAttributesFromCTE, initAttributesFromSubquery, initStarAttribute, isBaseTable, isCTEName, isIncludeColumnAlias, isLinkTable, isOnlyKeyword, isResolved, isTableKeyword, isTableRefBelongToThisTable, searchColumn, searchColumnInAlias, setCaseJoin, setColumnDefinitions, setColumnListInTempTable, setContainsTable, setCTE, setCteColomnReferences, setCTEName, setDatachangeTable, setEffectType, setFlashback, setForXMLClause, setFromTableList, setFuncCall, setHashByClause, setHiveFromQuery, setJoinExpr, setJsonTable, setLateralViewList, setLinkedColumns, setLinkTable, setLinkTable, setLocalOrderBy, setObjectNameReferences, setOnlyKeyword, setOpenDatasource, setOpenquery, setOpenRowSet, setOpenXML, setOuterClause, setOutputMerge, setParenthesisAfterAliasCount, setParenthesisCount, setPartitionExtensionClause, setPivotClause, setPivotedTable, setPropertyFromObjectName, setPxGranule, setResolved, setResolvedTable, setRowList, setSourceTableOfPivot, setSqlEnv, setStageReference, setTableExpr, setTableHintList, setTableKeyword, setTableProperties, setTablerefs, setTableSample, setTableType, setTdUnpivot, setTimeTravelClause, setUnnestClause, setValueClause, setXmlTable, size, toStringMethods inherited from class gudusoft.gsqlparser.nodes.TNodeWithAliasClause
getAliasClause, setAliasClauseMethods inherited from class gudusoft.gsqlparser.nodes.TParseTreeNode
addAllMyTokensToTokenList, addToTokenChain, appendNewNode, calculateTokenCount, doAppendNewNode, fastSetString, getAnchorNode, getColumnNo, getCommentAfterNode, getCommentBeforeNode, getCompactString, getDummyTag, getEndToken, getEvaluateDatatype, getEvalValue, getGsqlparser, getLineNo, getLocation, getMd5, getNodeStatus, getNodeType, getParentObjectName, getPlainText, getStartToken, getTokenCount, hasNext, init, init, init, init, init, insertAfterAToken, insertNewNodeBeforeMe, isChanged, isTokensInChain, next, refreshAllNodesTokenCount, remove, removeAllMyTokensFromTokenList, removeTokens, removeTokensBetweenNodes, removeTokensBetweenToken, replaceWithNewNode, resetIterator, setAnchorNode, setChanged, setDummyTag, setEndToken, setEndToken, setEndToken, setEndToken, setEndToken, setEndTokenDirectly, setEvaluateDatatype, setEvalValue, setGsqlparser, setIncludingComment, setLocation, setNewSubNode, setNodeStatus, setNodeType, setParent, setPlainText, setStartToken, setStartToken, setStartToken, setStartToken, setStartTokenDirectly, setString, setString2, subNodeInNode, toScript, toString2Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Iterator
forEachRemaining
-
Constructor Details
-
TCTE
public TCTE()
-
-
Method Details
-
setRecursive
-
isRecursive
-
initAttributesFromColumnList
-
initAttributesFromSubQuery
-
getRelationName
- Specified by:
getRelationNamein interfaceIRelation- Overrides:
getRelationNamein classTTable
-
searchColumnInResultSet
public boolean searchColumnInResultSet(TCustomSqlStatement pSql, TTable pTable, TObjectName pColumn, boolean pMustIn) -
getPreparableStmt
- Returns:
-
getUpdateStmt
-
getInsertStmt
-
getDeleteStmt
-
getTableName
- Overrides:
getTableNamein classTTable- Returns:
- table name of this common table expression.
-
setColumnList
-
getSubquery
fullselect of this common table expression.- Overrides:
getSubqueryin classTTable- Returns:
-
getColumnList
- Returns:
- List of column name of this common table expression.
-
init
- Overrides:
initin classTParseTreeNode
-
incParenthesisCount
-
doParse
Description copied from class:TParseTreeNodeAnalyze the sub-nodes inside this node. Such as build the relationship between table and column.- Overrides:
doParsein classTParseTreeNode- Parameters:
psql- SQL statement this node belongs toplocation- SQL clause this node belongs to
-
accept
Description copied from class:TParseTreeNodeAccept a visitor- Specified by:
acceptin interfaceVisitable- Overrides:
acceptin classTTable- Parameters:
v- visitor is a descendant class ofTParseTreeVisitor
-
acceptChildren
Description copied from class:TParseTreeNodeAccept a visitor to iterate this class and sub-nodes of this class- Specified by:
acceptChildrenin interfaceVisitable- Overrides:
acceptChildrenin classTTable- Parameters:
v- visitor is a descendant class ofTParseTreeVisitor
-
setSubquery
- Overrides:
setSubqueryin classTTable
-
setInsertStmt
-
setUpdateStmt
-
setDeleteStmt
-
setPreparableStmt
-
setTableName
- Overrides:
setTableNamein classTTable
-