Package org.apache.calcite.test.catalog
Class CountingFactory
- java.lang.Object
-
- org.apache.calcite.sql2rel.NullInitializerExpressionFactory
-
- org.apache.calcite.test.catalog.CountingFactory
-
- All Implemented Interfaces:
org.apache.calcite.sql2rel.InitializerExpressionFactory
public class CountingFactory extends org.apache.calcite.sql2rel.NullInitializerExpressionFactory
To check whetherInitializerExpressionFactory.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
-
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)
-
-
-
Method Detail
-
generationStrategy
public org.apache.calcite.schema.ColumnStrategy generationStrategy(org.apache.calcite.plan.RelOptTable table, int iColumn)
- Specified by:
generationStrategy
in interfaceorg.apache.calcite.sql2rel.InitializerExpressionFactory
- Overrides:
generationStrategy
in classorg.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 interfaceorg.apache.calcite.sql2rel.InitializerExpressionFactory
- Overrides:
newColumnDefaultValue
in classorg.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 interfaceorg.apache.calcite.sql2rel.InitializerExpressionFactory
- Overrides:
newAttributeInitializer
in classorg.apache.calcite.sql2rel.NullInitializerExpressionFactory
-
-