Package org.apache.calcite.sql2rel
Interface InitializerExpressionFactory
-
- All Known Implementing Classes:
ModifiableViewTable.ModifiableViewTableInitializerExpressionFactory
,NullInitializerExpressionFactory
public interface InitializerExpressionFactory
InitializerExpressionFactory supplies default values for INSERT, UPDATE, and NEW.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description ColumnStrategy
generationStrategy(RelOptTable table, int iColumn)
Returns how a column is populated.boolean
isGeneratedAlways(RelOptTable table, int iColumn)
Deprecated.Usec.generationStrategy(t, i) == VIRTUAL || c.generationStrategy(t, i) == STORED
RexNode
newAttributeInitializer(RelDataType type, SqlFunction constructor, int iAttribute, java.util.List<RexNode> constructorArgs, InitializerContext context)
Creates an expression which evaluates to the initializer expression for a particular attribute of a structured type.RexNode
newColumnDefaultValue(RelOptTable table, int iColumn, InitializerContext context)
Creates an expression which evaluates to the default value for a particular column.
-
-
-
Method Detail
-
isGeneratedAlways
@Deprecated boolean isGeneratedAlways(RelOptTable table, int iColumn)
Deprecated.Usec.generationStrategy(t, i) == VIRTUAL || c.generationStrategy(t, i) == STORED
Whether a column is always generated. If a column is always generated, then non-generated values cannot be inserted into the column.- See Also:
generationStrategy(RelOptTable, int)
-
generationStrategy
ColumnStrategy generationStrategy(RelOptTable table, int iColumn)
Returns how a column is populated.- Parameters:
table
- the table containing the columniColumn
- the 0-based offset of the column in the table- Returns:
- generation strategy, never null
- See Also:
RelOptTable.getColumnStrategies()
-
newColumnDefaultValue
RexNode newColumnDefaultValue(RelOptTable table, int iColumn, InitializerContext context)
Creates an expression which evaluates to the default value for a particular column.- Parameters:
table
- the table containing the columniColumn
- the 0-based offset of the column in the tablecontext
- Context for creating the expression- Returns:
- default value expression
-
newAttributeInitializer
RexNode newAttributeInitializer(RelDataType type, SqlFunction constructor, int iAttribute, java.util.List<RexNode> constructorArgs, InitializerContext context)
Creates an expression which evaluates to the initializer expression for a particular attribute of a structured type.- Parameters:
type
- the structured typeconstructor
- the constructor invoked to initialize the typeiAttribute
- the 0-based offset of the attribute in the typeconstructorArgs
- arguments passed to the constructor invocationcontext
- Context for creating the expression- Returns:
- default value expression
-
-