public override Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression Copy() { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledInCollection o = new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledInCollection(left.Copy()); o.SetDescription(GetDescription()); o.GetClientParameters().SetAll(GetClientParameters()); foreach (Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression expression in right) { o.Add(expression.Copy()); } return(o); }
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.CompiledInCollection o = (Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledInCollection)oo; Net.Vpc.Upa.Persistence.PersistenceStore qlm = qlContext.GetPersistenceStore(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); int mySize = o.GetRightSize(); if (mySize == 0) { sb.Append("1 <> 1"); } else { if (mySize == 1) { sb.Append(sqlManager.GetSQL(o.GetLeft(), qlContext, declarations)); Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression e = o.GetRight(0); if (e == null || (e is Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledLiteral && ((Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledLiteral)e).GetValue() == null)) { sb.Append(" Is Null"); } else { sb.Append(" = "); sb.Append(sqlManager.GetSQL(e, qlContext, declarations)); } } else { sb.Append(sqlManager.GetSQL(o.GetLeft(), qlContext, declarations)); sb.Append(" In ("); for (int i = 0; i < mySize; i++) { if (i > 0) { sb.Append(","); } Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression e = o.GetRight(i); if (e == null) { sb.Append("Null"); } else { sb.Append(sqlManager.GetSQL(e, qlContext, declarations)); } } sb.Append(")"); } } return('(' + sb.ToString() + ')'); }