/** * INTERNAL: * For iterating using an inner class */ public void iterateOn(ExpressionIterator iterator) { iterator.iterate(this); }
/** * INTERNAL: * Modify this expression to use outer joins wherever there are * equality operations between two field nodes. */ public Expression convertToUseOuterJoin() { ExpressionIterator iterator = new ExpressionIterator() { public void iterate(Expression each) { each.convertNodeToUseOuterJoin(); } }; iterator.iterateOn(this); return this; }
expIterator.setStatement(selectStatement); expIterator.setResult(aliasTables); expIterator.iterateOn(selectStatement.getWhereClause());
/** * INTERNAL: * For iterating using an inner class */ public void iterateOn(ExpressionIterator iterator) { super.iterateOn(iterator); if (baseExpression != null) { baseExpression.iterateOn(iterator); } // For Flashback: It is now possible to create iterators that will span // the entire expression, even the where clause embedded in a subQuery. if (iterator.shouldIterateOverSubSelects()) { if (getSubQuery().getSelectionCriteria() != null) { getSubQuery().getSelectionCriteria().iterateOn(iterator); } else { getSubQuery().getExpressionBuilder().iterateOn(iterator); } } }
expIterator.setStatement(selectStatement); expIterator.setResult(aliasTables); expIterator.iterateOn(selectStatement.getWhereClause());
/** * INTERNAL: * For iterating using an inner class */ @Override public void iterateOn(ExpressionIterator iterator) { super.iterateOn(iterator); if (baseExpression != null) { baseExpression.iterateOn(iterator); } // For Flashback: It is now possible to create iterators that will span // the entire expression, even the where clause embedded in a subQuery. if (iterator.shouldIterateOverSubSelects()) { if (getSubQuery().getSelectionCriteria() != null) { getSubQuery().getSelectionCriteria().iterateOn(iterator); } else { getSubQuery().getExpressionBuilder().iterateOn(iterator); } } }
expIterator.setStatement(selectStatement); expIterator.setResult(aliasTables); expIterator.iterateOn(selectStatement.getWhereClause());
public Expression asOf(AsOfClause clause) { final AsOfClause finalClause = clause; ExpressionIterator iterator = new ExpressionIterator() { public void iterate(Expression each) { if (each.isDataExpression()) { each.asOf(finalClause); } } public boolean shouldIterateOverSubSelects() { return true; } }; iterator.iterateOn(this); return this; }
/** * INTERNAL: * For iterating using an inner class */ public void iterateOn(ExpressionIterator iterator) { iterator.iterate(this); }
/** * INTERNAL: * For iterating using an inner class */ @Override public void iterateOn(ExpressionIterator iterator) { super.iterateOn(iterator); if (baseExpression != null) { baseExpression.iterateOn(iterator); } // For Flashback: It is now possible to create iterators that will span // the entire expression, even the where clause embedded in a subQuery. if (iterator.shouldIterateOverSubSelects()) { if (getSubQuery().getSelectionCriteria() != null) { getSubQuery().getSelectionCriteria().iterateOn(iterator); } else { getSubQuery().getExpressionBuilder().iterateOn(iterator); } } }
iterator.setResult(new Hashtable(5)); iterator.iterateOn(getWhereClause()); } else if (hasOuterJoinExpressions()) { Expression outerJoinCriteria = (Expression)getOuterJoinedMappingCriteria().firstElement(); if (outerJoinCriteria != null){ iterator.iterateOn(outerJoinCriteria); Object field = fields.next(); if (field instanceof Expression) { iterator.iterateOn((Expression)field); iterator.iterateOn(getBuilder()); Hashtable allTables = (Hashtable)iterator.getResult(); setTableAliases(allTables);
public Expression asOf(AsOfClause clause) { final AsOfClause finalClause = clause; ExpressionIterator iterator = new ExpressionIterator() { public void iterate(Expression each) { if (each.isDataExpression()) { each.asOf(finalClause); } } public boolean shouldIterateOverSubSelects() { return true; } }; iterator.iterateOn(this); return this; }
/** * INTERNAL: * For iterating using an inner class */ public void iterateOn(ExpressionIterator iterator) { iterator.iterate(this); }
iterator.setResult(new Hashtable(5)); iterator.iterateOn(getWhereClause()); } else if (hasOuterJoinExpressions()) { Expression outerJoinCriteria = getOuterJoinExpressionsHolders().get(0).joinExpression; if (outerJoinCriteria != null){ iterator.iterateOn(outerJoinCriteria); iterator.iterateOn((Expression)field); for (Object field : getNonSelectFields()) { if (field instanceof Expression) { iterator.iterateOn((Expression)field); iterator.iterateOn(getBuilder()); Map<DatabaseTable, DatabaseTable> allTables = (Map<DatabaseTable, DatabaseTable>)iterator.getResult(); setTableAliases(allTables);
/** * INTERNAL: * Modify this expression to use outer joins wherever there are * equality operations between two field nodes. */ public Expression convertToUseOuterJoin() { ExpressionIterator iterator = new ExpressionIterator() { public void iterate(Expression each) { each.convertNodeToUseOuterJoin(); } }; iterator.iterateOn(this); return this; }
/** * INTERNAL: */ public void iterateOn(Vector expressions) { for (Enumeration expressionEnum = expressions.elements(); expressionEnum.hasMoreElements();) { iterate((Expression)expressionEnum.nextElement()); } }
iterator.setResult(new Hashtable(5)); iterator.iterateOn(getWhereClause()); } else if (hasOuterJoinExpressions()) { Expression outerJoinCriteria = getOuterJoinExpressionsHolders().get(0).joinExpression; if (outerJoinCriteria != null){ iterator.iterateOn(outerJoinCriteria); iterator.iterateOn((Expression)field); for (Object field : getNonSelectFields()) { if (field instanceof Expression) { iterator.iterateOn((Expression)field); iterator.iterateOn(getBuilder()); Map<DatabaseTable, DatabaseTable> allTables = (Map<DatabaseTable, DatabaseTable>)iterator.getResult(); setTableAliases(allTables);