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:
Cloneable,CassandraRel,RelOptNode,Hintable,RelNode
Implementation of a
Filter
relational expression in Cassandra.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.calcite.adapter.cassandra.CassandraRel
CassandraRel.ImplementorNested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
RelNode.Context -
Field Summary
Fields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSetFields inherited from interface org.apache.calcite.adapter.cassandra.CassandraRel
CONVENTION -
Constructor Summary
ConstructorsConstructorDescriptionCassandraFilter(RelOptCluster cluster, RelTraitSet traitSet, RelNode child, RexNode condition, List<String> partitionKeys, List<String> clusteringKeys, List<RelFieldCollation> implicitFieldCollations) -
Method Summary
Modifier and TypeMethodDescription@Nullable RelOptCostcomputeSelfCost(RelOptPlanner planner, RelMetadataQuery mq) Returns the cost of this plan (not including children).copy(RelTraitSet traitSet, RelNode input, RexNode condition) Get the resulting collation by the clustering keys after filtering.voidimplement(CassandraRel.Implementor implementor) booleanCheck if the filter restricts to a single partition.Methods inherited from class org.apache.calcite.rel.core.Filter
accept, containsOver, copy, deepEquals0, deepHashCode0, estimateFilteredRows, estimateFilteredRows, estimateRowCount, explainTerms, getCondition, getHints, isValidMethods inherited from class org.apache.calcite.rel.SingleRel
childrenAccept, deriveRowType, getInput, getInputs, replaceInputMethods inherited from class org.apache.calcite.rel.AbstractRelNode
accept, collectVariablesSet, collectVariablesUsed, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, isEnforcer, metadata, onRegister, recomputeDigest, register, sole, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.calcite.rel.hint.Hintable
attachHints, withHintsMethods inherited from interface org.apache.calcite.rel.RelNode
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, copy, deepEquals, deepHashCode, estimateRowCount, explain, explain, fieldIsNullable, getConvention, getCorrelVariable, getDigest, getExpectedInputRowType, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTable, getVariablesSet, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, replaceInput, strippedMethods inherited from interface org.apache.calcite.plan.RelOptNode
getCluster, getDescription, getId, getTraitSet
-
Constructor Details
-
CassandraFilter
public CassandraFilter(RelOptCluster cluster, RelTraitSet traitSet, RelNode child, RexNode condition, List<String> partitionKeys, List<String> clusteringKeys, List<RelFieldCollation> implicitFieldCollations)
-
-
Method Details
-
computeSelfCost
Description copied from interface:RelNodeReturns 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:
computeSelfCostin interfaceRelNode- Overrides:
computeSelfCostin classFilter- Parameters:
planner- Planner for cost calculationmq- Metadata query- Returns:
- Cost of this plan (not including children)
-
copy
-
implement
- Specified by:
implementin 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
Get the resulting collation by the clustering keys after filtering.- Returns:
- The implicit collation based on the natural sorting by clustering keys
-