private void createDerivedJoinResultsFromOpsList(String theCallingIndexId,
ExecutionContext context, List opsList) throws FunctionDomainException, TypeMismatchException,
NameResolutionException, QueryInvocationTargetException {
Iterator iter = opsList.iterator();
while (iter.hasNext()) {
CompiledValue cv = (CompiledValue) iter.next();
this.currentOp = cv;
if (cv.getType() == CompiledValue.COMPARISON) {
createDerivedJoinResultsFromCC(theCallingIndexId, (CompiledComparison) cv, context);
}
}
List<Object[]> newDerivatives = new ArrayList<Object[]>(this.newDerivatives);
this.newDerivatives.clear();
if (newDerivatives.size() > 0) {
Iterator<Object[]> iterator = newDerivatives.iterator();
while (iterator.hasNext()) {
Object[] idDerivedAndResults = iterator.next();
derivedDerivative(idDerivedAndResults, context, this.getExpansionList());
}
}
}