public virtual Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression CompileExpression(Net.Vpc.Upa.Expressions.Expression expression, Net.Vpc.Upa.Persistence.ExpressionCompilerConfig config) { if (/*IsLoggable=*/ true) { } //expected api 1.2.1 // log.log(Level.FINE,"Compiling Expression " + expression); if (expression == null) { throw new System.NullReferenceException("Null Expression could not be compiled"); } Net.Vpc.Upa.Impl.Uql.ExpressionDeclarationList dec = new Net.Vpc.Upa.Impl.Uql.DefaultExpressionDeclarationList(null); if (config.GetAliasToEntityContext() != null) { foreach (System.Collections.Generic.KeyValuePair <string, string> entry in new System.Collections.Generic.HashSet <System.Collections.Generic.KeyValuePair <string, string> >(config.GetAliasToEntityContext())) { // check entity existence persistenceUnit.GetEntity((entry).Value); dec.ExportDeclaration((entry).Key, Net.Vpc.Upa.Impl.Uql.DecObjectType.ENTITY, (entry).Value, null); } } Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression s = TranslateAny(expression, dec); if (s is Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledQueryStatement) { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledQueryStatement qs = (Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledQueryStatement)s; System.Collections.Generic.IList <Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledQueryField> fields = qs.GetFields(); for (int i = 0; i < (fields).Count; i++) { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledQueryField field = fields[i]; field.SetIndex(i); } } return(s); }
public virtual Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledQueryField AddField(int index, Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression expression, string alias) { Invalidate(); Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledQueryField field = new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledQueryField(alias, expression); fields.Insert(index, field); PrepareChildren(field.GetExpression()); return(field); }
public virtual int IndexOf(Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression field) { for (int i = 0; i < (fields).Count; i++) { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledQueryField info = fields[i]; if (field.Equals(info.GetExpression())) { return(i); } } return(-1); }
protected internal virtual void AppendFields(Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledSelect o, System.Text.StringBuilder sb, Net.Vpc.Upa.Persistence.EntityExecutionContext context, Net.Vpc.Upa.Impl.Persistence.SQLManager sqlManager, Net.Vpc.Upa.Impl.Uql.ExpressionDeclarationList declarations) { sb.Append(" "); string aliasString = null; string valueString = null; bool started = false; if (o.CountFields() == 0) { sb.Append("..."); } else { // PersistenceStore persistenceStore = context.getPersistenceStore(); for (int i = 0; i < o.CountFields(); i++) { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledQueryField fi = o.GetField(i); Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression e = fi.GetExpression(); bool fieldIsSelect = e is Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledSelect; valueString = sqlManager.GetSQL(e, context, declarations); if (fieldIsSelect) { valueString = "(" + valueString + ")"; } aliasString = fi.GetAlias(); if (started) { sb.Append(","); } else { started = true; } if (aliasString == null) { sb.Append(valueString); } else { sb.Append(valueString); sb.Append(" "); sb.Append(sqlManager.GetSQL(new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledVar(aliasString), context, declarations)); } } } }
public override string ToString() { System.Text.StringBuilder sb = new System.Text.StringBuilder("Select "); if (top > 0) { sb.Append(" TOP ").Append(top); } if (distinct) { sb.Append(" DISTINCT"); } sb.Append(" "); string aliasString = null; string valueString = null; bool started = false; if (CountFields() == 0) { sb.Append("..."); } else { for (int i = 0; i < CountFields(); i++) { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledQueryField fi = GetField(i); Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression e = fi.GetExpression(); valueString = System.Convert.ToString(e); if (!(e is Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledVar) && !(e is Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledParam) && !(e is Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledFunction) && !(e is Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledLiteral)) { valueString = "(" + valueString + ")"; } aliasString = fi.GetAlias(); if (started) { sb.Append(","); } else { started = true; } if (aliasString == null) { sb.Append(valueString); } else { sb.Append(valueString); sb.Append(" "); sb.Append(aliasString); } } } if (GetEntity() == null) { } else { sb.Append(" From "); if (GetEntity() is Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledSelect) { sb.Append(GetEntity().ToString()); } else { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledEntityName entityName = (Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledEntityName)GetEntity(); sb.Append(entityName); } } if (GetEntityAlias() != null) { sb.Append(" ").Append(GetEntityAlias()); } for (int i = 0; i < CountJoins(); i++) { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledJoinCriteria e = GetJoin(i); sb.Append(" ").Append(e); } Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression c = GetWhere(); if (c != null && c.IsValid()) { sb.Append(" Where ").Append(c); } if (CountGroupByItems() > 0) { sb.Append(" "); int maxGroups = CountGroupByItems(); sb.Append("Group By "); for (int i = 0; i < maxGroups; i++) { if (i > 0) { sb.Append(", "); } sb.Append(GetGroupBy(i)); } } int maxOrders = CountOrderByItems(); if (maxOrders > 0) { sb.Append(" "); sb.Append("Order By "); for (int i = 0; i < maxOrders; i++) { if (i > 0) { sb.Append(", "); } sb.Append(GetOrderBy(i)); if (IsOrderAscending(i)) { sb.Append(" Asc "); } else { sb.Append(" Desc "); } } } return(sb.ToString()); }
public virtual Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledQueryField AddField(Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledQueryField compiledQueryField) { Invalidate(); fields.Add(compiledQueryField); return(compiledQueryField); }