public class TResultColumn extends TNodeWithAliasClause implements Comparable
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)
dbvendor, doubleLinkedTokenListToString, nodeActionAppend, nodeActionInsert, nodeActionRemove, nodeActionUnknown, nodeActionUpdate, nodeActionUpdateText, nodeChangeEndToken, nodeChangeStartToken| Constructor and Description |
|---|
TResultColumn() |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(TParseTreeVisitor v)
Accept a visitor
|
void |
acceptChildren(TParseTreeVisitor v)
Accept a visitor to iterate this class and sub-nodes of this class
|
int |
compareTo(Object o) |
void |
doParse(TCustomSqlStatement psql,
ESqlClause plocation)
Analyze the sub-nodes inside this node.
|
String |
getAliasName() |
ArrayList<TObjectName> |
getAliasNameList() |
ArrayList<TObjectName> |
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)
|
String |
getColumnAlias() |
TObjectName |
getColumnFullname() |
String |
getColumnNameOnly() |
String |
getDisplayName()
This is the display name shown in the output of select list
|
TObjectNameList |
getExceptColumnList()
Bigquery except columns
SELECT COMMON.* EXCEPT (column1, column2) FROM dataset1.table1 COMMON;
|
TExpression |
getExpr()
column expression.
|
ArrayList<TReplaceExprAsIdentifier> |
getExprAsIdentifiers()
BigQuery replace columns
SELECT * REPLACE (quantity/2 AS quantity) |
TObjectName |
getFieldAttr() |
String |
getPrefixDatabase() |
String |
getPrefixSchema() |
String |
getPrefixServer() |
String |
getPrefixTable() |
TQualifyClause |
getQualifyClause() |
ArrayList<TReplaceExprAsIdentifier> |
getReplaceExprAsIdentifiers()
BigQuery select * except(expr as identifier)
|
TObjectNameList |
getTargetColumns() |
TUpdateFor |
getUpdateFor() |
void |
init(Object arg1)
Initialize a query tree node.
|
void |
init(Object arg1,
Object arg2) |
boolean |
isMatchedUsingAlias(TObjectName pColumn) |
boolean |
isMatchedWithResultColumn(EDbVendor dbVendor,
TObjectName pColumn) |
boolean |
isPlaceHolder()
this is true when there is no column names specified for fields in teradata insert statement
|
void |
setAliasName(String aliasName) |
void |
setDataTypeConversionList(TPTNodeList<TExplicitDataTypeConversion> dataTypeConversionList) |
void |
setExpr(TExpression expr) |
void |
setPlaceHolder(boolean placeHolder) |
void |
setQualifyClause(TQualifyClause qualifyClause) |
void |
setTargetColumns(TObjectNameList targetColumns) |
void |
setUpdateFor(TUpdateFor updateFor) |
void |
TResultColumn() |
getAliasClause, setAliasClause, toStringaddAllMyTokensToTokenList, 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, toString2clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitforEachRemainingpublic TResultColumn()
public ArrayList<TObjectName> getAliasNameList()
public ArrayList<TObjectName> getAttributesFromUpLevelReferenceToStarColumn()
public void setAliasName(String aliasName)
public String getAliasName()
public ArrayList<TReplaceExprAsIdentifier> getExprAsIdentifiers()
public TObjectNameList getExceptColumnList()
public ArrayList<TReplaceExprAsIdentifier> getReplaceExprAsIdentifiers()
public void setQualifyClause(TQualifyClause qualifyClause)
public TQualifyClause getQualifyClause()
public void setDataTypeConversionList(TPTNodeList<TExplicitDataTypeConversion> dataTypeConversionList)
public TObjectNameList getTargetColumns()
public boolean isMatchedUsingAlias(TObjectName pColumn)
public boolean isMatchedWithResultColumn(EDbVendor dbVendor, TObjectName pColumn)
public void TResultColumn()
public String getDisplayName()
public String getColumnAlias()
public TObjectName getColumnFullname()
public String getColumnNameOnly()
public void setExpr(TExpression expr)
public void setPlaceHolder(boolean placeHolder)
public boolean isPlaceHolder()
INSERT INTO employee (10005, 'Orebo B',300,,,, 'Nov 17 1957','M',,,18,);
public TExpression getExpr()
TExpression.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
public void init(Object arg1)
TParseTreeNodeinit in class TParseTreeNodearg1 - first argumentpublic void init(Object arg1, Object arg2)
init in class TParseTreeNodepublic void doParse(TCustomSqlStatement psql, ESqlClause plocation)
TParseTreeNodedoParse in class TParseTreeNodepsql - SQL statement this node belongs toplocation - SQL clause this node belongs topublic TObjectName getFieldAttr()
public String getPrefixTable()
public String getPrefixSchema()
public String getPrefixDatabase()
public String getPrefixServer()
public void accept(TParseTreeVisitor v)
TParseTreeNodeaccept in interface Visitableaccept in class TParseTreeNodev - visitor is a descendant class of TParseTreeVisitorpublic void acceptChildren(TParseTreeVisitor v)
TParseTreeNodeacceptChildren in interface VisitableacceptChildren in class TParseTreeNodev - visitor is a descendant class of TParseTreeVisitorpublic void setTargetColumns(TObjectNameList targetColumns)
public void setUpdateFor(TUpdateFor updateFor)
public TUpdateFor getUpdateFor()
public int compareTo(Object o)
compareTo in interface Comparable