Class CassandraFilter
- java.lang.Object
-
- org.apache.calcite.rel.AbstractRelNode
-
- org.apache.calcite.rel.SingleRel
-
- org.apache.calcite.rel.core.Filter
-
- org.apache.calcite.adapter.cassandra.CassandraFilter
-
- All Implemented Interfaces:
java.lang.Cloneable
,CassandraRel
,RelOptNode
,RelNode
public class CassandraFilter extends Filter implements CassandraRel
Implementation of aFilter
relational expression in Cassandra.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
CassandraFilter.Translator
TranslatesRexNode
expressions into Cassandra expression strings.-
Nested classes/interfaces inherited from interface org.apache.calcite.adapter.cassandra.CassandraRel
CassandraRel.Implementor
-
Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
RelNode.Context
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<java.lang.String>
clusteringKeys
private RelCollation
implicitCollation
private java.util.List<RelFieldCollation>
implicitFieldCollations
private java.lang.String
match
private java.util.List<java.lang.String>
partitionKeys
private java.lang.Boolean
singlePartition
-
Fields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSet
-
Fields inherited from interface org.apache.calcite.adapter.cassandra.CassandraRel
CONVENTION
-
-
Constructor Summary
Constructors Constructor Description CassandraFilter(RelOptCluster cluster, RelTraitSet traitSet, RelNode child, RexNode condition, java.util.List<java.lang.String> partitionKeys, java.util.List<java.lang.String> clusteringKeys, java.util.List<RelFieldCollation> implicitFieldCollations)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RelOptCost
computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq)
Returns the cost of this plan (not including children).CassandraFilter
copy(RelTraitSet traitSet, RelNode input, RexNode condition)
RelCollation
getImplicitCollation()
Get the resulting collation by the clustering keys after filtering.void
implement(CassandraRel.Implementor implementor)
boolean
isSinglePartition()
Check if the filter restricts to a single partition.-
Methods inherited from class org.apache.calcite.rel.core.Filter
accept, copy, estimateFilteredRows, estimateFilteredRows, estimateRowCount, explainTerms, getChildExps, getCondition, isValid
-
Methods inherited from class org.apache.calcite.rel.SingleRel
childrenAccept, deriveRowType, getInput, getInputs, replaceInput
-
Methods inherited from class org.apache.calcite.rel.AbstractRelNode
accept, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, explain, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraitSet, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, metadata, onRegister, recomputeDigest, register, sole, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.calcite.rel.RelNode
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, copy, estimateRowCount, explain, getChildExps, getCollationList, getConvention, getCorrelVariable, getExpectedInputRowType, getInput, getInputs, getQuery, getRelTypeName, getRows, getRowType, getTable, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, replaceInput
-
Methods inherited from interface org.apache.calcite.plan.RelOptNode
getCluster, getDescription, getDigest, getId, getTraitSet
-
-
-
-
Field Detail
-
partitionKeys
private final java.util.List<java.lang.String> partitionKeys
-
singlePartition
private java.lang.Boolean singlePartition
-
clusteringKeys
private final java.util.List<java.lang.String> clusteringKeys
-
implicitFieldCollations
private java.util.List<RelFieldCollation> implicitFieldCollations
-
implicitCollation
private RelCollation implicitCollation
-
match
private java.lang.String match
-
-
Constructor Detail
-
CassandraFilter
public CassandraFilter(RelOptCluster cluster, RelTraitSet traitSet, RelNode child, RexNode condition, java.util.List<java.lang.String> partitionKeys, java.util.List<java.lang.String> clusteringKeys, java.util.List<RelFieldCollation> implicitFieldCollations)
-
-
Method Detail
-
computeSelfCost
public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq)
Description copied from interface:RelNode
Returns the cost of this plan (not including children). The base implementation throws an error; derived classes should override.NOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use
RelMetadataQuery.getNonCumulativeCost(org.apache.calcite.rel.RelNode)
, which gives plugins a chance to override the rel's default ideas about cost.- Specified by:
computeSelfCost
in interfaceRelNode
- Overrides:
computeSelfCost
in classFilter
- Parameters:
planner
- Planner for cost calculationmq
- Metadata query- Returns:
- Cost of this plan (not including children)
-
copy
public CassandraFilter copy(RelTraitSet traitSet, RelNode input, RexNode condition)
-
implement
public void implement(CassandraRel.Implementor implementor)
- Specified by:
implement
in interfaceCassandraRel
-
isSinglePartition
public boolean isSinglePartition()
Check if the filter restricts to a single partition.- Returns:
- True if the filter will restrict the underlying to a single partition
-
getImplicitCollation
public RelCollation getImplicitCollation()
Get the resulting collation by the clustering keys after filtering.- Returns:
- The implicit collation based on the natural sorting by clustering keys
-
-