Package com.twilio.kudu.sql
Class ComparisonPredicate
- java.lang.Object
-
- com.twilio.kudu.sql.CalciteKuduPredicate
-
- com.twilio.kudu.sql.ComparisonPredicate
-
public final class ComparisonPredicate extends CalciteKuduPredicate
An implementation ofCalciteKuduPredicate
that creates comparisonKuduPredicate
KuduPredicate.newComparisonPredicate(ColumnSchema, org.apache.kudu.client.KuduPredicate.ComparisonOp, Object)
-
-
Field Summary
Fields Modifier and Type Field Description int
columnIdx
org.apache.kudu.client.KuduPredicate.ComparisonOp
operation
Object
rightHandValue
-
Constructor Summary
Constructors Constructor Description ComparisonPredicate(int columnIdx, org.apache.kudu.client.KuduPredicate.ComparisonOp operation, Object rightHandValue)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
String
explainPredicate(org.apache.kudu.ColumnSchema schema)
Constructs a string used when generating the explain planint
getColumnIdx()
returns the column index for this predicateint
hashCode()
boolean
inListOptimizationAllowed(int columnIdx)
Returns true or false if this can be considered for in list optimization.org.apache.kudu.client.KuduPredicate
toPredicate(org.apache.kudu.ColumnSchema columnSchema, boolean invertValue)
In order to support descending ordered primary key column we invert the column value (see MutationState.getColumnValue())String
toString()
-
Methods inherited from class com.twilio.kudu.sql.CalciteKuduPredicate
invertComparisonOp, toPredicate
-
-
-
-
Field Detail
-
operation
public final org.apache.kudu.client.KuduPredicate.ComparisonOp operation
-
rightHandValue
public final Object rightHandValue
-
columnIdx
public final int columnIdx
-
-
Constructor Detail
-
ComparisonPredicate
public ComparisonPredicate(int columnIdx, org.apache.kudu.client.KuduPredicate.ComparisonOp operation, Object rightHandValue)
-
-
Method Detail
-
getColumnIdx
public int getColumnIdx()
Description copied from class:CalciteKuduPredicate
returns the column index for this predicate- Specified by:
getColumnIdx
in classCalciteKuduPredicate
- Returns:
- integer of the column in Kudu
-
inListOptimizationAllowed
public boolean inListOptimizationAllowed(int columnIdx)
Description copied from class:CalciteKuduPredicate
Returns true or false if this can be considered for in list optimization.- Overrides:
inListOptimizationAllowed
in classCalciteKuduPredicate
- Parameters:
columnIdx
- the column index in theKuduTable
- Returns:
- true if this column and predicate can be optimized into an
InListPredicate
-
explainPredicate
public String explainPredicate(org.apache.kudu.ColumnSchema schema)
Description copied from class:CalciteKuduPredicate
Constructs a string used when generating the explain plan- Specified by:
explainPredicate
in classCalciteKuduPredicate
- Parameters:
schema
- Schema of the column from Kudu- Returns:
- Formatted string from
RelWriter
to use
-
toPredicate
public org.apache.kudu.client.KuduPredicate toPredicate(org.apache.kudu.ColumnSchema columnSchema, boolean invertValue)
In order to support descending ordered primary key column we invert the column value (see MutationState.getColumnValue())- Specified by:
toPredicate
in classCalciteKuduPredicate
- Parameters:
columnSchema
- column schema to use for the predicateinvertValue
- true if the column is stored in descending order- Returns:
KuduPredicate
that represents this POJO
-
-