Interface BeamSqlTableFilter
- All Known Implementing Classes:
BigQueryFilter,DefaultTableFilter,IcebergFilter,TestTableFilter
public interface BeamSqlTableFilter
This interface defines Beam SQL Table Filter.
-
Method Summary
Modifier and TypeMethodDescriptionstatic intexpressionsInFilter(List<org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rex.RexNode> filterNodes) Count a number ofRexNodes involved in all supported filters.List<org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rex.RexNode> Identify parts of a predicate that are not supported by the IO push-down capabilities to be preserved in aCalcfollowingBeamIOSourceRel.intThis is primarily used by the cost based optimization to determine the benefit of performing predicate push-down for an IOSourceRel.
-
Method Details
-
getNotSupported
List<org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rex.RexNode> getNotSupported()Identify parts of a predicate that are not supported by the IO push-down capabilities to be preserved in aCalcfollowingBeamIOSourceRel.- Returns:
List<RexNode>unsupported by the IO API. Should be empty when an entire condition is supported, or an unchangedList<RexNode>when predicate push-down is not supported at all.
-
numSupported
int numSupported()This is primarily used by the cost based optimization to determine the benefit of performing predicate push-down for an IOSourceRel.- Returns:
- number of supported filters.
-
expressionsInFilter
static int expressionsInFilter(List<org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rex.RexNode> filterNodes) Count a number ofRexNodes involved in all supported filters.- Parameters:
filterNodes-List<RexNode>supported filters.- Returns:
- number of expressions involved in all supported filters.
-