Class TFunctionCall

Object
gudusoft.gsqlparser.nodes.TParseTreeNode
gudusoft.gsqlparser.nodes.TFunctionCall
All Implemented Interfaces:
Visitable, Iterator<TSourceToken>
Direct Known Subclasses:
TArrayConcatAggFunction, TDaxFunction, TJsonFunction, TJsonObjectFunction, TRangeNFunction, TTableFunction

public class TFunctionCall extends TParseTreeNode
Represents the database function, all functions are represented by this class no matter what's type of the function. Maybe it's a better idea to create the specific sub-class for function with different syntax such as the built-in function extract, convert, substring and others. We may implement this feature in the later version. For the most of functions, the arguments are a lists of TExpression. For other functions with the different syntax in arguments, please check the detailed information below. this class includes function name and arguments.
There are 3 types of functions:
  • Arguments is a list of expressions
  • Analytic function
  • Function with specific arguments, such as cast function
1.Arguments is a list of expressions
function([expr,expr, ...])

2.Analytic function
Use getWindowDef() to get over clause information.

3.Function with specific arguments

trim

cast(expr as typename), cast(expr as typename [,datatypeAttribute]), cast(expr as datatypeAttribute)

convert(typename,[null|not null] expr1 [,expr2]),

extract([time_token from expr]),

sql server contains function,contains(in_expr, expr [,langTerm]),

sql server freetext,freetext(contain in expr, expr [,langTerm])

,

Oracle Extract(XML): extract(XMLType_instance, XPath_string[,namespace_string]),

Rank(value,...),

XMLPassingClause of XMLExists function