Package gudusoft.gsqlparser.nodes
Class TCaseExpression
Object
gudusoft.gsqlparser.nodes.TParseTreeNode
gudusoft.gsqlparser.nodes.TCaseExpression
- All Implemented Interfaces:
Visitable,Iterator<TSourceToken>
CASE expressions let you use IF ... THEN ... ELSE logic in SQL statements without having to invoke procedures.
searched case expression: CASE {WHEN comparison_expr THEN return_expr}[...n] [ELSE else_expr] END
simple case expression:
- CASE input_expr {WHEN comparison_expr THEN return_expr}[...n] [ELSE else_expr] END
- input_expr:
getInput_expr() - WHEN...THEN... list:
getWhenClauseItemList() - else_expr:
getElse_expr()
searched case expression: CASE {WHEN comparison_expr THEN return_expr}[...n] [ELSE else_expr] END
- WHEN...THEN... list:
getWhenClauseItemList() - else_expr:
getElse_expr()
- CASE input_expr {WHEN comparison_expr THEN statement}[...n] [ELSE else_statement_list] END
- input_expr:
getInput_expr() - WHEN...THEN... list:
getWhenClauseItemList() - else_statement_list:
getElse_statement_list()
- input_expr:
- See Also:
-
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 classvoiddoParse(TCustomSqlStatement psql, ESqlClause plocation) Analyze the sub-nodes inside this node.voidvoidsetElse_expr(TExpression else_expr) voidsetElse_statement_list(TStatementList else_statement_list) voidsetElse_statement_node_list(TStatementListSqlNode else_statement_node_list) voidsetInput_expr(TExpression input_expr) voidsetWhenClauseItemList(TWhenClauseItemList whenClauseItemList) Methods 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, toString, 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
-
TCaseExpression
public TCaseExpression()
-
-
Method Details
-
getElse_expr
-
getInput_expr
-
getWhenClauseItemList
- Returns:
- List of When...Then... clause.
-
getElse_statement_node_list
-
getElse_statement_list
- Returns:
- else statement list in plsql case statement.
-
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
-
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
-
setInput_expr
-
setElse_expr
-
setWhenClauseItemList
-
setElse_statement_node_list
-
setElse_statement_list
-