public RelNode toRel(ToRelContext context) { return new TableAccessRel(context.getCluster(), this); }
public void onMatch(RelOptRuleCall call) { final TableAccessRel oldRel = call.rel(0); RelNode newRel = oldRel.getTable().toRel( RelOptUtil.getContext(oldRel.getCluster())); call.transformTo(newRel); } }
public void rewriteRel(TableAccessRel rel) { RelNode newRel = rel.getTable().toRel(toRelContext); setNewForOldRel(rel, newRel); }
public RelOptCluster getCluster() { return oldRel.getCluster(); }
public void rewriteRel(TableAccessRel rel) { RelNode newRel = rel.getTable().toRel(toRelContext); setNewForOldRel(rel, newRel); }
tableRel = toRel(table); } else { tableRel = new TableAccessRel(cluster, table);
public void onMatch(RelOptRuleCall call) { final TableAccessRel oldRel = call.rel(0); RelNode newRel = oldRel.getTable().toRel( new RelOptTable.ToRelContext() { public RelOptCluster getCluster() { return oldRel.getCluster(); } public Prepare getPreparingStmt() { throw new UnsupportedOperationException(); } }); call.transformTo(newRel); } }
public RelNode toRel( ToRelContext context) { return new TableAccessRel(context.getCluster(), this); }
public RelNode toRel( ToRelContext context) { return new TableAccessRel(context.getCluster(), this); }
public RelNode toRel(ToRelContext context) { return new TableAccessRel(context.getCluster(), this); }
public RelNode toRel(ToRelContext context) { return new TableAccessRel(context.getCluster(), this); }
public RelNode toRel(ToRelContext context) { return new TableAccessRel(context.getCluster(), this); }
public RelNode toRel(ToRelContext context) { return new TableAccessRel(context.getCluster(), this); }
return new TableAccessRel( cluster, RelOptTableImpl.create( return new TableAccessRel( cluster, RelOptTableImpl.create(
RelNode toRel(Queryable<T> queryable) { if (queryable instanceof QueryableDefaults.Replayable) { //noinspection unchecked ((QueryableDefaults.Replayable) queryable).replay(this); return rel; } if (queryable instanceof Table) { final OptiqPrepareImpl.RelOptTableImpl relOptTable = new OptiqPrepareImpl.RelOptTableImpl( null, ((Table) queryable).getRowType(), ImmutableList.<String>of(), (Table) queryable); if (queryable instanceof TranslatableTable) { return ((TranslatableTable) queryable) .toRel(translator, relOptTable); } else { return new TableAccessRel( translator.cluster, relOptTable); } } return translator.translate(queryable.getExpression()); }
@Override public RelNode visit(TableAccessRelBase scan) { RelOptTable relOptTable = scan.getTable(); final Table table = relOptTable.unwrap(Table.class); if (table.equals(starTable.tables.get(0))) { Mappings.TargetMapping mapping = Mappings.createShiftMapping( starRelOptTable.getRowType().getFieldCount(), 0, 0, relOptTable.getRowType().getFieldCount()); return CalcRel.createProject( new TableAccessRel(scan.getCluster(), starRelOptTable), Mappings.asList(mapping.inverse())); } return scan; }
return new TableAccessRel( cluster, new OptiqPrepareImpl.RelOptTableImpl( return new TableAccessRel( cluster, new OptiqPrepareImpl.RelOptTableImpl(
throw new Util.FoundOne( CalcRel.createProject( new TableAccessRel(cluster, leftRelOptTable), Mappings.asList(mapping.inverse()))); throw new Util.FoundOne( CalcRel.createProject( new TableAccessRel(cluster, rightRelOptTable), Mappings.asList(mapping.inverse())));
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 OptiqSchema.TableEntry tableEntry = OptiqSchema.from(tableQueryable.schema) .add(tableQueryable.tableName, tableQueryable.table); final RelOptTableImpl relOptTable = RelOptTableImpl.create(null, table.getRowType(translator.typeFactory), tableEntry); if (table instanceof TranslatableTable) { return ((TranslatableTable) table).toRel(translator, relOptTable); } else { return new TableAccessRel(translator.cluster, relOptTable); } } return translator.translate(queryable.getExpression()); }
makeToRelContext()); } else { tableRel = new TableAccessRel(cluster, table);