private TableScan createTemporaryTableScan(RelOptTableImpl relOptTable, List<String> tableAlias, TableScan tableScan, RelNode originTable) { RelDataType type = originTable.getRowType(); RelOptTableImpl relOptTableWithAlias = relOptTable.modifyTableName(tableAlias); RelOptTable newRelOptTable = RelOptTableImpl.create( relOptTableWithAlias.getRelOptSchema(), type, relOptTableWithAlias.getTable(), ImmutableList.copyOf(relOptTableWithAlias.getQualifiedName()) ); return new TemporaryTableScan( tableScan.getCluster(), tableScan.getTraitSet(), newRelOptTable ); }