18 using System.Collections.Generic;
25 namespace Deveel.Data.Sql.Parser {
27 public string CursorName {
get;
private set; }
31 public IEnumerable<CursorParameterNode> Parameters {
get;
private set; }
35 public bool Scroll {
get;
private set; }
39 CursorName = ((IdentifierNode) node).Text;
40 }
else if (node.
NodeName.Equals(
"cursor_args_opt")) {
44 }
else if (node.
NodeName.Equals(
"insensitive_opt")) {
46 }
else if (node.
NodeName.Equals(
"scroll_opt")) {
50 return base.OnChildNode(node);
54 var parameters =
new List<CursorParameter>();
55 if (Parameters != null) {
56 foreach (var parameterNode
in Parameters) {
57 var dataType = builder.
BuildDataType(parameterNode.ParameterType);
58 parameters.Add(
new CursorParameter(parameterNode.ParameterName, dataType));
override ISqlNode OnChildNode(ISqlNode node)
During the initialization of the node from the parser, this method is called for every child node add...
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)
ICollection< IStatement > Statements
The root node of an expression used to select a set of items from a set of sources defined...
IEnumerable< ISqlNode > ChildNodes
Gets a read-only enumeration of the children nodes, if any.
override void BuildStatement(StatementBuilder builder)
SqlType BuildDataType(DataTypeNode node)
This interface acts like a marker that indicates if a ISqlNode represents a SQL expression.