Package gudusoft.gsqlparser.nodes
Class TResultColumn
Object
gudusoft.gsqlparser.nodes.TParseTreeNode
gudusoft.gsqlparser.nodes.TNodeWithAliasClause
gudusoft.gsqlparser.nodes.TResultColumn
- All Implemented Interfaces:
Visitable,Comparable,Iterator<TSourceToken>
This class represents select_list item in select statement, lets you specify the columns you want to retrieve from the table.
Syntax:
query_name|[schema.]{table|view|materialized_view}|expr [ [AS] alias]
or, set column values in update_set_clause.
Syntax:
column = expr|(subquery)
or, values clause in insert statement was represented by TResultColumnList.
Syntax:
(expr,expr)
-
Field Summary
Fields 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 classintvoiddoParse(TCustomSqlStatement psql, ESqlClause plocation) Analyze the sub-nodes inside this node.这个属性只对 star column 有效。用来存放在 up level 中找到的关联到本 star column 的 column, 主要用来把来自 up level 的这些 column 继续和 本层 from clause 中的 table 关联起来, 以解决 up level column 来自低层哪个 table 的问题 实现代码见:TStarColumnPushDownResolver.preVisit(TSelectSqlStatement stmt), TAttributeNode.addAttributeRefToThisNode(TObjectName objectName)This is the display name shown in the output of select listBigquery except columns SELECT COMMON.* EXCEPT (column1, column2) FROM dataset1.table1 COMMON;getExpr()column expression.BigQuery replace columns
SELECT * REPLACE (quantity/2 AS quantity)BigQuery select * except(expr as identifier)voidInitialize a query tree node.voidbooleanisMatchedUsingAlias(TObjectName pColumn) booleanisMatchedWithResultColumn(EDbVendor dbVendor, TObjectName pColumn) booleanthis is true when there is no column names specified for fields in teradata insert statementvoidsetAliasName(String aliasName) voidsetDataTypeConversionList(TPTNodeList<TExplicitDataTypeConversion> dataTypeConversionList) voidsetExpr(TExpression expr) voidsetPlaceHolder(boolean placeHolder) voidsetQualifyClause(TQualifyClause qualifyClause) voidsetTargetColumns(TObjectNameList targetColumns) voidsetUpdateFor(TUpdateFor updateFor) voidMethods inherited from class gudusoft.gsqlparser.nodes.TNodeWithAliasClause
getAliasClause, setAliasClause, toStringMethods 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, 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
-
TResultColumn
public TResultColumn()
-
-
Method Details
-
getAliasNameList
-
getAttributesFromUpLevelReferenceToStarColumn
这个属性只对 star column 有效。用来存放在 up level 中找到的关联到本 star column 的 column, 主要用来把来自 up level 的这些 column 继续和 本层 from clause 中的 table 关联起来, 以解决 up level column 来自低层哪个 table 的问题 实现代码见:TStarColumnPushDownResolver.preVisit(TSelectSqlStatement stmt), TAttributeNode.addAttributeRefToThisNode(TObjectName objectName)- Returns:
-
setAliasName
-
getAliasName
-
getExprAsIdentifiers
BigQuery replace columns
SELECT * REPLACE (quantity/2 AS quantity)- Returns:
- replace expr as identifier list
-
getExceptColumnList
Bigquery except columns SELECT COMMON.* EXCEPT (column1, column2) FROM dataset1.table1 COMMON;- Returns:
- Bigquery except columns
-
getReplaceExprAsIdentifiers
BigQuery select * except(expr as identifier)- Returns:
-
setQualifyClause
-
getQualifyClause
-
setDataTypeConversionList
public void setDataTypeConversionList(TPTNodeList<TExplicitDataTypeConversion> dataTypeConversionList) -
getTargetColumns
-
isMatchedUsingAlias
-
isMatchedWithResultColumn
-
TResultColumn
-
getDisplayName
This is the display name shown in the output of select list- Returns:
- display name
-
getColumnAlias
-
getColumnFullname
-
getColumnNameOnly
-
setExpr
-
setPlaceHolder
-
isPlaceHolder
this is true when there is no column names specified for fields in teradata insert statementINSERT INTO employee (10005, 'Orebo B',300,,,, 'Nov 17 1957','M',,,18,);
- Returns:
-
getExpr
column expression. If there is only column name in a select_list item, then, this expr is type ofTExpression.simpleObjectname,Otherwise, it maybe a complex expr, you should check
TExpression.getExpressionType().for column values in update_set_clause, this expr is type of
TExpression.ASSIGNMENT- Returns:
-
init
Description copied from class:TParseTreeNodeInitialize a query tree node. Used internally- Overrides:
initin classTParseTreeNode- Parameters:
arg1- first argument
-
init
- Overrides:
initin classTParseTreeNode
-
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
-
getFieldAttr
- Returns:
- this is used to provide back compatibility of .NET version only.
-
getPrefixTable
-
getPrefixSchema
-
getPrefixDatabase
-
getPrefixServer
-
accept
Description copied from class:TParseTreeNodeAccept a visitor- Specified by:
acceptin interfaceVisitable- Overrides:
acceptin classTParseTreeNode- 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 classTParseTreeNode- Parameters:
v- visitor is a descendant class ofTParseTreeVisitor
-
setTargetColumns
-
setUpdateFor
-
getUpdateFor
-
compareTo
- Specified by:
compareToin interfaceComparable
-