18 using System.Collections.Generic;
25 namespace Deveel.Data.Sql.Parser {
27 public string CursorName {
get;
private set; }
29 public IEnumerable<IExpressionNode> Arguments {
get;
private set; }
33 CursorName = ((IdentifierNode) node).Text;
34 }
else if (node.
NodeName.Equals(
"args_opt")) {
38 return base.OnChildNode(node);
42 var listNode = node.FindByName(
"arg_list");
46 var args =
new List<IExpressionNode>();
48 foreach (var childNode
in listNode.ChildNodes) {
50 args.Add((IExpressionNode)childNode);
53 Arguments = args.AsEnumerable();
57 var args =
new List<SqlExpression>();
58 if (Arguments != null) {
This is a simple identifier within a SQL grammar.
Defines the contract for nodes in an AST model for a SQL grammar analysis and parsing.
string NodeName
Gets the name of the node analyzed from the parser.
static SqlExpression Build(IExpressionNode node)
override ISqlNode OnChildNode(ISqlNode node)
During the initialization of the node from the parser, this method is called for every child node add...
ICollection< IStatement > Statements
void GetArguments(ISqlNode node)
override void BuildStatement(StatementBuilder builder)
This interface acts like a marker that indicates if a ISqlNode represents a SQL expression.