Ejemplo n.º 1
0
 protected internal override void Format(StringBuilder builder, Query.Row row)
 {
     builder.Append(row.expression);
     if (Sharpen.Runtime.EqualsIgnoreCase(QueryFormat.DESCENDING_FLAG, row.name1))
     {
         builder.Append(" DESC");
     }
 }
Ejemplo n.º 2
0
        public virtual string GetTransformExpression()
        {
            Query.Row row = GetTransformRow();
            if (row.expression == null)
            {
                return(null);
            }
            // note column expression are always quoted appropriately
            StringBuilder builder = new StringBuilder(row.expression);

            return(ToAlias(builder, row.name1).ToString());
        }
Ejemplo n.º 3
0
            protected internal override void Format(StringBuilder builder, Query.Row row)
            {
                string typeName = QueryFormat.PARAM_TYPE_MAP.Get(row.flag);

                if (typeName == null)
                {
                    throw new InvalidOperationException("Unknown param type " + row.flag);
                }
                builder.Append(row.name1).Append(' ').Append(typeName);
                if ((QueryFormat.TEXT_FLAG.Equals(row.flag)) && (HealthMarketScience.Jackcess.Query.Query
                                                                 .GetIntValue(row.extra, 0) > 0))
                {
                    builder.Append('(').Append(row.extra).Append(')');
                }
            }
Ejemplo n.º 4
0
 protected internal abstract bool Keep(Query.Row row);
Ejemplo n.º 5
0
 protected internal abstract void Format(StringBuilder builder, Query.Row row);
Ejemplo n.º 6
0
 protected internal static bool HasFlag(Query.Row row, int flagMask)
 {
     return((GetShortValue(row.flag, 0) & flagMask) != 0);
 }
Ejemplo n.º 7
0
 protected internal override bool Keep(Query.Row row)
 {
     return(!HealthMarketScience.Jackcess.Query.Query.HasFlag(row, flag));
 }
Ejemplo n.º 8
0
        public virtual IList <string> GetFromTables()
        {
            IList <Query.Join> joinExprs = new AList <Query.Join>();

            foreach (Query.Row table in GetTableRows())
            {
                StringBuilder builder = new StringBuilder();
                if (table.expression != null)
                {
                    ToQuotedExpr(builder, table.expression).Append(QueryFormat.IDENTIFIER_SEP_CHAR);
                }
                if (table.name1 != null)
                {
                    ToOptionalQuotedExpr(builder, table.name1, true);
                }
                ToAlias(builder, table.name2);
                string key = ((table.name2 != null) ? table.name2 : table.name1);
                joinExprs.AddItem(new Query.Join(key, builder.ToString()));
            }
            IList <Query.Row> joins = GetJoinRows();

            if (!joins.IsEmpty())
            {
                // combine any multi-column joins
                ICollection <IList <Query.Row> > comboJoins = CombineJoins(joins);
                foreach (IList <Query.Row> comboJoin in comboJoins)
                {
                    Query.Row join     = comboJoin[0];
                    string    joinExpr = join.expression;
                    if (comboJoin.Count > 1)
                    {
                        // combine all the join expressions with "AND"
                        Query.AppendableList <string> comboExprs = new _AppendableList_279();
                        foreach (Query.Row tmpJoin in comboJoin)
                        {
                            comboExprs.AddItem(tmpJoin.expression);
                        }
                        joinExpr = new StringBuilder().Append("(").Append(comboExprs).Append(")").ToString
                                       ();
                    }
                    string     fromTable = join.name1;
                    string     toTable   = join.name2;
                    Query.Join fromExpr  = GetJoinExpr(fromTable, joinExprs);
                    Query.Join toExpr    = GetJoinExpr(toTable, joinExprs);
                    string     joinType  = QueryFormat.JOIN_TYPE_MAP.Get(join.flag);
                    if (joinType == null)
                    {
                        throw new InvalidOperationException("Unknown join type " + join.flag);
                    }
                    string expr = new StringBuilder().Append(fromExpr).Append(joinType).Append(toExpr
                                                                                               ).Append(" ON ").Append(joinExpr).ToString();
                    fromExpr.Add(toExpr, expr);
                    joinExprs.AddItem(fromExpr);
                }
            }
            IList <string> result = new Query.AppendableList <string>();

            foreach (Query.Join joinExpr_1 in joinExprs)
            {
                result.AddItem(joinExpr_1.expression);
            }
            return(result);
        }
Ejemplo n.º 9
0
 protected internal override void Format(StringBuilder builder, Query.Row row)
 {
     builder.Append(row.expression);
 }
Ejemplo n.º 10
0
 protected internal override void Format(StringBuilder builder, Query.Row row)
 {
     builder.Append(row.expression);
     HealthMarketScience.Jackcess.Query.Query.ToAlias(builder, row.name1);
 }
Ejemplo n.º 11
0
 protected internal override void Format(StringBuilder builder, Query.Row row)
 {
     HealthMarketScience.Jackcess.Query.Query.ToOptionalQuotedExpr(builder, row.name2,
                                                                   true).Append(" = ").Append(row.expression);
 }