Interface BeamSqlTableFilter

All Known Implementing Classes:
BigQueryFilter, DefaultTableFilter, IcebergFilter, TestTableFilter

public interface BeamSqlTableFilter
This interface defines Beam SQL Table Filter.
  • Method Summary

    Modifier and Type
    Method
    Description
    static int
    expressionsInFilter(List<org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rex.RexNode> filterNodes)
    Count a number of RexNodes 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 a Calc following BeamIOSourceRel.
    int
    This 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 a Calc following BeamIOSourceRel.
      Returns:
      List<RexNode> unsupported by the IO API. Should be empty when an entire condition is supported, or an unchanged List<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 of RexNodes involved in all supported filters.
      Parameters:
      filterNodes - List<RexNode> supported filters.
      Returns:
      number of expressions involved in all supported filters.