Class ConjunctionPathExpressionFindingVisitor

java.lang.Object
com.blazebit.persistence.parser.expression.AbortableVisitorAdapter
com.blazebit.persistence.impl.ConjunctionPathExpressionFindingVisitor
All Implemented Interfaces:
Expression.ResultVisitor<Boolean>

public class ConjunctionPathExpressionFindingVisitor extends AbortableVisitorAdapter
Finds a PathExpression, and while traversing back along the stack, capture if we are in a disjunction. This is necessary for the EXISTS subquery rewrite for associations used in the ON clause. We must know, if the association represented by the path expression, is used in a context, where the cardinality 0 might be problematic. In a disjunctive or null aware context, cardinality is important. We say, it is "inConjunction" if the path expression is used in no disjunctive or null aware context.
Since:
1.4.0
Author:
Christian Beikov