Example #1
0
        public override SubqueryTable VisitSubqueryTable(SubqueryTable subqueryTable)
        {
            var result = base.VisitSubqueryTable(subqueryTable);

            contexts.Peek().Register(result.Alias, result);
            return(result);
        }
Example #2
0
 public override SubqueryTable VisitSubqueryTable(SubqueryTable subqueryTable)
 {
     Visit(subqueryTable.Query);
     if (string.IsNullOrWhiteSpace(subqueryTable.Alias))
     {
         var message = string.Format("Subquery must have an alias but did not: [{0}]", subqueryTable);
         throw new InvalidOperationException(message);
     }
     builder.AppendFormat(" as {0}", subqueryTable.Alias);
     return(subqueryTable);
 }
Example #3
0
        public void RegisterSubquery(SubqueryTable clause)
        {
            QueryRoot queryRoot;

            if (queryTables.TryGetValue(clause, out queryRoot))
            {
                return;
            }
            var subqueryProperties = CreateSubqueryProperties(clause.Query.Query.Unions.First().SelectClause);
            var mapping            = new TableMapping(clause.Alias, clause.Alias, TableType.Main, subqueryProperties);
            var queryEntity        = new QueryEntity(mapping, null);

            queryRoot = new QueryRoot(queryEntity, clause);
            queryTables.Add(clause, queryRoot);
        }
Example #4
0
        public override SubqueryTable VisitSubqueryTable(SubqueryTable clause)
        {
            var context = contexts.Peek();

            if (context.AreaColumn == null)
            {
                context.AreaColumn = new ColumnReferenceExpression
                {
                    Name  = null,
                    Table = clause
                }
            }
            ;
            return(base.VisitSubqueryTable(clause));
        }
Example #5
0
 public virtual SubqueryTable VisitSubqueryTable(SubqueryTable subqueryTable)
 {
     subqueryTable.Query = (SubqueryClause)Visit(subqueryTable.Query);
     return(subqueryTable);
 }
Example #6
0
 public override SubqueryTable VisitSubqueryTable(SubqueryTable subqueryTable)
 {
     return(visit(base.VisitSubqueryTable(subqueryTable)));
 }
Example #7
0
 public override SubqueryTable VisitSubqueryTable(SubqueryTable subqueryTable)
 {
     contexts.Peek().MainTable = null;
     return(base.VisitSubqueryTable(subqueryTable));
 }