private static <T> T unwrap(Object o, Class<T> clazz) { if (o instanceof Wrapper) { return ((Wrapper) o).unwrap(clazz); } return null; }
private static <T> T unwrap(Object o, Class<T> clazz) { if (o instanceof Wrapper) { return ((Wrapper) o).unwrap(clazz); } return null; }
private static <T> T unwrap(Object o, Class<T> clazz) { if (o instanceof Wrapper) { return ((Wrapper) o).unwrap(clazz); } return null; }
private static <T> T unwrap(Object o, Class<T> clazz) { if (o instanceof Wrapper) { return ((Wrapper) o).unwrap(clazz); } return null; }
public <T> T unwrap(Class<T> clazz) { if (clazz.isInstance(this)) { return clazz.cast(this); } if (clazz.isInstance(table)) { return clazz.cast(table); } if (table instanceof Wrapper) { final T t = ((Wrapper) table).unwrap(clazz); if (t != null) { return t; } } if (clazz == CalciteSchema.class) { return clazz.cast( Schemas.subSchema(((CalciteCatalogReader) schema).rootSchema, Util.skipLast(getQualifiedName()))); } return null; }
public <T> T unwrap(Class<T> clazz) { if (clazz.isInstance(this)) { return clazz.cast(this); } if (clazz.isInstance(table)) { return clazz.cast(table); } if (table instanceof Wrapper) { final T t = ((Wrapper) table).unwrap(clazz); if (t != null) { return t; } } if (clazz == CalciteSchema.class) { return clazz.cast( Schemas.subSchema(((CalciteCatalogReader) schema).rootSchema, Util.skipLast(getQualifiedName()))); } return null; }
@Override public <C> C unwrap(Class<C> aClass) { if (table instanceof Wrapper) { final C c = ((Wrapper) table).unwrap(aClass); if (c != null) { return c; } } return super.unwrap(aClass); } }
@Override public <C> C unwrap(Class<C> aClass) { if (table instanceof Wrapper) { final C c = ((Wrapper) table).unwrap(aClass); if (c != null) { return c; } } return super.unwrap(aClass); } }
@Override public <C> C unwrap(Class<C> aClass) { if (table instanceof Wrapper) { final C c = ((Wrapper) table).unwrap(aClass); if (c != null) { return c; } } return super.unwrap(aClass); } }
@Override public <C> C unwrap(Class<C> aClass) { if (table instanceof Wrapper) { final C c = ((Wrapper) table).unwrap(aClass); if (c != null) { return c; } } return super.unwrap(aClass); } }
public Prepare.PreparingTable getTable(final List<String> names) { // First look in the default schema, if any. // If not found, look in the root schema. CalciteSchema.TableEntry entry = SqlValidatorUtil.getTableEntry(this, names); if (entry != null) { final Table table = entry.getTable(); if (table instanceof Wrapper) { final Prepare.PreparingTable relOptTable = ((Wrapper) table).unwrap(Prepare.PreparingTable.class); if (relOptTable != null) { return relOptTable; } } return RelOptTableImpl.create(this, table.getRowType(typeFactory), entry, null); } return null; }
public Prepare.PreparingTable getTable(final List<String> names) { // First look in the default schema, if any. // If not found, look in the root schema. CalciteSchema.TableEntry entry = SqlValidatorUtil.getTableEntry(this, names); if (entry != null) { final Table table = entry.getTable(); if (table instanceof Wrapper) { final Prepare.PreparingTable relOptTable = ((Wrapper) table).unwrap(Prepare.PreparingTable.class); if (relOptTable != null) { return relOptTable; } } return RelOptTableImpl.create(this, table.getRowType(typeFactory), entry, null); } return null; }
@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(); }
@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(); }
@Override public ColumnStrategy generationStrategy(RelOptTable table, int iColumn) { final ModifiableViewTable viewTable = table.unwrap(ModifiableViewTable.class); assert iColumn < viewTable.columnMapping.size(); // 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 ColumnStrategy.DEFAULT; } // 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) { return initializerExpressionFactory.generationStrategy(table, iColumn); } } return super.generationStrategy(table, iColumn); }
SqlValidatorTable table2 = null; if (table instanceof Wrapper) { table2 = ((Wrapper) table).unwrap(Prepare.PreparingTable.class);
@Override public ColumnStrategy generationStrategy(RelOptTable table, int iColumn) { final ModifiableViewTable viewTable = table.unwrap(ModifiableViewTable.class); assert iColumn < viewTable.columnMapping.size(); // 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 ColumnStrategy.DEFAULT; } // 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) { return initializerExpressionFactory.generationStrategy(table, iColumn); } } return super.generationStrategy(table, iColumn); }
public static MockModifiableViewRelOptTable create(MockModifiableViewTable modifiableViewTable, MockCatalogReader catalogReader, String catalogName, String schemaName, String name, boolean stream, double rowCount, ColumnResolver resolver) { final Table underlying = modifiableViewTable.unwrap(Table.class); final InitializerExpressionFactory initializerExpressionFactory = underlying != null && underlying instanceof Wrapper ? ((Wrapper) underlying).unwrap(InitializerExpressionFactory.class) : NullInitializerExpressionFactory.INSTANCE; return new MockModifiableViewRelOptTable(modifiableViewTable, catalogReader, catalogName, schemaName, name, stream, rowCount, resolver, Util.first(initializerExpressionFactory, NullInitializerExpressionFactory.INSTANCE)); }
public static MockModifiableViewRelOptTable create(MockModifiableViewTable modifiableViewTable, MockCatalogReader catalogReader, String catalogName, String schemaName, String name, boolean stream, double rowCount, ColumnResolver resolver) { final Table underlying = modifiableViewTable.unwrap(Table.class); final InitializerExpressionFactory initializerExpressionFactory = underlying != null && underlying instanceof Wrapper ? ((Wrapper) underlying).unwrap(InitializerExpressionFactory.class) : NullInitializerExpressionFactory.INSTANCE; return new MockModifiableViewRelOptTable(modifiableViewTable, catalogReader, catalogName, schemaName, name, stream, rowCount, resolver, Util.first(initializerExpressionFactory, NullInitializerExpressionFactory.INSTANCE)); }
@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); }