public RexNode newAttributeInitializer(RelDataType type, SqlFunction constructor, int iAttribute, List<RexNode> constructorArgs, InitializerContext context) { return context.getRexBuilder().constantNull(); } }
public RexNode newAttributeInitializer(RelDataType type, SqlFunction constructor, int iAttribute, List<RexNode> constructorArgs, InitializerContext context) { return context.getRexBuilder().constantNull(); } }
public RexNode newColumnDefaultValue(RelOptTable table, int iColumn, InitializerContext context) { return context.getRexBuilder().constantNull(); }
public RexNode newColumnDefaultValue(RelOptTable table, int iColumn, InitializerContext context) { return context.getRexBuilder().constantNull(); }
@Override public RexNode newColumnDefaultValue(RelOptTable table, int iColumn, InitializerContext context) { THREAD_CALL_COUNT.get().incrementAndGet(); final RelDataTypeField field = table.getRowType().getFieldList().get(iColumn); if (defaultColumns.contains(field.getName())) { final RexBuilder rexBuilder = context.getRexBuilder(); return rexBuilder.makeExactLiteral(BigDecimal.ONE); } return super.newColumnDefaultValue(table, iColumn, context); }
@Override public RexNode newColumnDefaultValue(RelOptTable table, int iColumn, InitializerContext context) { THREAD_CALL_COUNT.get().incrementAndGet(); final RelDataTypeField field = table.getRowType().getFieldList().get(iColumn); if (defaultColumns.contains(field.getName())) { final RexBuilder rexBuilder = context.getRexBuilder(); return rexBuilder.makeExactLiteral(BigDecimal.ONE); } return super.newColumnDefaultValue(table, iColumn, context); }
@Override public RexNode newColumnDefaultValue(RelOptTable table, int iColumn, InitializerContext context) { final ModifiableViewTable viewTable = table.unwrap(ModifiableViewTable.class); assert iColumn < viewTable.columnMapping.size(); final RexBuilder rexBuilder = context.getRexBuilder(); final RelDataTypeFactory typeFactory = rexBuilder.getTypeFactory(); final RelDataType viewType = viewTable.getRowType(typeFactory); final RelDataType iType = viewType.getFieldList().get(iColumn).getType(); // Use the view constraint to generate the default value if the column is constrained. final int mappedOrdinal = viewTable.columnMapping.get(iColumn); final RexNode viewConstraint = projectMap.get(mappedOrdinal); if (viewConstraint != null) { return rexBuilder.ensureType(iType, viewConstraint, true); } // Otherwise use the default value of the underlying table. final Table schemaTable = viewTable.getTable(); if (schemaTable instanceof Wrapper) { final InitializerExpressionFactory initializerExpressionFactory = ((Wrapper) schemaTable).unwrap(InitializerExpressionFactory.class); if (initializerExpressionFactory != null) { final RexNode tableConstraint = initializerExpressionFactory.newColumnDefaultValue(table, iColumn, context); return rexBuilder.ensureType(iType, tableConstraint, true); } } // Otherwise Sql type of NULL. return super.newColumnDefaultValue(table, iColumn, context); }
@Override public RexNode newColumnDefaultValue(RelOptTable table, int iColumn, InitializerContext context) { final RexBuilder rexBuilder = context.getRexBuilder(); final RelDataTypeFactory typeFactory = rexBuilder.getTypeFactory(); switch (iColumn) { case 0: return rexBuilder.makeExactLiteral(new BigDecimal(123), typeFactory.createSqlType(SqlTypeName.INTEGER)); case 1: return rexBuilder.makeLiteral("Bob"); case 5: return rexBuilder.makeExactLiteral(new BigDecimal(555), typeFactory.createSqlType(SqlTypeName.INTEGER)); default: return rexBuilder.constantNull(); } } }
@Override public RexNode newColumnDefaultValue(RelOptTable table, int iColumn, InitializerContext context) { final ModifiableViewTable viewTable = table.unwrap(ModifiableViewTable.class); assert iColumn < viewTable.columnMapping.size(); final RexBuilder rexBuilder = context.getRexBuilder(); final RelDataTypeFactory typeFactory = rexBuilder.getTypeFactory(); final RelDataType viewType = viewTable.getRowType(typeFactory); final RelDataType iType = viewType.getFieldList().get(iColumn).getType(); // Use the view constraint to generate the default value if the column is constrained. final int mappedOrdinal = viewTable.columnMapping.get(iColumn); final RexNode viewConstraint = projectMap.get(mappedOrdinal); if (viewConstraint != null) { return rexBuilder.ensureType(iType, viewConstraint, true); } // Otherwise use the default value of the underlying table. final Table schemaTable = viewTable.getTable(); if (schemaTable instanceof Wrapper) { final InitializerExpressionFactory initializerExpressionFactory = ((Wrapper) schemaTable).unwrap(InitializerExpressionFactory.class); if (initializerExpressionFactory != null) { final RexNode tableConstraint = initializerExpressionFactory.newColumnDefaultValue(table, iColumn, context); return rexBuilder.ensureType(iType, tableConstraint, true); } } // Otherwise Sql type of NULL. return super.newColumnDefaultValue(table, iColumn, context); }
@Override public RexNode newColumnDefaultValue(RelOptTable table, int iColumn, InitializerContext context) { final RexBuilder rexBuilder = context.getRexBuilder(); final RelDataTypeFactory typeFactory = rexBuilder.getTypeFactory(); switch (iColumn) { case 0: return rexBuilder.makeExactLiteral(new BigDecimal(123), typeFactory.createSqlType(SqlTypeName.INTEGER)); case 1: return rexBuilder.makeLiteral("Bob"); case 5: return rexBuilder.makeExactLiteral(new BigDecimal(555), typeFactory.createSqlType(SqlTypeName.INTEGER)); default: return rexBuilder.constantNull(); } } }