|
29 | 29 |
|
30 | 30 | import org.apache.tsfile.file.metadata.IDeviceID; |
31 | 31 | import org.apache.tsfile.file.metadata.TimeseriesMetadata; |
32 | | -import org.apache.tsfile.read.TsFileDeviceIterator; |
33 | 32 | import org.apache.tsfile.read.TsFileSequenceReader; |
34 | 33 | import org.apache.tsfile.utils.Pair; |
35 | 34 | import org.apache.tsfile.write.record.Tablet; |
| 35 | +import org.apache.tsfile.write.schema.IMeasurementSchema; |
36 | 36 | import org.slf4j.Logger; |
37 | 37 | import org.slf4j.LoggerFactory; |
38 | 38 |
|
@@ -264,12 +264,13 @@ private LinkedHashMap<IDeviceID, List<String>> readDeviceMeasurementsInOrder() |
264 | 264 | throws IOException { |
265 | 265 | final LinkedHashMap<IDeviceID, List<String>> deviceMeasurementsMap = new LinkedHashMap<>(); |
266 | 266 | try (final TsFileSequenceReader reader = new TsFileSequenceReader(file.getAbsolutePath())) { |
267 | | - final TsFileDeviceIterator deviceIterator = reader.getAllDevicesIteratorWithIsAligned(); |
268 | | - while (deviceIterator.hasNext()) { |
269 | | - final IDeviceID device = deviceIterator.next().getLeft(); |
| 267 | + final Iterator<Pair<IDeviceID, List<TimeseriesMetadata>>> metadataIterator = |
| 268 | + reader.iterAllTimeseriesMetadata(false, false); |
| 269 | + while (metadataIterator.hasNext()) { |
| 270 | + final Pair<IDeviceID, List<TimeseriesMetadata>> deviceMetadata = metadataIterator.next(); |
270 | 271 | deviceMeasurementsMap.put( |
271 | | - device, |
272 | | - reader.readDeviceMetadata(device).values().stream() |
| 272 | + deviceMetadata.getLeft(), |
| 273 | + deviceMetadata.getRight().stream() |
273 | 274 | .map(TimeseriesMetadata::getMeasurementId) |
274 | 275 | .collect(Collectors.toList())); |
275 | 276 | } |
@@ -506,9 +507,7 @@ private void splitOrSkipActiveQueryTask() { |
506 | 507 | } |
507 | 508 |
|
508 | 509 | private List<String> extractMeasurementNames(final Tablet tablet) { |
509 | | - final List<String> measurements = new ArrayList<>(tablet.getSchemas().size()); |
510 | | - tablet.getSchemas().forEach(schema -> measurements.add(schema.getMeasurementName())); |
511 | | - return measurements; |
| 510 | + return IMeasurementSchema.getMeasurementNameList(tablet.getSchemas()); |
512 | 511 | } |
513 | 512 |
|
514 | 513 | private boolean measurementsEqual( |
|
0 commit comments