|
27 | 27 | import org.apache.doris.system.Backend;
|
28 | 28 | import org.apache.doris.tablefunction.MetadataTableValuedFunction;
|
29 | 29 | import org.apache.doris.thrift.TMetaScanNode;
|
| 30 | +import org.apache.doris.thrift.TMetaScanRange; |
30 | 31 | import org.apache.doris.thrift.TNetworkAddress;
|
31 | 32 | import org.apache.doris.thrift.TPlanNode;
|
32 | 33 | import org.apache.doris.thrift.TPlanNodeType;
|
@@ -70,19 +71,21 @@ protected void toThrift(TPlanNode planNode) {
|
70 | 71 |
|
71 | 72 | @Override
|
72 | 73 | protected void createScanRangeLocations() throws UserException {
|
73 |
| - TScanRange scanRange = new TScanRange(); |
74 |
| - scanRange.setMetaScanRange(tvf.getMetaScanRange()); |
75 |
| - // set location |
76 |
| - TScanRangeLocation location = new TScanRangeLocation(); |
77 |
| - Backend backend = backendPolicy.getNextBe(); |
78 |
| - location.setBackendId(backend.getId()); |
79 |
| - location.setServer(new TNetworkAddress(backend.getHost(), backend.getBePort())); |
80 |
| - |
81 |
| - TScanRangeLocations locations = new TScanRangeLocations(); |
82 |
| - locations.addToLocations(location); |
83 |
| - locations.setScanRange(scanRange); |
84 |
| - |
85 |
| - scanRangeLocations.add(locations); |
| 74 | + for (TMetaScanRange metaScanRange : tvf.getMetaScanRanges()) { |
| 75 | + TScanRange scanRange = new TScanRange(); |
| 76 | + scanRange.setMetaScanRange(metaScanRange); |
| 77 | + |
| 78 | + TScanRangeLocation location = new TScanRangeLocation(); |
| 79 | + Backend backend = backendPolicy.getNextBe(); |
| 80 | + location.setBackendId(backend.getId()); |
| 81 | + location.setServer(new TNetworkAddress(backend.getHost(), backend.getBePort())); |
| 82 | + |
| 83 | + TScanRangeLocations locations = new TScanRangeLocations(); |
| 84 | + locations.addToLocations(location); |
| 85 | + locations.setScanRange(scanRange); |
| 86 | + |
| 87 | + scanRangeLocations.add(locations); |
| 88 | + } |
86 | 89 | }
|
87 | 90 |
|
88 | 91 | @Override
|
|
0 commit comments