ImmutableBitSet fieldsUsed, Set<RelDataTypeField> extraFields) { final RelDataType rowType = tabFun.getRowType(); final int fieldCount = rowType.getFieldCount(); final List<RelNode> newInputs = new ArrayList<>(); if (!tabFun.getInputs().equals(newInputs)) { newTabFun = tabFun.copy(tabFun.getTraitSet(), newInputs, tabFun.getCall(), tabFun.getElementType(), tabFun.getRowType(), tabFun.getColumnMappings());
ImmutableBitSet fieldsUsed, Set<RelDataTypeField> extraFields) { final RelDataType rowType = tabFun.getRowType(); final int fieldCount = rowType.getFieldCount(); final List<RelNode> newInputs = new ArrayList<>(); if (!tabFun.getInputs().equals(newInputs)) { newTabFun = tabFun.copy(tabFun.getTraitSet(), newInputs, tabFun.getCall(), tabFun.getElementType(), tabFun.getRowType(), tabFun.getColumnMappings());
if (funcRel.getRowType().getFieldCount() != funcInputs.get(0).getRowType().getFieldCount()) { return; List<RelDataTypeField> origFields = funcRel.getRowType().getFieldList(); funcRel.getCall(), funcRel.getElementType(), funcRel.getRowType(), columnMappings); call.transformTo(newFuncRel);
if (funcRel.getRowType().getFieldCount() != funcInputs.get(0).getRowType().getFieldCount()) { return; List<RelDataTypeField> origFields = funcRel.getRowType().getFieldList(); funcRel.getCall(), funcRel.getElementType(), funcRel.getRowType(), columnMappings); call.transformTo(newFuncRel);
@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() ); }