@Override public RelNode toRel(final RelOptTable.ToRelContext context, final RelOptTable table) { return LogicalTableScan.create(context.getCluster(), table); }
public RelNode createScan(RelOptCluster cluster, RelOptTable table) { return LogicalTableScan.create(cluster, table); } }
public RelNode createScan(RelOptCluster cluster, RelOptTable table) { return LogicalTableScan.create(cluster, table); } }
@Override public RelNode toRel(final RelOptTable.ToRelContext context, final RelOptTable table) { return LogicalTableScan.create(context.getCluster(), table); }
public RelNode toRel(ToRelContext context) { return LogicalTableScan.create(context.getCluster(), this); }
public RelNode toRel(ToRelContext context) { return LogicalTableScan.create(context.getCluster(), this); }
public RelNode toRel(RelOptTable.ToRelContext context, RelOptTable relOptTable) { final RelOptCluster cluster = context.getCluster(); final TableScan scan = LogicalTableScan.create(cluster, relOptTable); return DruidQuery.create(cluster, cluster.traitSetOf(BindableConvention.INSTANCE), relOptTable, this, ImmutableList.of(scan)); }
public RelNode toRel(RelOptTable.ToRelContext context, RelOptTable relOptTable) { final RelOptCluster cluster = context.getCluster(); final TableScan scan = LogicalTableScan.create(cluster, relOptTable); return DruidQuery.create(cluster, cluster.traitSetOf(BindableConvention.INSTANCE), relOptTable, this, ImmutableList.<RelNode>of(scan)); }
@Override public RelNode toRel(ToRelContext context) { return LogicalTableScan.create(context.getCluster(), this); }
public RelNode toRel(ToRelContext context) { return LogicalTableScan.create(context.getCluster(), this); }
public RelNode toRel(ToRelContext context) { return LogicalTableScan.create(context.getCluster(), this); }
public RelNode toRel(ToRelContext context) { return LogicalTableScan.create(context.getCluster(), this); }
public RelNode toRel(ToRelContext context) { return LogicalTableScan.create(context.getCluster(), this); }
public RelNode toRel(ToRelContext context) { return LogicalTableScan.create(context.getCluster(), this); }
public RelNode toRel(ToRelContext context) { return LogicalTableScan.create(context.getCluster(), this); }
@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); } } }
@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); } } }
RelNode toRel(Queryable<T> queryable) { if (queryable instanceof QueryableDefaults.Replayable) { //noinspection unchecked ((QueryableDefaults.Replayable) queryable).replay(this); return rel; } if (queryable instanceof AbstractTableQueryable) { final AbstractTableQueryable tableQueryable = (AbstractTableQueryable) queryable; final QueryableTable table = tableQueryable.table; final CalciteSchema.TableEntry tableEntry = CalciteSchema.from(tableQueryable.schema) .add(tableQueryable.tableName, tableQueryable.table); final RelOptTableImpl relOptTable = RelOptTableImpl.create(null, table.getRowType(translator.typeFactory), tableEntry, null); if (table instanceof TranslatableTable) { return ((TranslatableTable) table).toRel(translator, relOptTable); } else { return LogicalTableScan.create(translator.cluster, relOptTable); } } return translator.translate(queryable.getExpression()); }
@Override public RelNode toRel(ToRelContext context) { RelNode rel = LogicalTableScan.create(context.getCluster(), fromTable); final RexBuilder rexBuilder = context.getCluster().getRexBuilder(); rel = LogicalFilter.create( rel, getConstraint(rexBuilder, rel.getRowType())); final List<RelDataTypeField> fieldList = rel.getRowType().getFieldList(); final List<Pair<RexNode, String>> projects = new AbstractList<Pair<RexNode, String>>() { @Override public Pair<RexNode, String> get(int index) { return RexInputRef.of2(mapping.get(index), fieldList); } @Override public int size() { return mapping.size(); } }; return LogicalProject.create(rel, Pair.left(projects), Pair.right(projects)); }
@Override public RelNode toRel(ToRelContext context) { RelNode rel = LogicalTableScan.create(context.getCluster(), fromTable); final RexBuilder rexBuilder = context.getCluster().getRexBuilder(); rel = LogicalFilter.create( rel, getConstraint(rexBuilder, rel.getRowType())); final List<RelDataTypeField> fieldList = rel.getRowType().getFieldList(); final List<Pair<RexNode, String>> projects = new AbstractList<Pair<RexNode, String>>() { @Override public Pair<RexNode, String> get(int index) { return RexInputRef.of2(mapping.get(index), fieldList); } @Override public int size() { return mapping.size(); } }; return LogicalProject.create(rel, Pair.left(projects), Pair.right(projects)); }