public void visit(DependentSetCriteria obj) { //without knowing what is feeding this, we need to treat it as non-deterministic setDeterminismLevel(Determinism.NONDETERMINISTIC); evaluationNotPossible(EvaluationLevel.PROCESSING); }
public void visit(DependentSetCriteria obj) { //without knowing what is feeding this, we need to treat it as non-deterministic setDeterminismLevel(Determinism.NONDETERMINISTIC); evaluationNotPossible(EvaluationLevel.PROCESSING); }
public void visit(DependentSetCriteria obj) { //without knowing what is feeding this, we need to treat it as non-deterministic setDeterminismLevel(Determinism.NONDETERMINISTIC); evaluationNotPossible(EvaluationLevel.PROCESSING); }
/** * We assume the non-push down for correlation variables, * then make specific checks when correlated variables are allowed. */ public void visit(Reference obj) { hasCorrelatedReferences |= obj.isCorrelated(); if (obj.isPositional()) { setDeterminismLevel(Determinism.COMMAND_DETERMINISTIC); } else if (modelId != null) { //for pushdown commands correlated references mean we're non-deterministic setDeterminismLevel(Determinism.NONDETERMINISTIC); } evaluationNotPossible(EvaluationLevel.PROCESSING); }
/** * We assume the non-push down for correlation variables, * then make specific checks when correlated variables are allowed. */ public void visit(Reference obj) { hasCorrelatedReferences |= obj.isCorrelated(); if (obj.isPositional()) { setDeterminismLevel(Determinism.COMMAND_DETERMINISTIC); } else if (modelId != null) { //for pushdown commands correlated references mean we're non-deterministic setDeterminismLevel(Determinism.NONDETERMINISTIC); } evaluationNotPossible(EvaluationLevel.PROCESSING); }
/** * We assume the non-push down for correlation variables, * then make specific checks when correlated variables are allowed. */ public void visit(Reference obj) { hasCorrelatedReferences |= obj.isCorrelated(); if (obj.isPositional()) { setDeterminismLevel(Determinism.COMMAND_DETERMINISTIC); } else if (modelId != null) { //for pushdown commands correlated references mean we're non-deterministic setDeterminismLevel(Determinism.NONDETERMINISTIC); } evaluationNotPossible(EvaluationLevel.PROCESSING); }
public void visit(AggregateSymbol obj) { if (obj.getFunctionDescriptor() != null) { this.setDeterminismLevel(obj.getFunctionDescriptor().getDeterministic()); } evaluationNotPossible(EvaluationLevel.PUSH_DOWN); }
public void visit(AggregateSymbol obj) { if (obj.getFunctionDescriptor() != null) { this.setDeterminismLevel(obj.getFunctionDescriptor().getDeterministic()); } evaluationNotPossible(EvaluationLevel.PUSH_DOWN); }
public void visit(AggregateSymbol obj) { if (obj.getFunctionDescriptor() != null) { this.setDeterminismLevel(obj.getFunctionDescriptor().getDeterministic()); } evaluationNotPossible(EvaluationLevel.PUSH_DOWN); }
@Override protected void visitNode(LanguageObject obj) { if (obj == null) { return; } Determinism d = ev.getDeterminismLevel(); boolean pushDown = ev.requiresEvaluation(EvaluationLevel.PUSH_DOWN); //descend with clean state, then restore ev.reset(); super.visitNode(obj); ev.setDeterminismLevel(d); if (pushDown) { ev.evaluationNotPossible(EvaluationLevel.PUSH_DOWN); } }
@Override protected void visitNode(LanguageObject obj) { if (obj == null) { return; } Determinism d = ev.getDeterminismLevel(); boolean pushDown = ev.requiresEvaluation(EvaluationLevel.PUSH_DOWN); //decend with clean state, then restore ev.reset(); super.visitNode(obj); ev.setDeterminismLevel(d); if (pushDown) { ev.evaluationNotPossible(EvaluationLevel.PUSH_DOWN); } }
@Override protected void visitNode(LanguageObject obj) { if (obj == null) { return; } Determinism d = ev.getDeterminismLevel(); boolean pushDown = ev.requiresEvaluation(EvaluationLevel.PUSH_DOWN); //descend with clean state, then restore ev.reset(); super.visitNode(obj); ev.setDeterminismLevel(d); if (pushDown) { ev.evaluationNotPossible(EvaluationLevel.PUSH_DOWN); } }
public void visit(Function obj) { FunctionDescriptor fd = obj.getFunctionDescriptor(); this.setDeterminismLevel(fd.getDeterministic()); if (fd.getDeterministic() == Determinism.NONDETERMINISTIC || fd.getPushdown() == PushDown.MUST_PUSHDOWN) { if (obj.isEval()) { evaluationNotPossible(EvaluationLevel.PROCESSING); } else { evaluationNotPossible(EvaluationLevel.PUSH_DOWN); } } else if (obj.getName().equalsIgnoreCase(FunctionLibrary.LOOKUP) //TODO: if we had the context here we could plan better for non-prepared requests || fd.getDeterministic().compareTo(Determinism.COMMAND_DETERMINISTIC) <= 0) { evaluationNotPossible(EvaluationLevel.PROCESSING); } else if (fd.getProcedure() != null) { //a function defined by a procedure evaluationNotPossible(EvaluationLevel.PROCESSING); } }
public void visit(Function obj) { FunctionDescriptor fd = obj.getFunctionDescriptor(); this.setDeterminismLevel(fd.getDeterministic()); if (fd.getDeterministic() == Determinism.NONDETERMINISTIC || fd.getPushdown() == PushDown.MUST_PUSHDOWN) { if (obj.isEval()) { evaluationNotPossible(EvaluationLevel.PROCESSING); } else { evaluationNotPossible(EvaluationLevel.PUSH_DOWN); } } else if (obj.getName().equalsIgnoreCase(FunctionLibrary.LOOKUP) //TODO: if we had the context here we could plan better for non-prepared requests || fd.getDeterministic().compareTo(Determinism.COMMAND_DETERMINISTIC) <= 0) { evaluationNotPossible(EvaluationLevel.PROCESSING); } else if (fd.getProcedure() != null) { //a function defined by a procedure evaluationNotPossible(EvaluationLevel.PROCESSING); } }
public void visit(Function obj) { FunctionDescriptor fd = obj.getFunctionDescriptor(); this.setDeterminismLevel(fd.getDeterministic()); if (fd.getDeterministic() == Determinism.NONDETERMINISTIC || fd.getPushdown() == PushDown.MUST_PUSHDOWN) { if (obj.isEval()) { evaluationNotPossible(EvaluationLevel.PROCESSING); } else { evaluationNotPossible(EvaluationLevel.PUSH_DOWN); } } else if (obj.getName().equalsIgnoreCase(FunctionLibrary.LOOKUP) //TODO: if we had the context here we could plan better for non-prepared requests || fd.getDeterministic().compareTo(Determinism.COMMAND_DETERMINISTIC) <= 0) { evaluationNotPossible(EvaluationLevel.PROCESSING); } else if (fd.getProcedure() != null) { //a function defined by a procedure evaluationNotPossible(EvaluationLevel.PROCESSING); } }