Package com.blazebit.persistence.impl
Class ImplicitJoinCorrelationPathReplacementVisitor
java.lang.Object
com.blazebit.persistence.parser.expression.InplaceModificationResultVisitorAdapter
com.blazebit.persistence.impl.ImplicitJoinCorrelationPathReplacementVisitor
- All Implemented Interfaces:
Expression.ResultVisitor<Expression>
public class ImplicitJoinCorrelationPathReplacementVisitor extends InplaceModificationResultVisitorAdapter
This visitor gathers information about supposed invalid implicit joins in the ON clause
to be able to rewrite the predicate to EXISTS subqueries.
- Since:
- 1.3.0
- Author:
- Christian Beikov
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ImplicitJoinCorrelationPathReplacementVisitor.CorrelationTransformEntry
static class
ImplicitJoinCorrelationPathReplacementVisitor.RootCorrelationEntry
-
Constructor Summary
Constructors Constructor Description ImplicitJoinCorrelationPathReplacementVisitor()
-
Method Summary
Modifier and Type Method Description void
addPathExpression(PathExpression pathExpression, ImplicitJoinNotAllowedException ex, boolean isInConjunction)
Collection<ImplicitJoinCorrelationPathReplacementVisitor.CorrelationTransformEntry>
getPathsToCorrelate()
Collection<ImplicitJoinCorrelationPathReplacementVisitor.RootCorrelationEntry>
getRootsToCorrelate()
Predicate
rewritePredicate(Predicate predicate)
Expression
visit(PathExpression expression)
Methods inherited from class com.blazebit.persistence.parser.expression.InplaceModificationResultVisitorAdapter
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
-
Constructor Details
-
ImplicitJoinCorrelationPathReplacementVisitor
public ImplicitJoinCorrelationPathReplacementVisitor()
-
-
Method Details
-
addPathExpression
public void addPathExpression(PathExpression pathExpression, ImplicitJoinNotAllowedException ex, boolean isInConjunction) -
getPathsToCorrelate
public Collection<ImplicitJoinCorrelationPathReplacementVisitor.CorrelationTransformEntry> getPathsToCorrelate() -
getRootsToCorrelate
public Collection<ImplicitJoinCorrelationPathReplacementVisitor.RootCorrelationEntry> getRootsToCorrelate() -
rewritePredicate
-
visit
- Specified by:
visit
in interfaceExpression.ResultVisitor<Expression>
- Overrides:
visit
in classInplaceModificationResultVisitorAdapter
-