Class BeamPushDownIOSourceRel

  • All Implemented Interfaces:
    java.lang.Cloneable, BeamRelNode, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptNode, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.hint.Hintable, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode

    public class BeamPushDownIOSourceRel
    extends BeamIOSourceRel
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode

        org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode.Context
    • Field Summary

      • Fields inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.TableScan

        hints, table
      • Fields inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.AbstractRelNode

        digest, id, rowType, traitSet
    • Constructor Summary

      Constructors 
      Constructor Description
      BeamPushDownIOSourceRel​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptCluster cluster, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelTraitSet traitSet, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptTable table, BeamSqlTable beamTable, java.util.List<java.lang.String> usedFields, BeamSqlTableFilter tableFilters, java.util.Map<java.lang.String,​java.lang.String> pipelineOptions, BeamCalciteTable calciteTable)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      BeamCostModel beamComputeSelfCost​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptPlanner planner, BeamRelMetadataQuery mq)
      This method is called by org.apache.beam.sdk.extensions.sql.impl.CalciteQueryPlanner.NonCumulativeCostImpl.
      org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollectionList<org.apache.beam.sdk.values.Row>,​org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.Row>> buildPTransform()  
      org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelWriter explainTerms​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelWriter pw)  
      • Methods inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.TableScan

        accept, deriveRowType, getHints, getTable, identity, identity, project
      • Methods inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.AbstractRelNode

        accept, childrenAccept, collectVariablesSet, collectVariablesUsed, copy, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTraitSet, getVariablesSet, hashCode, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, replaceInput, sole, toString
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.hint.Hintable

        attachHints, withHints
      • Methods inherited from interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode

        accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, copy, deepEquals, deepHashCode, explain, explain, fieldIsNullable, getConvention, getCorrelVariable, getDigest, getExpectedInputRowType, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTable, getVariablesSet, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, replaceInput, stripped
      • Methods inherited from interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptNode

        getCluster, getDescription, getId, getTraitSet
    • Constructor Detail

      • BeamPushDownIOSourceRel

        public BeamPushDownIOSourceRel​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptCluster cluster,
                                       org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelTraitSet traitSet,
                                       org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptTable table,
                                       BeamSqlTable beamTable,
                                       java.util.List<java.lang.String> usedFields,
                                       BeamSqlTableFilter tableFilters,
                                       java.util.Map<java.lang.String,​java.lang.String> pipelineOptions,
                                       BeamCalciteTable calciteTable)
    • Method Detail

      • explainTerms

        public org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelWriter explainTerms​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelWriter pw)
        Overrides:
        explainTerms in class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.TableScan
      • buildPTransform

        public org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollectionList<org.apache.beam.sdk.values.Row>,​org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.Row>> buildPTransform()
        Specified by:
        buildPTransform in interface BeamRelNode
        Overrides:
        buildPTransform in class BeamIOSourceRel
      • beamComputeSelfCost

        public BeamCostModel beamComputeSelfCost​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptPlanner planner,
                                                 BeamRelMetadataQuery mq)
        Description copied from interface: BeamRelNode
        This method is called by org.apache.beam.sdk.extensions.sql.impl.CalciteQueryPlanner.NonCumulativeCostImpl. This is currently only used in SQLTransform Path (and not JDBC path). This is needed when Calcite Query Planner wants to get the cost of a plan. Instead of calling this directly for a node, if we needed that it should be obtained by calling mq.getNonCumulativeCost. This way RelMetadataQuery will call this method instead of ComputeSelfCost if the handler is set correctly (see org.apache.beam.sdk.extensions.sql.impl.CalciteQueryPlanner#convertToBeamRel(String))
        Specified by:
        beamComputeSelfCost in interface BeamRelNode
        Overrides:
        beamComputeSelfCost in class BeamIOSourceRel