public void visit(ExistsCriteria obj) { if (obj.shouldEvaluate()) { evaluationNotPossible(EvaluationLevel.PROCESSING); } else { evaluationNotPossible(EvaluationLevel.PUSH_DOWN); } }
public void visit(ExistsCriteria obj) { if (obj.shouldEvaluate()) { evaluationNotPossible(EvaluationLevel.PROCESSING); } else { evaluationNotPossible(EvaluationLevel.PUSH_DOWN); } }
public void visit(ExistsCriteria obj) { if (obj.shouldEvaluate()) { evaluationNotPossible(EvaluationLevel.PROCESSING); } else { evaluationNotPossible(EvaluationLevel.PUSH_DOWN); } }
public void visit(ExistsCriteria obj) { if (obj.shouldEvaluate()) { return; } visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
public void visit(ExistsCriteria obj) { preVisitVisitor(obj); if (deep && (!obj.shouldEvaluate() || !skipEvaluatable)) { visitNode(obj.getCommand()); } postVisitVisitor(obj); } public void visit(ExpressionSymbol obj) {
public void visit(ExistsCriteria obj) { preVisitVisitor(obj); if (deep && (!obj.shouldEvaluate() || !skipEvaluatable)) { visitNode(obj.getCommand()); } postVisitVisitor(obj); } public void visit(ExpressionSymbol obj) {
public void visit(ExistsCriteria obj) { if (obj.shouldEvaluate()) { return; } visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
public void visit(ExistsCriteria obj) { preVisitVisitor(obj); if (deep && (!obj.shouldEvaluate() || !skipEvaluatable)) { visitNode(obj.getCommand()); } postVisitVisitor(obj); } public void visit(ExpressionSymbol obj) {
public void visit(ExistsCriteria obj) { if (obj.shouldEvaluate()) { return; } visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
if (container instanceof ExistsCriteria && ((ExistsCriteria) container).shouldEvaluate()) { continue;
if (container instanceof ExistsCriteria && ((ExistsCriteria) container).shouldEvaluate()) { continue;
if (container instanceof ExistsCriteria && ((ExistsCriteria) container).shouldEvaluate()) { continue;
public static void prepareSubquery(SubqueryContainer container) { RelationalPlan subqueryPlan = (RelationalPlan)container.getCommand().getProcessorPlan(); AccessNode aNode = CriteriaCapabilityValidatorVisitor.getAccessNode(subqueryPlan); QueryCommand command = CriteriaCapabilityValidatorVisitor.getQueryCommand(aNode); if (command == null) { return; } final SymbolMap map = container.getCommand().getCorrelatedReferences(); if (map != null) { ExpressionMappingVisitor visitor = new RulePlanSubqueries.ReferenceReplacementVisitor(map); DeepPostOrderNavigator.doVisit(command, visitor); } command.setProcessorPlan(container.getCommand().getProcessorPlan()); boolean removeLimit = false; if (container instanceof ExistsCriteria) { removeLimit = !((ExistsCriteria)container).shouldEvaluate(); } else if (container instanceof ScalarSubquery) { removeLimit = !((ScalarSubquery)container).shouldEvaluate(); } if (removeLimit && command.getLimit() != null && command.getLimit().isImplicit()) { command.setLimit(null); } container.setCommand(command); }
public static void prepareSubquery(SubqueryContainer container) { RelationalPlan subqueryPlan = (RelationalPlan)container.getCommand().getProcessorPlan(); AccessNode aNode = CriteriaCapabilityValidatorVisitor.getAccessNode(subqueryPlan); QueryCommand command = CriteriaCapabilityValidatorVisitor.getQueryCommand(aNode); if (command == null) { return; } final SymbolMap map = container.getCommand().getCorrelatedReferences(); if (map != null) { ExpressionMappingVisitor visitor = new RuleMergeCriteria.ReferenceReplacementVisitor(map); DeepPostOrderNavigator.doVisit(command, visitor); } command.setProcessorPlan(container.getCommand().getProcessorPlan()); boolean removeLimit = false; if (container instanceof ExistsCriteria) { removeLimit = !((ExistsCriteria)container).shouldEvaluate(); } else if (container instanceof ScalarSubquery) { removeLimit = !((ScalarSubquery)container).shouldEvaluate(); } if (removeLimit && command.getLimit() != null && command.getLimit().isImplicit()) { command.setLimit(null); } container.setCommand(command); }
public static void prepareSubquery(SubqueryContainer container) { RelationalPlan subqueryPlan = (RelationalPlan)container.getCommand().getProcessorPlan(); AccessNode aNode = CriteriaCapabilityValidatorVisitor.getAccessNode(subqueryPlan); QueryCommand command = CriteriaCapabilityValidatorVisitor.getQueryCommand(aNode); if (command == null) { return; } final SymbolMap map = container.getCommand().getCorrelatedReferences(); if (map != null) { ExpressionMappingVisitor visitor = new RulePlanSubqueries.ReferenceReplacementVisitor(map); DeepPostOrderNavigator.doVisit(command, visitor); } command.setProcessorPlan(container.getCommand().getProcessorPlan()); boolean removeLimit = false; if (container instanceof ExistsCriteria) { removeLimit = !((ExistsCriteria)container).shouldEvaluate(); } else if (container instanceof ScalarSubquery) { removeLimit = !((ScalarSubquery)container).shouldEvaluate(); } if (removeLimit && command.getLimit() != null && command.getLimit().isImplicit()) { command.setLimit(null); } container.setCommand(command); }
} else if (criteria instanceof ExistsCriteria) { ExistsCriteria exists = (ExistsCriteria)criteria; if (exists.shouldEvaluate() && processing) { return getCriteria(evaluator.evaluate(exists, null));
} else if (criteria instanceof ExistsCriteria) { ExistsCriteria exists = (ExistsCriteria)criteria; if (exists.shouldEvaluate() && processing) { return getCriteria(evaluator.evaluate(exists, null));
} else if (criteria instanceof ExistsCriteria) { ExistsCriteria exists = (ExistsCriteria)criteria; if (exists.shouldEvaluate() && processing) { return getCriteria(evaluator.evaluate(exists, null));