newTabFun = tabFun.copy(tabFun.getTraitSet(), newInputs, tabFun.getCall(), tabFun.getElementType(), tabFun.getRowType(), tabFun.getColumnMappings());
newTabFun = tabFun.copy(tabFun.getTraitSet(), newInputs, tabFun.getCall(), tabFun.getElementType(), tabFun.getRowType(), tabFun.getColumnMappings());
@Override public RelNode convert(RelNode rel) { final RelTraitSet traitSet = rel.getTraitSet().replace(EnumerableConvention.INSTANCE); LogicalTableFunctionScan tbl = (LogicalTableFunctionScan) rel; return new EnumerableTableFunctionScan(rel.getCluster(), traitSet, tbl.getInputs(), tbl.getElementType(), tbl.getRowType(), tbl.getCall(), tbl.getColumnMappings()); } }
@Override public RelNode convert(RelNode rel) { final RelTraitSet traitSet = rel.getTraitSet().replace(EnumerableConvention.INSTANCE); LogicalTableFunctionScan tbl = (LogicalTableFunctionScan) rel; return new EnumerableTableFunctionScan(rel.getCluster(), traitSet, tbl.getInputs(), tbl.getElementType(), tbl.getRowType(), tbl.getCall(), tbl.getColumnMappings()); } }
private RelNode copyOf(LogicalTableFunctionScan rel) { return new LogicalTableFunctionScan( cluster, copyOf(rel.getTraitSet()), visitAll(rel.getInputs()), copyOf(rel.getCall()), rel.getElementType(), copyOf(rel.getRowType()), rel.getColumnMappings() ); }
public void onMatch(RelOptRuleCall call) { LogicalFilter filter = call.rel(0); LogicalTableFunctionScan funcRel = call.rel(1); Set<RelColumnMapping> columnMappings = funcRel.getColumnMappings(); if (columnMappings == null || columnMappings.isEmpty()) {
public void onMatch(RelOptRuleCall call) { LogicalFilter filter = call.rel(0); LogicalTableFunctionScan funcRel = call.rel(1); Set<RelColumnMapping> columnMappings = funcRel.getColumnMappings(); if (columnMappings == null || columnMappings.isEmpty()) {