|
50 | 50 | import java.util.ArrayList; |
51 | 51 | import java.util.List; |
52 | 52 | import java.util.Map; |
53 | | -import java.util.stream.Collectors; |
54 | 53 |
|
55 | 54 | public class AlignedReadOnlyMemChunk extends ReadOnlyMemChunk { |
56 | 55 | private final String timeChunkName; |
@@ -361,21 +360,7 @@ private TsBlock buildTsBlock() { |
361 | 360 | } |
362 | 361 |
|
363 | 362 | private void writeValidValuesIntoTsBlock(TsBlockBuilder builder) throws IOException { |
364 | | - List<AlignedTVList> alignedTvLists = |
365 | | - alignedTvListQueryMap.keySet().stream() |
366 | | - .map(x -> (AlignedTVList) x) |
367 | | - .collect(Collectors.toList()); |
368 | | - MemPointIterator timeValuePairIterator = |
369 | | - MemPointIteratorFactory.create( |
370 | | - dataTypes, |
371 | | - columnIndexList, |
372 | | - alignedTvLists, |
373 | | - Ordering.ASC, |
374 | | - null, |
375 | | - valueColumnsDeletionList, |
376 | | - floatPrecision, |
377 | | - encodingList, |
378 | | - MAX_NUMBER_OF_POINTS_IN_PAGE); |
| 363 | + MemPointIterator timeValuePairIterator = createMemPointIterator(Ordering.ASC, null); |
379 | 364 |
|
380 | 365 | while (timeValuePairIterator.hasNextTimeValuePair()) { |
381 | 366 | TimeValuePair tvPair = timeValuePairIterator.nextTimeValuePair(); |
@@ -453,14 +438,17 @@ public MemPointIterator getMemPointIterator() { |
453 | 438 |
|
454 | 439 | @Override |
455 | 440 | public MemPointIterator createMemPointIterator(Ordering scanOrder, Filter globalTimeFilter) { |
456 | | - List<AlignedTVList> alignedTvLists = |
457 | | - alignedTvListQueryMap.keySet().stream() |
458 | | - .map(x -> (AlignedTVList) x) |
459 | | - .collect(Collectors.toList()); |
| 441 | + List<AlignedTVList> tvLists = new ArrayList<>(alignedTvListQueryMap.size()); |
| 442 | + List<Integer> tvListRowCounts = new ArrayList<>(alignedTvListQueryMap.size()); |
| 443 | + for (Map.Entry<TVList, Integer> entry : alignedTvListQueryMap.entrySet()) { |
| 444 | + tvLists.add((AlignedTVList) entry.getKey()); |
| 445 | + tvListRowCounts.add(entry.getValue()); |
| 446 | + } |
460 | 447 | return MemPointIteratorFactory.create( |
461 | 448 | dataTypes, |
462 | 449 | columnIndexList, |
463 | | - alignedTvLists, |
| 450 | + tvLists, |
| 451 | + tvListRowCounts, |
464 | 452 | scanOrder, |
465 | 453 | globalTimeFilter, |
466 | 454 | valueColumnsDeletionList, |
|
0 commit comments