@SuppressWarnings("deprecation") public boolean columnHasDefaultValue(RelDataType rowType, int ordinal, InitializerContext initializerContext) { // This method is no longer used final Table table = this.unwrap(Table.class); if (table != null && table instanceof Wrapper) { final InitializerExpressionFactory initializerExpressionFactory = ((Wrapper) table).unwrap(InitializerExpressionFactory.class); if (initializerExpressionFactory != null) { return initializerExpressionFactory .newColumnDefaultValue(this, ordinal, initializerContext) .getType().getSqlTypeName() != SqlTypeName.NULL; } } if (ordinal >= rowType.getFieldList().size()) { return true; } return !rowType.getFieldList().get(ordinal).getType().isNullable(); }
|| sourceExps.get(i).getKind() == SqlKind.DEFAULT) { sourceExps.set(i, initializerFactory.newColumnDefaultValue(targetTable, i, bb.get()));
@SuppressWarnings("deprecation") public boolean columnHasDefaultValue(RelDataType rowType, int ordinal, InitializerContext initializerContext) { // This method is no longer used final Table table = this.unwrap(Table.class); if (table != null && table instanceof Wrapper) { final InitializerExpressionFactory initializerExpressionFactory = ((Wrapper) table).unwrap(InitializerExpressionFactory.class); if (initializerExpressionFactory != null) { return initializerExpressionFactory .newColumnDefaultValue(this, ordinal, initializerContext) .getType().getSqlTypeName() != SqlTypeName.NULL; } } if (ordinal >= rowType.getFieldList().size()) { return true; } return !rowType.getFieldList().get(ordinal).getType().isNullable(); }
|| sourceExps.get(i).getKind() == SqlKind.DEFAULT) { sourceExps.set(i, initializerFactory.newColumnDefaultValue(targetTable, i, bb.get()));
initializerFactory.newColumnDefaultValue(targetTable, i));
initializerFactory.newColumnDefaultValue(targetTable, i, new InitializerContext() { public RexBuilder getRexBuilder() {
Util.first(targetTable.unwrap(InitializerExpressionFactory.class), NullInitializerExpressionFactory.INSTANCE); expr = f.newColumnDefaultValue(targetTable, i, bb); break; case VIRTUAL:
Util.first(targetTable.unwrap(InitializerExpressionFactory.class), NullInitializerExpressionFactory.INSTANCE); expr = f.newColumnDefaultValue(targetTable, i, bb); break; case VIRTUAL:
@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 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); }
switch (strategy) { case VIRTUAL: list.add(ief.newColumnDefaultValue(table, f.getIndex(), bb.get())); ++virtualCount; break;
switch (strategy) { case VIRTUAL: list.add(ief.newColumnDefaultValue(table, f.getIndex(), bb.get())); ++virtualCount; break;