Class CountingFactory

  • All Implemented Interfaces:
    org.apache.calcite.sql2rel.InitializerExpressionFactory

    public class CountingFactory
    extends org.apache.calcite.sql2rel.NullInitializerExpressionFactory
    To check whether InitializerExpressionFactory.newColumnDefaultValue(org.apache.calcite.plan.RelOptTable, int, org.apache.calcite.sql2rel.InitializerContext) is called.

    If a column is in defaultColumns, returns 1 as the default value.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.List<java.lang.String> defaultColumns  
      static java.lang.ThreadLocal<java.util.concurrent.atomic.AtomicInteger> THREAD_CALL_COUNT  
      • Fields inherited from class org.apache.calcite.sql2rel.NullInitializerExpressionFactory

        INSTANCE
    • Constructor Summary

      Constructors 
      Constructor Description
      CountingFactory​(java.util.List<java.lang.String> defaultColumns)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.apache.calcite.schema.ColumnStrategy generationStrategy​(org.apache.calcite.plan.RelOptTable table, int iColumn)  
      org.apache.calcite.rex.RexNode newAttributeInitializer​(org.apache.calcite.rel.type.RelDataType type, org.apache.calcite.sql.SqlFunction constructor, int iAttribute, java.util.List<org.apache.calcite.rex.RexNode> constructorArgs, org.apache.calcite.sql2rel.InitializerContext context)  
      org.apache.calcite.rex.RexNode newColumnDefaultValue​(org.apache.calcite.plan.RelOptTable table, int iColumn, org.apache.calcite.sql2rel.InitializerContext context)  
      • Methods inherited from class org.apache.calcite.sql2rel.NullInitializerExpressionFactory

        isGeneratedAlways
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • THREAD_CALL_COUNT

        public static final java.lang.ThreadLocal<java.util.concurrent.atomic.AtomicInteger> THREAD_CALL_COUNT
      • defaultColumns

        private final java.util.List<java.lang.String> defaultColumns
    • Constructor Detail

      • CountingFactory

        CountingFactory​(java.util.List<java.lang.String> defaultColumns)
    • Method Detail

      • generationStrategy

        public org.apache.calcite.schema.ColumnStrategy generationStrategy​(org.apache.calcite.plan.RelOptTable table,
                                                                           int iColumn)
        Specified by:
        generationStrategy in interface org.apache.calcite.sql2rel.InitializerExpressionFactory
        Overrides:
        generationStrategy in class org.apache.calcite.sql2rel.NullInitializerExpressionFactory
      • newColumnDefaultValue

        public org.apache.calcite.rex.RexNode newColumnDefaultValue​(org.apache.calcite.plan.RelOptTable table,
                                                                    int iColumn,
                                                                    org.apache.calcite.sql2rel.InitializerContext context)
        Specified by:
        newColumnDefaultValue in interface org.apache.calcite.sql2rel.InitializerExpressionFactory
        Overrides:
        newColumnDefaultValue in class org.apache.calcite.sql2rel.NullInitializerExpressionFactory
      • newAttributeInitializer

        public org.apache.calcite.rex.RexNode newAttributeInitializer​(org.apache.calcite.rel.type.RelDataType type,
                                                                      org.apache.calcite.sql.SqlFunction constructor,
                                                                      int iAttribute,
                                                                      java.util.List<org.apache.calcite.rex.RexNode> constructorArgs,
                                                                      org.apache.calcite.sql2rel.InitializerContext context)
        Specified by:
        newAttributeInitializer in interface org.apache.calcite.sql2rel.InitializerExpressionFactory
        Overrides:
        newAttributeInitializer in class org.apache.calcite.sql2rel.NullInitializerExpressionFactory