public class JoinConditionAnalysis extends Object
Modifier and Type | Method and Description |
---|---|
boolean |
canHashJoin()
Returns whether this condition can be satisfied using a hashtable made from the right-hand side.
|
boolean |
equals(Object o) |
static JoinConditionAnalysis |
forExpression(String condition,
String rightPrefix,
ExprMacroTable macroTable)
Analyze a join condition.
|
List<Equality> |
getEquiConditions()
Return a list of equi-conditions (see class-level javadoc).
|
List<Expr> |
getNonEquiConditions()
Return a list of non-equi-conditions (see class-level javadoc).
|
String |
getOriginalExpression()
Return the condition expression.
|
Set<String> |
getRightEquiConditionKeys()
Returns the distinct column keys from the RHS required to evaluate the equi conditions.
|
int |
hashCode() |
boolean |
isAlwaysFalse()
Return whether this condition is a constant that is always false.
|
boolean |
isAlwaysTrue()
Return whether this condition is a constant that is always true.
|
String |
toString() |
public static JoinConditionAnalysis forExpression(String condition, String rightPrefix, ExprMacroTable macroTable)
condition
- the condition expressionrightPrefix
- prefix for the right-hand side of the join; will be used to determine which identifiers in
the condition come from the right-hand side and which come from the left-hand sidemacroTable
- macro table for parsing the condition expressionpublic String getOriginalExpression()
public List<Equality> getEquiConditions()
public List<Expr> getNonEquiConditions()
public boolean isAlwaysFalse()
public boolean isAlwaysTrue()
public boolean canHashJoin()
public Set<String> getRightEquiConditionKeys()
Copyright © 2011–2021 The Apache Software Foundation. All rights reserved.