protected HqlTreeNode(int type, string text, IASTFactory factory, IEnumerable<HqlTreeNode> children) { Factory = factory; _node = factory.CreateNode(type, text); _children = new List<HqlTreeNode>(); AddChildren(children); }
protected HqlTreeNode(int type, string text, IASTFactory factory, params HqlTreeNode[] children) { _node = factory.CreateNode(type, text); _children = new List<HqlTreeNode>(); foreach (var child in children) { _children.Add(child); _node.AddChild(child.AstNode); } }
/// <summary> /// Generates the scalar column AST nodes for a given array of SQL columns /// </summary> public static void GenerateScalarColumns(IASTFactory factory, IASTNode node, string[] sqlColumns, int i) { if (sqlColumns.Length == 1) { GenerateSingleScalarColumn(factory, node, i); } else { node.Text = sqlColumns[0]; // Use the DOT node to emit the first column name. // Create the column names, folled by the column aliases. for (int j = 0; j < sqlColumns.Length; j++) { if (j > 0) { node = node.AddSibling(factory.CreateNode(HqlSqlWalker.SQL_TOKEN, sqlColumns[j])); } node = node.AddSibling(factory.CreateNode(HqlSqlWalker.SELECT_COLUMNS, " as " + NameGenerator.ScalarName(i, j))); } } }
/// <summary> /// Turns a path into an AST. /// </summary> /// <param name="path">The path.</param> /// <param name="factory">The AST factory to use.</param> /// <returns>An HQL AST representing the path.</returns> public static IASTNode ParsePath(string path, IASTFactory factory) { string[] identifiers = StringHelper.Split(".", path); IASTNode lhs = null; for (int i = 0; i < identifiers.Length; i++) { string identifier = identifiers[i]; IASTNode child = factory.CreateNode(HqlSqlWalker.IDENT, identifier); if (i == 0) { lhs = child; } else { lhs = factory.CreateNode(HqlSqlWalker.DOT, ".", lhs, child); } } if (log.IsDebugEnabled) { log.Debug("parsePath() : " + path + " -> " + ASTUtil.GetDebugstring(lhs)); } return lhs; }
public HqlLike(IASTFactory factory, HqlExpression lhs, HqlExpression rhs, HqlConstant escapeCharacter) : base(HqlSqlWalker.LIKE, "like", factory, lhs, rhs, new HqlEscape(factory, escapeCharacter)) { }
public HqlGroupBy(IASTFactory factory, params HqlExpression[] expressions) : base(HqlSqlWalker.GROUP, "group by", factory, expressions) { }
public HqlStar(IASTFactory factory) : base(HqlSqlWalker.ROW_STAR, "*", factory) { }
public HqlConcat(IASTFactory factory, params HqlExpression[] args) : base(HqlSqlWalker.METHOD_CALL, "method", factory) { AddChild(new HqlIdent(factory, "concat")); AddChild(new HqlExpressionList(factory, args)); }
public HqlDistinct(IASTFactory factory) : base(HqlSqlWalker.DISTINCT, "distinct", factory) { }
public HqlLeft(IASTFactory factory) : base(HqlSqlWalker.LEFT, "left", factory) { }
public HqlFetch(IASTFactory factory) : base(HqlSqlWalker.FETCH, "fetch", factory) { }
public HqlLikeWithEscape(IASTFactory factory, HqlExpression lhs, HqlExpression rhs, HqlEscape escape) : base(HqlSqlWalker.LIKE, "like", factory, lhs, rhs, escape) { }
public static void GenerateSingleScalarColumn(IASTFactory factory, IASTNode node, int i) { node.AddSibling(factory.CreateNode(HqlSqlWalker.SELECT_COLUMNS, " as " + NameGenerator.ScalarName(i, 0))); }
public HqlExpressionSubTreeHolder(IASTFactory factory, IEnumerable <HqlTreeNode> children) : base(int.MinValue, "expression sub-tree holder", factory, children) { }
public HqlBooleanMethodCall(IASTFactory factory, string methodName, IEnumerable <HqlExpression> parameters) : base(HqlSqlWalker.METHOD_CALL, "method", factory) { AddChild(new HqlIdent(factory, methodName)); AddChild(new HqlExpressionList(factory, parameters)); }
public HqlEscape(IASTFactory factory, HqlConstant escapeCharacter) : base(HqlSqlWalker.ESCAPE, "escape", factory, escapeCharacter) { }
public HqlSum(IASTFactory factory, HqlExpression expression) : base(HqlSqlWalker.AGGREGATE, "sum", factory, expression) { }
public HqlJoin(IASTFactory factory, HqlExpression expression, HqlAlias @alias) : base(HqlSqlWalker.JOIN, "join", factory, expression, @alias) { }
public HqlAll(IASTFactory factory) : base(HqlSqlWalker.ALL, "all", factory) { }
public HqlBitwiseOr(IASTFactory factory, HqlExpression lhs, HqlExpression rhs) : base(HqlSqlWalker.BOR, "bor", factory, lhs, rhs) { }
public HqlTreeBuilder() { _factory = new ASTFactory(new ASTTreeAdaptor()); }
public HqlExists(IASTFactory factory, HqlQuery query) : base(HqlSqlWalker.EXISTS, "exists", factory, query) { }
public HqlElements(IASTFactory factory, HqlExpression dictionary) : base(HqlSqlWalker.ELEMENTS, "elements", factory, dictionary) { }
public HqlEscape(IASTFactory factory, params HqlTreeNode[] children) : base(HqlSqlWalker.ESCAPE, "escape", factory, children) { }
public HqlExpressionSubTreeHolder(IASTFactory factory, IEnumerable<HqlTreeNode> children) : base(int.MinValue, "expression sub-tree holder", factory, children) { }
public HqlIsNotNull(IASTFactory factory, HqlExpression lhs) : base(HqlSqlWalker.IS_NOT_NULL, "is not null", factory, lhs) { }
public HqlInList(IASTFactory factory, HqlTreeNode source) : base(HqlSqlWalker.IN_LIST, "inlist", factory, source) { }
public HqlBitwiseNot(IASTFactory factory) : base(HqlSqlWalker.BNOT, "not", factory) { }
public HqlLike(IASTFactory factory, HqlExpression lhs, HqlExpression rhs) : base(HqlSqlWalker.LIKE, "like", factory, lhs, rhs) { }
public HqlIn(IASTFactory factory, HqlExpression itemExpression, HqlTreeNode source) : base(HqlSqlWalker.IN, "in", factory, itemExpression) { AddChild(new HqlInList(factory, source)); }
public HqlSum(IASTFactory factory) : base(HqlSqlWalker.AGGREGATE, "sum", factory) { }
protected HqlStatement(int type, string text, IASTFactory factory, params HqlTreeNode[] children) : base(type, text, factory, children) { }
public HqlMin(IASTFactory factory, HqlExpression expression) : base(HqlSqlWalker.AGGREGATE, "min", factory, expression) { }
protected HqlStatement(int type, string text, IASTFactory factory, IEnumerable <HqlTreeNode> children) : base(type, text, factory, children) { }
public HqlLeftFetchJoin(IASTFactory factory, HqlExpression expression, HqlAlias @alias) : base(HqlSqlWalker.JOIN, "join", factory, new HqlLeft(factory), new HqlFetch(factory), expression, @alias) { }
protected HqlBooleanExpression(int type, string text, IASTFactory factory, IEnumerable <HqlTreeNode> children) : base(type, text, factory, children) { }
public HqlClass(IASTFactory factory) : base(HqlSqlWalker.CLASS, "class", factory) { }
protected HqlBooleanExpression(int type, string text, IASTFactory factory, params HqlTreeNode[] children) : base(type, text, factory, children) { }
public HqlBitwiseAnd(IASTFactory factory, HqlExpression lhs, HqlExpression rhs) : base(HqlSqlWalker.BAND, "band", factory, lhs, rhs) { }
internal HqlQuery(IASTFactory factory, params HqlStatement[] children) : base(HqlSqlWalker.QUERY, "query", factory, children) { }
public HqlAny(IASTFactory factory) : base(HqlSqlWalker.ANY, "any", factory) { }
internal HqlIdent(IASTFactory factory, string ident) : base(HqlSqlWalker.IDENT, ident, factory) { }
public HqlElements(IASTFactory factory) : base(HqlSqlWalker.ELEMENTS, "elements", factory) { }
protected HqlTreeNode(int type, string text, IASTFactory factory, params HqlTreeNode[] children) : this(type, text, factory, (IEnumerable <HqlTreeNode>)children) { }
internal HqlRange(IASTFactory factory, params HqlTreeNode[] children) : base(HqlSqlWalker.RANGE, "range", factory, children) { }
internal HqlFrom(IASTFactory factory, params HqlTreeNode[] children) : base(HqlSqlWalker.FROM, "from", factory, children) { }
public HqlBooleanMethodCall(IASTFactory factory, string methodName, IEnumerable<HqlExpression> parameters) : base(HqlSqlWalker.METHOD_CALL, "method", factory) { AddChild(new HqlIdent(factory, methodName)); AddChild(new HqlExpressionList(factory, parameters)); }
internal HqlSelectFrom(IASTFactory factory, params HqlTreeNode[] children) : base(HqlSqlWalker.SELECT_FROM, "select_from", factory, children) { }
internal HqlDelete(IASTFactory factory, params HqlTreeNode[] children) : base(HqlSqlWalker.DELETE, "delete", factory, children) { }
internal HqlUpdate(IASTFactory factory, params HqlTreeNode[] children) : base(HqlSqlWalker.UPDATE, "update", factory, children) { }