@Override public void onMatch(final RelOptRuleCall call) { final LogicalTableScan scan = call.rel(0); final RelOptTable table = scan.getTable(); final DruidTable druidTable = table.unwrap(DruidTable.class); if (druidTable != null) { call.transformTo( DruidQueryRel.fullScan(scan, table, druidTable, queryMaker) ); } } }
private RelNode copyOf(LogicalTableScan rel) { return new LogicalTableScan( cluster, copyOf(rel.getTraitSet()), rel.getTable() ); }
@Override public void onMatch(final RelOptRuleCall call) { final LogicalTableScan scan = call.rel(0); final RelOptTable table = scan.getTable(); final DruidTable druidTable = table.unwrap(DruidTable.class); if (druidTable != null) { call.transformTo( DruidQueryRel.fullScan(scan, table, druidTable, queryMaker) ); } } }
public void onMatch(RelOptRuleCall call) { final LogicalTableScan oldRel = call.rel(0); RelNode newRel = oldRel.getTable().toRel( RelOptUtil.getContext(oldRel.getCluster())); call.transformTo(newRel); } }
@Override public void onMatch(RelOptRuleCall call) { final LogicalTableScan scan = call.rel(0); final RelOptTable table = scan.getTable(); if (BindableTableScan.canHandle(table)) { call.transformTo( BindableTableScan.create(scan.getCluster(), table)); } } }
@Override public void onMatch(RelOptRuleCall call) { final LogicalTableScan scan = call.rel(0); final RelOptTable table = scan.getTable(); if (BindableTableScan.canHandle(table)) { call.transformTo( BindableTableScan.create(scan.getCluster(), table)); } } }
public void onMatch(RelOptRuleCall call) { final LogicalTableScan oldRel = call.rel(0); RelNode newRel = oldRel.getTable().toRel( ViewExpanders.simpleContext(oldRel.getCluster())); call.transformTo(newRel); } }
@Override public RelNode convert(RelNode rel) { LogicalTableScan scan = (LogicalTableScan) rel; final RelOptTable relOptTable = scan.getTable(); final Table table = relOptTable.unwrap(Table.class); if (!EnumerableTableScan.canHandle(table)) { return null; } final Expression expression = relOptTable.getExpression(Object.class); if (expression == null) { return null; } return EnumerableTableScan.create(scan.getCluster(), relOptTable); } }
@Override public RelNode convert(RelNode rel) { LogicalTableScan scan = (LogicalTableScan) rel; final RelOptTable relOptTable = scan.getTable(); final Table table = relOptTable.unwrap(Table.class); if (!EnumerableTableScan.canHandle(table)) { return null; } final Expression expression = relOptTable.getExpression(Object.class); if (expression == null) { return null; } return EnumerableTableScan.create(scan.getCluster(), relOptTable); } }
RelMdCollation.table(empScan.getTable()); assertThat(collations.size(), equalTo(0));
RelMdCollation.table(empScan.getTable()); assertThat(collations.size(), equalTo(0));