public override string GetSQL(object oo, Net.Vpc.Upa.Persistence.EntityExecutionContext qlContext, Net.Vpc.Upa.Impl.Persistence.SQLManager sqlManager, Net.Vpc.Upa.Impl.Uql.ExpressionDeclarationList declarations) /* throws Net.Vpc.Upa.Exceptions.UPAException */
 {
     Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledUplet o = (Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledUplet)oo;
     //        PersistenceUnitManager queryLanguageManager = qlContext.getPersistenceUnitManager();
     Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression   sql;
     Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression[] expressions = o.GetExpressions();
     if (expressions.Length > 1)
     {
         Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledConcat concat = new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledConcat();
         for (int i = 0; i < expressions.Length; i++)
         {
             if (i > 0)
             {
                 concat.Add(new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledLiteral('~'));
             }
             concat.Add(expressions[i]);
         }
         sql = concat;
     }
     else
     {
         sql = expressions[0];
     }
     return(sqlManager.GetSQL(sql, qlContext, declarations));
 }
Exemple #2
0
 public Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledConcat AddAll(Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledConcat other)
 {
     for (int i = 0; i < other.GetArgumentsCount(); i++)
     {
         Add((Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression)other.GetArgument(i));
     }
     return(this);
 }
        public override string GetSQL(object oo, Net.Vpc.Upa.Persistence.EntityExecutionContext qlContext, Net.Vpc.Upa.Impl.Persistence.SQLManager sqlManager, Net.Vpc.Upa.Impl.Uql.ExpressionDeclarationList declarations) /* throws Net.Vpc.Upa.Exceptions.UPAException */
        {
            Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledPlus o = (Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledPlus)oo;
            System.Type t1 = o.GetLeft().GetTypeTransform().GetTargetType().GetPlatformType();
            System.Type t2 = o.GetRight().GetTypeTransform().GetTargetType().GetPlatformType();
            bool        s0 = o.GetTypeTransform().GetTargetType().GetPlatformType().Equals(typeof(string));
            bool        s1 = t1.Equals(typeof(string));
            bool        s2 = t2.Equals(typeof(string));

            if (s0 || s1 || s2)
            {
                Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression c1 = o.GetLeft().Copy();
                Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression c2 = o.GetRight().Copy();
                c1.SetParentExpression(null);
                c2.SetParentExpression(null);
                if (!s1)
                {
                    if (Net.Vpc.Upa.Impl.Util.PlatformUtils.IsAnyInteger(t1))
                    {
                        c1 = new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledI2V(c1.Copy());
                    }
                    else if (Net.Vpc.Upa.Impl.Util.PlatformUtils.IsAnyFloat(t1))
                    {
                        c1 = new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledI2V(c1.Copy());
                    }
                    else
                    {
                        throw new System.ArgumentException("Unsupported");
                    }
                }
                if (!s2)
                {
                    if (Net.Vpc.Upa.Impl.Util.PlatformUtils.IsAnyInteger(t2))
                    {
                        c2 = new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledI2V(c2.Copy());
                    }
                    else if (Net.Vpc.Upa.Impl.Util.PlatformUtils.IsAnyFloat(t2))
                    {
                        c2 = new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledI2V(c2.Copy());
                    }
                    else
                    {
                        throw new System.ArgumentException("Unsupported");
                    }
                }
                Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledConcat cc = new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledConcat(c1, c2);
                return(sqlManager.GetSQL(cc, qlContext, declarations));
            }
            string leftValue = o.GetLeft() != null?sqlManager.GetSQL(o.GetLeft(), qlContext, declarations) : "NULL";

            string rightValue = o.GetRight() != null?sqlManager.GetSQL(o.GetRight(), qlContext, declarations) : "NULL";

            string s = null;

            s = leftValue + " + " + rightValue;
            return("(" + s + ")");
        }
Exemple #4
0
 protected internal virtual Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledConcat CompileConcat(Net.Vpc.Upa.Expressions.Concat v, Net.Vpc.Upa.Impl.Uql.ExpressionTranslationManager manager, Net.Vpc.Upa.Impl.Uql.ExpressionDeclarationList declarations)
 {
     if (v == null)
     {
         return(null);
     }
     Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledConcat s = new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledConcat(manager.TranslateArray(v.GetArguments(), declarations));
     //        s.setDeclarationList(declarations);
     return(s);
 }
        public Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression Expand(Net.Vpc.Upa.PersistenceUnit PersistenceUnit)
        {
            Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledConcat c = new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledConcat();
            int    i      = 0;
            int    varPos = 0;
            string str    = (string)pattern.GetValue();

            while (i >= 0 && i < (str).Length)
            {
                int j = str.IndexOf("{", i);
                if (j < 0)
                {
                    c.Add(new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledLiteral(str.Substring(i)));
                    i = -1;
                }
                else
                {
                    c.Add(new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledLiteral(str.Substring(i, j)));
                    int    k       = str.IndexOf("}", j + 1);
                    string varName = null;
                    if (k < 0)
                    {
                        varName = str.Substring(j + 1);
                        i       = -1;
                    }
                    else
                    {
                        varName = (str.Substring(j + 1, k));
                        i       = k + 1;
                    }
                    if (varName.Equals("?"))
                    {
                        c.Add(expressions[varPos]);
                    }
                    else if (Net.Vpc.Upa.Impl.Util.PlatformUtils.IsInt32(varName))
                    {
                        c.Add(expressions[System.Convert.ToInt32(varName)]);
                    }
                    else
                    {
                        throw new System.ArgumentException("Unsupported");
                    }
                    varPos++;
                }
            }
            return(c);
        }
Exemple #6
0
 public override Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression Copy()
 {
     Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledConcat o = new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledConcat();
     ProtectedCopyTo(o);
     return(o);
 }