Class DruidRelFieldTrimmer

java.lang.Object
org.apache.calcite.sql2rel.RelFieldTrimmer
org.apache.druid.sql.calcite.planner.DruidRelFieldTrimmer
All Implemented Interfaces:
org.apache.calcite.util.ReflectiveVisitor

public class DruidRelFieldTrimmer extends org.apache.calcite.sql2rel.RelFieldTrimmer
DruidRelFieldTrimmer is a subclass of RelFieldTrimmer that provides additional support for Druid specific RelNodes. It is used to trim fields from Druid specific RelNodes like LogicalUnnest.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.calcite.sql2rel.RelFieldTrimmer

    org.apache.calcite.sql2rel.RelFieldTrimmer.TrimResult
  • Constructor Summary

    Constructors
    Constructor
    Description
    DruidRelFieldTrimmer(@Nullable org.apache.calcite.sql.validate.SqlValidator validator, org.apache.calcite.tools.RelBuilder relBuilder)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.apache.calcite.sql2rel.RelFieldTrimmer.TrimResult
    dummyProject(int fieldCount, org.apache.calcite.rel.RelNode input)
     
    protected org.apache.calcite.sql2rel.RelFieldTrimmer.TrimResult
    dummyProject(int fieldCount, org.apache.calcite.rel.RelNode input, @Nullable org.apache.calcite.rel.RelNode originalRelNode)
     
    org.apache.calcite.sql2rel.RelFieldTrimmer.TrimResult
    trimFields(org.apache.calcite.rel.logical.LogicalCorrelate correlate, org.apache.calcite.util.ImmutableBitSet fieldsUsed, Set<org.apache.calcite.rel.type.RelDataTypeField> extraFields)
    Should be unnecesarry in versions having CALCITE-6715
    org.apache.calcite.sql2rel.RelFieldTrimmer.TrimResult
    trimFields(LogicalUnnest correlate, org.apache.calcite.util.ImmutableBitSet fieldsUsed, Set<org.apache.calcite.rel.type.RelDataTypeField> extraFields)
     

    Methods inherited from class org.apache.calcite.sql2rel.RelFieldTrimmer

    createMapping, dispatchTrimFields, result, result, trim, trimChild, trimChildRestore, trimFields, trimFields, trimFields, trimFields, trimFields, trimFields, trimFields, trimFields, trimFields, trimFields, trimFields, trimFields, trimFields, trimFields, trimFields, trimFields

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DruidRelFieldTrimmer

      public DruidRelFieldTrimmer(@Nullable org.apache.calcite.sql.validate.SqlValidator validator, org.apache.calcite.tools.RelBuilder relBuilder)
  • Method Details

    • dummyProject

      protected org.apache.calcite.sql2rel.RelFieldTrimmer.TrimResult dummyProject(int fieldCount, org.apache.calcite.rel.RelNode input)
      Overrides:
      dummyProject in class org.apache.calcite.sql2rel.RelFieldTrimmer
    • dummyProject

      protected org.apache.calcite.sql2rel.RelFieldTrimmer.TrimResult dummyProject(int fieldCount, org.apache.calcite.rel.RelNode input, @Nullable org.apache.calcite.rel.RelNode originalRelNode)
      Overrides:
      dummyProject in class org.apache.calcite.sql2rel.RelFieldTrimmer
    • trimFields

      public org.apache.calcite.sql2rel.RelFieldTrimmer.TrimResult trimFields(org.apache.calcite.rel.logical.LogicalCorrelate correlate, org.apache.calcite.util.ImmutableBitSet fieldsUsed, Set<org.apache.calcite.rel.type.RelDataTypeField> extraFields)
      Should be unnecesarry in versions having CALCITE-6715
    • trimFields

      public org.apache.calcite.sql2rel.RelFieldTrimmer.TrimResult trimFields(LogicalUnnest correlate, org.apache.calcite.util.ImmutableBitSet fieldsUsed, Set<org.apache.calcite.rel.type.RelDataTypeField> extraFields)