public static PartialDruidQuery create(final RelNode scanRel) { final Supplier<RelBuilder> builderSupplier = () -> RelFactories.LOGICAL_BUILDER.create( scanRel.getCluster(), scanRel.getTable().getRelOptSchema() ); return new PartialDruidQuery(builderSupplier, scanRel, null, null, null, null, null, null, null, null); }
@Override public RelOptSchema getRelOptSchema() { return relOptTable.getRelOptSchema(); }
protected TableScan(RelOptCluster cluster, RelTraitSet traitSet, RelOptTable table) { super(cluster, traitSet); this.table = table; if (table.getRelOptSchema() != null) { cluster.getPlanner().registerSchema(table.getRelOptSchema()); } }
protected TableScan(RelOptCluster cluster, RelTraitSet traitSet, RelOptTable table) { super(cluster, traitSet); this.table = table; if (table.getRelOptSchema() != null) { cluster.getPlanner().registerSchema(table.getRelOptSchema()); } }
public RelOptSchema getRelOptSchema() { return parent.getRelOptSchema(); }
public RelOptSchema getRelOptSchema() { return parent.getRelOptSchema(); }
Preconditions.checkArgument(sourceExpressionList == null); if (table.getRelOptSchema() != null) { cluster.getPlanner().registerSchema(table.getRelOptSchema());
Preconditions.checkArgument(sourceExpressionList == null); if (table.getRelOptSchema() != null) { cluster.getPlanner().registerSchema(table.getRelOptSchema());
@Override public RelNode visit(TableScan scan) { schemas[0] = scan.getTable().getRelOptSchema(); return super.visit(scan); } });
@Override public RelNode visit(TableScan scan) { schemas[0] = scan.getTable().getRelOptSchema(); return super.visit(scan); } });
@Override public void onMatch(RelOptRuleCall call) { final Delta delta = call.rel(0); final TableScan scan = call.rel(1); final RelOptCluster cluster = delta.getCluster(); final RelOptTable relOptTable = scan.getTable(); final StreamableTable streamableTable = relOptTable.unwrap(StreamableTable.class); if (streamableTable != null) { final Table table1 = streamableTable.stream(); final RelOptTable relOptTable2 = RelOptTableImpl.create(relOptTable.getRelOptSchema(), relOptTable.getRowType(), table1, ImmutableList.<String>builder() .addAll(relOptTable.getQualifiedName()) .add("(STREAM)").build()); final LogicalTableScan newScan = LogicalTableScan.create(cluster, relOptTable2); call.transformTo(newScan); } } }
/** Returns the row type of a table after any {@link ColumnStrategy#VIRTUAL} * columns have been removed. This is the type of the records that are * actually stored. */ public static RelDataType realRowType(RelOptTable table) { final RelDataType rowType = table.getRowType(); final List<ColumnStrategy> strategies = columnStrategies(table); if (!strategies.contains(ColumnStrategy.VIRTUAL)) { return rowType; } final RelDataTypeFactory.Builder builder = table.getRelOptSchema().getTypeFactory().builder(); for (RelDataTypeField field : rowType.getFieldList()) { if (strategies.get(field.getIndex()) != ColumnStrategy.VIRTUAL) { builder.add(field); } } return builder.build(); }
/** Returns the row type of a table after any {@link ColumnStrategy#VIRTUAL} * columns have been removed. This is the type of the records that are * actually stored. */ public static RelDataType realRowType(RelOptTable table) { final RelDataType rowType = table.getRowType(); final List<ColumnStrategy> strategies = columnStrategies(table); if (!strategies.contains(ColumnStrategy.VIRTUAL)) { return rowType; } final RelDataTypeFactory.Builder builder = table.getRelOptSchema().getTypeFactory().builder(); for (RelDataTypeField field : rowType.getFieldList()) { if (strategies.get(field.getIndex()) != ColumnStrategy.VIRTUAL) { builder.add(field); } } return builder.build(); }
@Override public void onMatch(RelOptRuleCall call) { final Delta delta = call.rel(0); final TableScan scan = call.rel(1); final RelOptCluster cluster = delta.getCluster(); final RelOptTable relOptTable = scan.getTable(); final StreamableTable streamableTable = relOptTable.unwrap(StreamableTable.class); if (streamableTable != null) { final Table table1 = streamableTable.stream(); final RelOptTable relOptTable2 = RelOptTableImpl.create(relOptTable.getRelOptSchema(), relOptTable.getRowType(), table1, ImmutableList.<String>builder() .addAll(relOptTable.getQualifiedName()) .add("(STREAM)").build()); final LogicalTableScan newScan = LogicalTableScan.create(cluster, relOptTable2); call.transformTo(newScan); } } }
tableModify.getTable().getRelOptSchema() );
tableModify.getTable().getRelOptSchema() );
tableModify.getTable().getRelOptSchema() );
aggregateTable.getRowType(cluster.getTypeFactory()); final RelOptTable aggregateRelOptTable = RelOptTableImpl.create(table.getRelOptSchema(), aggregateTableRowType, tableEntry, rowCount); RelNode rel = aggregateRelOptTable.toRel(RelOptUtil.getContext(cluster));
JdbcRelBuilder relBuilder = relBuilderFactory.create( context.getCluster(), relOptTable.getRelOptSchema() );
final RelOptTable aggregateRelOptTable = RelOptTableImpl.create( table.getRelOptSchema(), aggregateTableRowType, tableEntry,