Exemple #1
0
        public override UnionClause VisitUnion(UnionClause clause)
        {
            contexts.Push(new Context());
            var result = base.VisitUnion(clause);

            contexts.Pop();
            return(result);
        }
 protected PostgresQueryBase(IServiceProvider serviceProvider)
     : base(serviceProvider)
 {
     fromClause    = serviceProvider.GetRequiredService <FromClause>();
     joinClause    = serviceProvider.GetRequiredService <JoinClause>();
     whereClause   = serviceProvider.GetRequiredService <WhereClause>();
     groupByClause = serviceProvider.GetRequiredService <GroupByClause>();
     havingClause  = serviceProvider.GetRequiredService <HavingClause>();
     unionClause   = serviceProvider.GetRequiredService <UnionClause>();
     orderByClause = serviceProvider.GetRequiredService <OrderByClause>();
 }
 public SqlServerQueryBase(IServiceProvider serviceProvider)
     : base(serviceProvider)
 {
     fromClause    = serviceProvider.GetRequiredService <FromClause>();
     joinClause    = serviceProvider.GetRequiredService <JoinClause>();
     whereClause   = serviceProvider.GetRequiredService <WhereClause>();
     groupByClause = serviceProvider.GetRequiredService <GroupByClause>();
     havingClause  = serviceProvider.GetRequiredService <HavingClause>();
     unionClause   = serviceProvider.GetRequiredService <UnionClause>();
     orderByClause = serviceProvider.GetRequiredService <OrderByClause>();
     forClause     = serviceProvider.GetRequiredService <SqlServerForClause>();
 }
Exemple #4
0
        public override UnionClause VisitUnion(UnionClause clause)
        {
            var result = base.VisitUnion(clause);

            if (clause.Type.HasValue)
            {
                builder.Append("\r\n\r\nunion");
                if (clause.Type == UnionType.All)
                {
                    builder.Append(" all");
                }
                builder.Append("\r\n\r\n");
            }
            return(result);
        }
Exemple #5
0
        /// <summary>
        /// Converts an UNION clause to string
        /// </summary>
        static string UnionToStr(UnionClause clause, SqlExprParams pars)
        {
            var b       = new StringBuilder();
            var typeStr =
                clause.Type == UnionType.Union ?
                (
                    clause.Uniqueness == UnionUniqueness.All ?
                    "UNION ALL" : "UNION"
                ) :
                clause.Type == UnionType.Intersect ? "INTERSECT" :
                clause.Type == UnionType.Except ? "EXCEPT" :
                throw new ArgumentException();

            var queryStr = StatementStr.QueryToStr(clause.Query, pars.ParamMode, pars.ParamDic);

            b.AppendLine(typeStr);
            b.AppendLine("(");
            b.AppendLine(TabStr(queryStr.Sql));
            b.Append(")");

            return(b.ToString());
        }
Exemple #6
0
 public virtual UnionClause VisitUnion(UnionClause clause)
 {
     clause.SelectClause = VisitSelect(clause.SelectClause);
     return(clause);
 }
Exemple #7
0
        protected string CompileUnion(UnionClause union)
        {
            string joiner = union.All ? " union all " : " union ";

            return(joiner + union.Query.ToSql());
        }