/** * INTERNAL: */ public void removeField(DatabaseField field) { getFields().removeElement(field); }
/** * INTERNAL: */ public void removeField(DatabaseField field) { getFields().remove(field); }
public void addField(DatabaseField field) { getFields().addElement(field); }
/** * INTERNAL: */ public void removeField(DatabaseField field) { getFields().remove(field); }
public void addField(DatabaseField field) { getFields().addElement(field); }
public void addField(DatabaseField field) { getFields().addElement(field); }
/** * INTERNAL: adds an expression to the fields. set a flag if the expression * is for and aggregate function. */ public void addField(Expression expression) { if (expression instanceof FunctionExpression) { if (((FunctionExpression)expression).getOperator().isAggregateOperator()) { setIsAggregateSelect(true); } } getFields().add(expression); }
/** * INTERNAL: */ protected Vector writeFieldsIn(ExpressionSQLPrinter printer) { this.lastTable = null; Vector newFields = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(); for (Enumeration fieldsEnum = getFields().elements(); fieldsEnum.hasMoreElements();) { Object next = fieldsEnum.nextElement(); // Fields can be null placeholders for fetch groups. if (next != null) { if (next instanceof Expression) { writeFieldsFromExpression(printer, (Expression)next, newFields); } else { writeField(printer, (DatabaseField)next); newFields.addElement(next); } } } return newFields; }
/** * INTERNAL: adds an expression to the fields. set a flag if the expression * is for and aggregate function. */ public void addField(Expression expression) { if (expression instanceof FunctionExpression) { if (((FunctionExpression)expression).getOperator().isAggregateOperator()) { setIsAggregateSelect(true); } } getFields().add(expression); }
/** * INTERNAL: adds an expression to the fields. set a flag if the expression * is for and aggregate function. */ public void addField(Expression expression) { if (expression instanceof FunctionExpression) { if (((FunctionExpression)expression).getOperator().isAggregateOperator()) { setIsAggregateSelect(true); } } getFields().addElement(expression); }
/** * INTERNAL: */ protected Vector writeFieldsIn(ExpressionSQLPrinter printer) { this.lastTable = null; Vector newFields = NonSynchronizedVector.newInstance(); for (Object next : getFields()) { // Fields can be null placeholders for fetch groups. if (next != null) { if (next instanceof Expression) { writeFieldsFromExpression(printer, (Expression)next, newFields); } else { writeField(printer, (DatabaseField)next); newFields.add(next); } } } return newFields; }
/** * INTERNAL: */ protected Vector writeFieldsIn(ExpressionSQLPrinter printer) { this.lastTable = null; Vector newFields = NonSynchronizedVector.newInstance(); for (Object next : getFields()) { // Fields can be null placeholders for fetch groups. if (next != null) { if (next instanceof Expression) { writeFieldsFromExpression(printer, (Expression)next, newFields); } else { writeField(printer, (DatabaseField)next); newFields.add(next); } } } return newFields; }
/** * If the fields in the statement have breen pre-set, e.g. for a subset of the fields * in a partial attribute read, report query, or just a query for the class indicator, * then try to alias those. Right now this just guesses that they're all from the base. */ public Vector aliasPresetFields(SQLSelectStatement statement) { Vector fields = statement.getFields(); Expression exp = statement.getWhereClause(); if (exp == null) { return fields; } else { ExpressionBuilder base = exp.getBuilder(); return aliasFields(base, fields); } }
/** * If the fields in the statement have breen pre-set, e.g. for a subset of the fields * in a partial attribute read, report query, or just a query for the class indicator, * then try to alias those. Right now this just guesses that they're all from the base. */ public Vector aliasPresetFields(SQLSelectStatement statement) { Vector fields = statement.getFields(); Expression exp = statement.getWhereClause(); if (exp == null) { return fields; } else { ExpressionBuilder base = exp.getBuilder(); return aliasFields(base, fields); } }
/** * If the fields in the statement have breen pre-set, e.g. for a subset of the fields * in a partial attribute read, report query, or just a query for the class indicator, * then try to alias those. Right now this just guesses that they're all from the base. */ public Vector aliasPresetFields(SQLSelectStatement statement) { Vector fields = statement.getFields(); Expression exp = statement.getWhereClause(); if (exp == null) { return fields; } else { ExpressionBuilder base = exp.getBuilder(); return aliasFields(base, fields); } }
/** * When distinct is used with order by the ordered fields must be in the select clause. */ protected void addOrderByExpressionToSelectForDistinct() { for (Expression orderExpression : getOrderByExpressions()) { Expression fieldExpression = orderExpression; while (fieldExpression.isFunctionExpression() && (fieldExpression.getOperator().isOrderOperator())) { fieldExpression = ((FunctionExpression)fieldExpression).getBaseExpression(); } // Changed to call a method to loop through the fields vector and check each element // individually. Jon D. May 4, 2000 for pr 7811 if ((fieldExpression.selectIfOrderedBy()) && !fieldsContainField(getFields(), fieldExpression)) { addField(fieldExpression); } } }
/** * When distinct is used with order by the ordered fields must be in the select clause. */ protected void addOrderByExpressionToSelectForDistinct() { for (Expression orderExpression : getOrderByExpressions()) { Expression fieldExpression = orderExpression; while (fieldExpression.isFunctionExpression() && (fieldExpression.getOperator().isOrderOperator())) { fieldExpression = ((FunctionExpression)fieldExpression).getBaseExpression(); } // Changed to call a method to loop through the fields vector and check each element // individually. Jon D. May 4, 2000 for pr 7811 if ((fieldExpression.selectIfOrderedBy()) && !fieldsContainField(getFields(), fieldExpression)) { addField(fieldExpression); } } }
/** * When distinct is used with order by the ordered fields must be in the select clause. */ protected void addOrderByExpressionToSelectForDistinct() { for (Expression orderExpression : getOrderByExpressions()) { Expression fieldExpression = null; if (orderExpression.isFunctionExpression() && (orderExpression.getOperator().isOrderOperator())) { fieldExpression = ((FunctionExpression)orderExpression).getBaseExpression(); } else { fieldExpression = orderExpression; } // Changed to call a method to loop through the fields vector and check each element // individually. Jon D. May 4, 2000 for pr 7811 if ((fieldExpression.selectIfOrderedBy()) && !fieldsContainField(getFields(), fieldExpression)) { addField(fieldExpression); } } }
/** * INTERNAL: * Get the ref for the object. * This is required for use by Refs, there might be a better way to do it when objID are supported. * (i.e. getting it from the object or identity map). */ public Ref getRef(Object object, AbstractSession session) { SQLSelectStatement statement = new SQLSelectStatement(); statement.addTable(getTables().firstElement());// Assumed only one for obj-rel descriptors. statement.getFields().addElement(new org.eclipse.persistence.expressions.ExpressionBuilder().ref()); statement.setWhereClause(getObjectBuilder().buildPrimaryKeyExpressionFromObject(object, session)); statement.setRequiresAliases(true); statement.normalize(session, this); ValueReadQuery valueQuery = new ValueReadQuery(); valueQuery.setSQLStatement(statement); valueQuery.checkPrepare(session, new DatabaseRecord(), true); // Must return unwrapped Ref on WLS. valueQuery.getCall().setIsNativeConnectionRequired(true); Ref ref = (Ref)session.executeQuery(valueQuery); return ref; }
/** * INTERNAL: * Get the ref for the object. * This is required for use by Refs, there might be a better way to do it when objID are supported. * (i.e. getting it from the object or identity map). */ public Ref getRef(Object object, AbstractSession session) { SQLSelectStatement statement = new SQLSelectStatement(); statement.addTable(getTables().firstElement());// Assumed only one for obj-rel descriptors. statement.getFields().addElement(new org.eclipse.persistence.expressions.ExpressionBuilder().ref()); statement.setWhereClause(getObjectBuilder().buildPrimaryKeyExpressionFromObject(object, session)); statement.setRequiresAliases(true); statement.normalize(session, this); ValueReadQuery valueQuery = new ValueReadQuery(); valueQuery.setSQLStatement(statement); valueQuery.checkPrepare(session, new DatabaseRecord(), true); // Must return unwrapped Ref on WLS. valueQuery.getCall().setIsNativeConnectionRequired(true); Ref ref = (Ref)session.executeQuery(valueQuery); return ref; }