This is an automated email from the ASF dual-hosted git repository.
jiangtian pushed a commit to branch removeTsFIleModule_v4
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/removeTsFIleModule_v4 by this
push:
new 776615531d3 adapt to IDeviceId
776615531d3 is described below
commit 776615531d37812c5838d191537d4f05960abe37
Author: Tian Jiang <[email protected]>
AuthorDate: Fri Apr 19 18:43:28 2024 +0800
adapt to IDeviceId
---
.../iotdb/db/pipe/event/common/row/PipeRow.java | 8 +-
.../db/pipe/event/common/row/PipeRowCollector.java | 1 +
.../tablet/TabletInsertionDataContainer.java | 3 +-
.../tsfile/TsFileInsertionDataTabletIterator.java | 1 +
.../db/pipe/resource/memory/PipeMemoryManager.java | 4 +-
.../protocol/thrift/impl/ClientRPCServiceImpl.java | 3 +-
.../common/schematree/DeviceSchemaInfo.java | 2 +
.../fragment/FragmentInstanceContext.java | 2 +-
.../operator/process/DeviceViewIntoOperator.java | 2 +-
.../execution/operator/process/IntoOperator.java | 2 +-
.../execution/operator/source/FileLoaderUtils.java | 3 +-
.../db/queryengine/plan/analyze/Analysis.java | 6 +-
.../queryengine/plan/analyze/AnalyzeVisitor.java | 4 +-
.../plan/analyze/ExpressionAnalyzer.java | 2 +-
.../plan/analyze/LoadTsfileAnalyzer.java | 7 +-
.../schema/DeviceUsingTemplateSchemaCache.java | 2 +-
.../plan/analyze/schema/ClusterSchemaFetcher.java | 1 +
.../plan/planner/LogicalPlanBuilder.java | 9 ++-
.../plan/planner/LogicalPlanVisitor.java | 4 +-
.../plan/planner/OperatorTreeGenerator.java | 6 +-
.../node/metedata/write/AlterTimeSeriesNode.java | 2 +-
.../node/metedata/write/CreateTimeSeriesNode.java | 2 +-
.../metedata/write/view/CreateLogicalViewNode.java | 2 +-
.../plan/node/source/AlignedLastQueryScanNode.java | 2 +-
.../plan/node/source/AlignedSeriesScanNode.java | 2 +-
.../schemaengine/schemaregion/utils/MetaUtils.java | 11 +--
.../db/storageengine/dataregion/DataRegion.java | 2 +-
.../impl/ReadPointCompactionPerformer.java | 5 +-
.../readchunk/SingleSeriesCompactionExecutor.java | 5 +-
.../compaction/io/CompactionTsFileReader.java | 2 +-
.../memtable/AlignedReadOnlyMemChunk.java | 4 +-
.../dataregion/modification/Modification.java | 2 +-
.../apache/iotdb/db/tools/TsFileSelfCheckTool.java | 38 +++++-----
.../apache/iotdb/db/tools/TsFileSketchTool.java | 88 ++++++++++++----------
.../db/trigger/executor/TriggerFireVisitor.java | 1 +
35 files changed, 130 insertions(+), 110 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/row/PipeRow.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/row/PipeRow.java
index 0296935e7bb..c1a6680803f 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/row/PipeRow.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/row/PipeRow.java
@@ -27,7 +27,7 @@ import org.apache.tsfile.common.conf.TSFileConfig;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.read.common.Path;
import org.apache.tsfile.utils.BitMap;
-import org.apache.tsfile.write.schema.MeasurementSchema;
+import org.apache.tsfile.write.schema.IMeasurementSchema;
import java.util.Arrays;
import java.util.List;
@@ -38,7 +38,7 @@ public class PipeRow implements Row {
protected final String deviceId;
protected final boolean isAligned;
- protected final MeasurementSchema[] measurementSchemaList;
+ protected final IMeasurementSchema[] measurementSchemaList;
protected final long[] timestampColumn;
protected final TSDataType[] valueColumnTypes;
@@ -51,7 +51,7 @@ public class PipeRow implements Row {
int rowIndex,
String deviceId,
boolean isAligned,
- MeasurementSchema[] measurementSchemaList,
+ IMeasurementSchema[] measurementSchemaList,
long[] timestampColumn,
TSDataType[] valueColumnTypes,
Object[] valueColumns,
@@ -179,7 +179,7 @@ public class PipeRow implements Row {
return isAligned;
}
- public MeasurementSchema[] getMeasurementSchemaList() {
+ public IMeasurementSchema[] getMeasurementSchemaList() {
return measurementSchemaList;
}
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/row/PipeRowCollector.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/row/PipeRowCollector.java
index 85606f1200a..c2bbe4c22b4 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/row/PipeRowCollector.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/row/PipeRowCollector.java
@@ -29,6 +29,7 @@ import
org.apache.iotdb.pipe.api.event.dml.insertion.TabletInsertionEvent;
import org.apache.iotdb.pipe.api.exception.PipeException;
import org.apache.tsfile.write.record.Tablet;
+import org.apache.tsfile.write.schema.IMeasurementSchema;
import org.apache.tsfile.write.schema.MeasurementSchema;
import java.util.ArrayList;
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tablet/TabletInsertionDataContainer.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tablet/TabletInsertionDataContainer.java
index f45b0f5226d..5b4edc43740 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tablet/TabletInsertionDataContainer.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tablet/TabletInsertionDataContainer.java
@@ -37,6 +37,7 @@ import org.apache.tsfile.utils.Binary;
import org.apache.tsfile.utils.BitMap;
import org.apache.tsfile.write.UnSupportedDataTypeException;
import org.apache.tsfile.write.record.Tablet;
+import org.apache.tsfile.write.schema.IMeasurementSchema;
import org.apache.tsfile.write.schema.MeasurementSchema;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.slf4j.Logger;
@@ -63,7 +64,7 @@ public class TabletInsertionDataContainer {
private String deviceId;
private boolean isAligned;
- private MeasurementSchema[] measurementSchemaList;
+ private IMeasurementSchema[] measurementSchemaList;
private String[] columnNameStringList;
private long[] timestampColumn;
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/TsFileInsertionDataTabletIterator.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/TsFileInsertionDataTabletIterator.java
index 9a9e45f3314..f64b1fb353a 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/TsFileInsertionDataTabletIterator.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/TsFileInsertionDataTabletIterator.java
@@ -32,6 +32,7 @@ import org.apache.tsfile.read.expression.IExpression;
import org.apache.tsfile.read.expression.QueryExpression;
import org.apache.tsfile.read.query.dataset.QueryDataSet;
import org.apache.tsfile.write.record.Tablet;
+import org.apache.tsfile.write.schema.IMeasurementSchema;
import org.apache.tsfile.write.schema.MeasurementSchema;
import java.io.IOException;
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeMemoryManager.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeMemoryManager.java
index d88f76c009a..927ad06466a 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeMemoryManager.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeMemoryManager.java
@@ -27,7 +27,7 @@ import org.apache.iotdb.db.pipe.agent.PipeAgent;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.utils.Binary;
import org.apache.tsfile.write.record.Tablet;
-import org.apache.tsfile.write.schema.MeasurementSchema;
+import org.apache.tsfile.write.schema.IMeasurementSchema;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -199,7 +199,7 @@ public class PipeMemoryManager {
final List<IMeasurementSchema> timeseries = tablet.getSchemas();
if (timeseries != null) {
for (int column = 0; column < timeseries.size(); column++) {
- final MeasurementSchema measurementSchema = timeseries.get(column);
+ final IMeasurementSchema measurementSchema = timeseries.get(column);
if (measurementSchema == null) {
continue;
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
index fb8fc40ba46..736b9d07255 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
@@ -173,6 +173,7 @@ import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.common.conf.TSFileConfig;
import org.apache.tsfile.common.conf.TSFileDescriptor;
import org.apache.tsfile.enums.TSDataType;
+import org.apache.tsfile.file.metadata.IDeviceID.Factory;
import org.apache.tsfile.read.TimeValuePair;
import org.apache.tsfile.read.common.block.TsBlock;
import org.apache.tsfile.read.common.block.TsBlockBuilder;
@@ -696,7 +697,7 @@ public class ClientRPCServiceImpl implements
IClientRPCServiceWithHandler {
if (isAligned) {
path =
new AlignedPath(
- device,
+ Factory.DEFAULT_FACTORY.create(device),
Collections.singletonList(measurement),
Collections.singletonList(measurementSchema));
operator =
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/schematree/DeviceSchemaInfo.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/schematree/DeviceSchemaInfo.java
index 38652b0ce7a..a0969eeda14 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/schematree/DeviceSchemaInfo.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/schematree/DeviceSchemaInfo.java
@@ -23,6 +23,8 @@ import org.apache.iotdb.commons.conf.IoTDBConstant;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.tsfile.write.schema.IMeasurementSchema;
+
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
index ba1bd5a33e3..8ab980828d4 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
@@ -352,7 +352,7 @@ public class FragmentInstanceContext extends QueryContext {
Set<String> selectedDeviceIdSet = new HashSet<>();
for (PartialPath path : sourcePaths) {
pathList.add(path);
- selectedDeviceIdSet.add(path.getIDeviceID());
+ selectedDeviceIdSet.add(path.getIDeviceID().toString());
}
this.sharedQueryDataSource =
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/DeviceViewIntoOperator.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/DeviceViewIntoOperator.java
index ea3c990e19e..c7e2e9be5be 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/DeviceViewIntoOperator.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/DeviceViewIntoOperator.java
@@ -170,7 +170,7 @@ public class DeviceViewIntoOperator extends
AbstractIntoOperator {
new Binary(sourceTargetPathPair.right.toString(),
TSFileConfig.STRING_CHARSET));
columnBuilders[3].writeInt(
findWritten(
- sourceTargetPathPair.right.getIDeviceID(),
+ sourceTargetPathPair.right.getIDeviceID().toString(),
sourceTargetPathPair.right.getMeasurement()));
resultTsBlockBuilder.declarePosition();
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/IntoOperator.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/IntoOperator.java
index 913227a3433..1207afbf0d0 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/IntoOperator.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/IntoOperator.java
@@ -113,7 +113,7 @@ public class IntoOperator extends AbstractIntoOperator {
new Binary(sourceTargetPathPair.right.toString(),
TSFileConfig.STRING_CHARSET));
columnBuilders[2].writeInt(
findWritten(
- sourceTargetPathPair.right.getIDeviceID(),
+ sourceTargetPathPair.right.getIDeviceID().toString(),
sourceTargetPathPair.right.getMeasurement()));
resultTsBlockBuilder.declarePosition();
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/FileLoaderUtils.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/FileLoaderUtils.java
index 2ecbaf476e0..8b229367829 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/FileLoaderUtils.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/FileLoaderUtils.java
@@ -36,7 +36,6 @@ import
org.apache.tsfile.file.metadata.AlignedTimeSeriesMetadata;
import org.apache.tsfile.file.metadata.IChunkMetadata;
import org.apache.tsfile.file.metadata.IDeviceID;
import org.apache.tsfile.file.metadata.ITimeSeriesMetadata;
-import org.apache.tsfile.file.metadata.PlainDeviceID;
import org.apache.tsfile.file.metadata.TimeseriesMetadata;
import org.apache.tsfile.read.controller.IChunkLoader;
import org.apache.tsfile.read.filter.basic.Filter;
@@ -96,7 +95,7 @@ public class FileLoaderUtils {
resource.getTsFilePath(),
new TimeSeriesMetadataCache.TimeSeriesMetadataCacheKey(
resource.getTsFileID(),
- new PlainDeviceID(seriesPath.getIDeviceID()),
+ seriesPath.getIDeviceID(),
seriesPath.getMeasurement()),
allSensors,
resource.getTimeIndexType() != 1,
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
index ba47b63fbf7..0c40b224987 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
@@ -311,13 +311,13 @@ public class Analysis implements IAnalysis {
public List<TRegionReplicaSet> getPartitionInfo(PartialPath seriesPath,
Filter timefilter) {
return dataPartition.getDataRegionReplicaSetWithTimeFilter(
- seriesPath.getIDeviceID(), timefilter);
+ seriesPath.getIDeviceID().toString(), timefilter);
}
public TRegionReplicaSet getPartitionInfo(
PartialPath seriesPath, TTimePartitionSlot tTimePartitionSlot) {
return dataPartition
- .getDataRegionReplicaSet(seriesPath.getIDeviceID(), tTimePartitionSlot)
+ .getDataRegionReplicaSet(seriesPath.getIDeviceID().toString(),
tTimePartitionSlot)
.get(0);
}
@@ -327,7 +327,7 @@ public class Analysis implements IAnalysis {
*/
public List<List<TTimePartitionSlot>> getTimePartitionRange(
PartialPath seriesPath, Filter timefilter) {
- return dataPartition.getTimePartitionRange(seriesPath.getIDeviceID(),
timefilter);
+ return
dataPartition.getTimePartitionRange(seriesPath.getIDeviceID().toString(),
timefilter);
}
public List<TRegionReplicaSet> getPartitionInfo(String deviceName, Filter
globalTimeFilter) {
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
index 5e13c41eb8b..4f3b697fab4 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
@@ -3045,11 +3045,11 @@ public class AnalyzeVisitor extends
StatementVisitor<Analysis, MPPQueryContext>
if (logicalViewSchema.isWritable()) {
sourcePathOfAliasSeries =
logicalViewSchema.getSourcePathIfWritable();
deletePatternSet.add(sourcePathOfAliasSeries);
-
deduplicatedDevicePaths.add(sourcePathOfAliasSeries.getIDeviceID());
+
deduplicatedDevicePaths.add(sourcePathOfAliasSeries.getIDeviceID().toString());
}
deletePatternSet.remove(measurementPath);
} else {
- deduplicatedDevicePaths.add(measurementPath.getIDeviceID());
+
deduplicatedDevicePaths.add(measurementPath.getIDeviceID().toString());
}
}
deleteDataStatement.setPathList(new ArrayList<>(deletePatternSet));
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionAnalyzer.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionAnalyzer.java
index 4b7e7b2e0b8..7a97274f7ff 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionAnalyzer.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionAnalyzer.java
@@ -544,7 +544,7 @@ public class ExpressionAnalyzer {
throw new IllegalArgumentException(
"unsupported expression type for source expression: " +
expression.getExpressionType());
}
- return ((TimeSeriesOperand) expression).getPath().getIDeviceID();
+ return ((TimeSeriesOperand)
expression).getPath().getIDeviceID().toString();
}
public static Expression getMeasurementExpression(Expression expression,
Analysis analysis) {
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/LoadTsfileAnalyzer.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/LoadTsfileAnalyzer.java
index eff172ff036..ac349fbd5af 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/LoadTsfileAnalyzer.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/LoadTsfileAnalyzer.java
@@ -76,6 +76,7 @@ import org.apache.tsfile.file.metadata.enums.TSEncoding;
import org.apache.tsfile.read.TsFileSequenceReader;
import org.apache.tsfile.read.TsFileSequenceReaderTimeseriesMetadataIterator;
import org.apache.tsfile.utils.Pair;
+import org.apache.tsfile.write.schema.IMeasurementSchema;
import org.apache.tsfile.write.schema.MeasurementSchema;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -550,7 +551,7 @@ public class LoadTsfileAnalyzer {
schemaTree.searchDeviceSchemaInfo(
new PartialPath(device),
tsfileTimeseriesSchemas.stream()
- .map(MeasurementSchema::getMeasurementId)
+ .map(IMeasurementSchema::getMeasurementId)
.collect(Collectors.toList()));
if (iotdbDeviceSchemaInfo == null) {
@@ -577,8 +578,8 @@ public class LoadTsfileAnalyzer {
final List<IMeasurementSchema> iotdbTimeseriesSchemas =
iotdbDeviceSchemaInfo.getMeasurementSchemaList();
for (int i = 0, n = iotdbTimeseriesSchemas.size(); i < n; i++) {
- final MeasurementSchema tsFileSchema =
tsfileTimeseriesSchemas.get(i);
- final MeasurementSchema iotdbSchema = iotdbTimeseriesSchemas.get(i);
+ final IMeasurementSchema tsFileSchema =
tsfileTimeseriesSchemas.get(i);
+ final IMeasurementSchema iotdbSchema = iotdbTimeseriesSchemas.get(i);
if (iotdbSchema == null) {
throw new VerifyMetadataException(
String.format(
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/cache/schema/DeviceUsingTemplateSchemaCache.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/cache/schema/DeviceUsingTemplateSchemaCache.java
index 4a09b7ac7b8..3529c26049e 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/cache/schema/DeviceUsingTemplateSchemaCache.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/cache/schema/DeviceUsingTemplateSchemaCache.java
@@ -201,7 +201,7 @@ public class DeviceUsingTemplateSchemaCache {
public void invalidateCache(List<PartialPath> partialPathList) {
for (PartialPath path : partialPathList) {
for (PartialPath key : cache.asMap().keySet()) {
- if (key.startsWith(path.getIDeviceID())) {
+ if (key.startsWith(path.getIDeviceID().toString())) {
cache.invalidate(key);
}
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/schema/ClusterSchemaFetcher.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/schema/ClusterSchemaFetcher.java
index db14449597f..3b5715fbd29 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/schema/ClusterSchemaFetcher.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/schema/ClusterSchemaFetcher.java
@@ -39,6 +39,7 @@ import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.file.metadata.enums.CompressionType;
import org.apache.tsfile.file.metadata.enums.TSEncoding;
import org.apache.tsfile.utils.Pair;
+import org.apache.tsfile.write.schema.IMeasurementSchema;
import java.util.ArrayList;
import java.util.Arrays;
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
index 7d6ba0e88f3..fc5e0c6d707 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
@@ -105,6 +105,7 @@ import
org.apache.iotdb.db.utils.columngenerator.parameter.SlidingTimeColumnGene
import org.apache.commons.lang3.Validate;
import org.apache.tsfile.enums.TSDataType;
+import org.apache.tsfile.file.metadata.IDeviceID.Factory;
import org.apache.tsfile.utils.Pair;
import org.apache.tsfile.write.schema.IMeasurementSchema;
@@ -244,7 +245,7 @@ public class LogicalPlanBuilder {
(sourceExpression.isViewExpression()
? sourceExpression.getViewPath()
: ((TimeSeriesOperand) sourceExpression).getPath());
- String outputDevice = outputPath.getIDeviceID();
+ String outputDevice = outputPath.getIDeviceID().toString();
outputPathToSourceExpressionMap
.computeIfAbsent(
outputDevice,
@@ -540,7 +541,8 @@ public class LogicalPlanBuilder {
PartialPath path = ts.getPath();
Pair<List<String>, List<IMeasurementSchema>> pair =
map.computeIfAbsent(
- path.getIDeviceID(), k -> new Pair<>(new ArrayList<>(), new
ArrayList<>()));
+ path.getIDeviceID().toString(),
+ k -> new Pair<>(new ArrayList<>(), new ArrayList<>()));
pair.left.add(path.getMeasurement());
try {
pair.right.add(path.getMeasurementSchema());
@@ -554,7 +556,8 @@ public class LogicalPlanBuilder {
Pair<List<String>, List<IMeasurementSchema>> pair = entry.getValue();
AlignedPath alignedPath = null;
try {
- alignedPath = new AlignedPath(device, pair.left, pair.right);
+ alignedPath =
+ new AlignedPath(Factory.DEFAULT_FACTORY.create(device),
pair.left, pair.right);
} catch (IllegalPathException e) {
throw new RuntimeException(e);
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java
index 8f6cb556766..30daa2f7894 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java
@@ -424,8 +424,8 @@ public class LogicalPlanVisitor extends
StatementVisitor<PlanNode, MPPQueryConte
return true;
}
if (StringUtils.isEmpty(alignedDeviceId)) {
- alignedDeviceId = ts.getPath().getIDeviceID();
- } else if
(!alignedDeviceId.equalsIgnoreCase(ts.getPath().getIDeviceID())) {
+ alignedDeviceId = ts.getPath().getIDeviceID().toString();
+ } else if
(!alignedDeviceId.equalsIgnoreCase(ts.getPath().getIDeviceID().toString())) {
// count_time from only one aligned device can use
AlignedSeriesAggScan
return true;
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
index da0a7bd9667..3fa7ff5dba6 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
@@ -327,7 +327,7 @@ public class OperatorTreeGenerator extends
PlanVisitor<Operator, LocalExecutionP
SeriesScanOptions.Builder scanOptionsBuilder =
getSeriesScanOptionsBuilder(node, context);
scanOptionsBuilder.withAllSensors(
- context.getAllSensors(seriesPath.getIDeviceID(),
seriesPath.getMeasurement()));
+ context.getAllSensors(seriesPath.getIDeviceID().toString(),
seriesPath.getMeasurement()));
scanOptionsBuilder.withPushDownLimit(node.getPushDownLimit());
scanOptionsBuilder.withPushDownOffset(node.getPushDownOffset());
@@ -547,7 +547,7 @@ public class OperatorTreeGenerator extends
PlanVisitor<Operator, LocalExecutionP
SeriesScanOptions.Builder scanOptionsBuilder =
getSeriesScanOptionsBuilder(node, context);
scanOptionsBuilder.withAllSensors(
- context.getAllSensors(seriesPath.getIDeviceID(),
seriesPath.getMeasurement()));
+ context.getAllSensors(seriesPath.getIDeviceID().toString(),
seriesPath.getMeasurement()));
OperatorContext operatorContext =
context
@@ -2573,7 +2573,7 @@ public class OperatorTreeGenerator extends
PlanVisitor<Operator, LocalExecutionP
SeriesScanOptions.Builder scanOptionsBuilder = new
SeriesScanOptions.Builder();
scanOptionsBuilder.withAllSensors(
- context.getAllSensors(seriesPath.getIDeviceID(),
seriesPath.getMeasurement()));
+ context.getAllSensors(seriesPath.getIDeviceID().toString(),
seriesPath.getMeasurement()));
scanOptionsBuilder.withGlobalTimeFilter(context.getGlobalTimeFilter());
SeriesAggregationScanOperator seriesAggregationScanOperator =
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/AlterTimeSeriesNode.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/AlterTimeSeriesNode.java
index 3f684a3e8fa..9eef306f3c4 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/AlterTimeSeriesNode.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/AlterTimeSeriesNode.java
@@ -375,7 +375,7 @@ public class AlterTimeSeriesNode extends WritePlanNode {
@Override
public List<WritePlanNode> splitByPartition(Analysis analysis) {
TRegionReplicaSet regionReplicaSet =
-
analysis.getSchemaPartitionInfo().getSchemaRegionReplicaSet(path.getIDeviceID());
+
analysis.getSchemaPartitionInfo().getSchemaRegionReplicaSet(path.getIDeviceID().toString());
setRegionReplicaSet(regionReplicaSet);
return ImmutableList.of(this);
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/CreateTimeSeriesNode.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/CreateTimeSeriesNode.java
index 4da869b71b9..c455bc75dea 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/CreateTimeSeriesNode.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/CreateTimeSeriesNode.java
@@ -388,7 +388,7 @@ public class CreateTimeSeriesNode extends WritePlanNode
implements ICreateTimeSe
@Override
public List<WritePlanNode> splitByPartition(Analysis analysis) {
TRegionReplicaSet regionReplicaSet =
-
analysis.getSchemaPartitionInfo().getSchemaRegionReplicaSet(path.getIDeviceID());
+
analysis.getSchemaPartitionInfo().getSchemaRegionReplicaSet(path.getIDeviceID().toString());
setRegionReplicaSet(regionReplicaSet);
return ImmutableList.of(this);
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/view/CreateLogicalViewNode.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/view/CreateLogicalViewNode.java
index 8d5f6248718..7885d20ae23 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/view/CreateLogicalViewNode.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/view/CreateLogicalViewNode.java
@@ -228,7 +228,7 @@ public class CreateLogicalViewNode extends WritePlanNode
implements ICreateLogic
TRegionReplicaSet regionReplicaSet =
analysis
.getSchemaPartitionInfo()
- .getSchemaRegionReplicaSet(entry.getKey().getIDeviceID());
+
.getSchemaRegionReplicaSet(entry.getKey().getIDeviceID().toString());
// create a map if the key(regionReplicaSet) is not exists,
// then put this entry into this map(from regionReplicaSet to this entry)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedLastQueryScanNode.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedLastQueryScanNode.java
index 5d7769f0849..687af64c3ca 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedLastQueryScanNode.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedLastQueryScanNode.java
@@ -220,7 +220,7 @@ public class AlignedLastQueryScanNode extends
LastSeriesSourceNode {
return outputViewPath;
}
if (seriesPath.getMeasurementList().size() > 1) {
- return seriesPath.getIDeviceID();
+ return seriesPath.getIDeviceID().toString();
}
return seriesPath.transformToPartialPath().getFullPath();
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesScanNode.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesScanNode.java
index f26e3e03897..bc7a18934c4 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesScanNode.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesScanNode.java
@@ -126,7 +126,7 @@ public class AlignedSeriesScanNode extends
SeriesScanSourceNode {
@Override
public List<String> getOutputColumnNames() {
List<String> outputColumnNames = new ArrayList<>();
- String deviceName = alignedPath.getIDeviceID();
+ String deviceName = alignedPath.getIDeviceID().toString();
for (String measurement : alignedPath.getMeasurementList()) {
outputColumnNames.add(deviceName.concat(TsFileConstant.PATH_SEPARATOR +
measurement));
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/utils/MetaUtils.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/utils/MetaUtils.java
index ed83eef4620..b3234c4bdd8 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/utils/MetaUtils.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/utils/MetaUtils.java
@@ -91,7 +91,8 @@ public class MetaUtils {
result.add(measurementPath);
alignedPath = null;
} else {
- if (alignedPath == null ||
!alignedPath.equals(measurementPath.getIDeviceID())) {
+ if (alignedPath == null
+ ||
!alignedPath.getIDeviceID().equals(measurementPath.getIDeviceID())) {
alignedPath = new AlignedPath(measurementPath);
result.add(alignedPath);
} else {
@@ -140,7 +141,7 @@ public class MetaUtils {
if (!measurementPath.isUnderAlignedEntity()) {
result.add(measurementPath);
} else {
- String deviceName = measurementPath.getIDeviceID();
+ String deviceName = measurementPath.getIDeviceID().toString();
if (!deviceToAlignedPathMap.containsKey(deviceName)) {
AlignedPath alignedPath = new AlignedPath(measurementPath);
deviceToAlignedPathMap.put(deviceName, alignedPath);
@@ -235,10 +236,10 @@ public class MetaUtils {
} else if (((MeasurementPath) seriesPath).isUnderAlignedEntity()) {
// for without value filter
List<Integer> indexes = pathToAggrIndexesMap.remove(seriesPath);
- AlignedPath groupPath = temp.get(seriesPath.getIDeviceID());
+ AlignedPath groupPath = temp.get(seriesPath.getIDeviceID().toString());
if (groupPath == null) {
groupPath = new AlignedPath((MeasurementPath) seriesPath);
- temp.put(seriesPath.getIDeviceID(), groupPath);
+ temp.put(seriesPath.getIDeviceID().toString(), groupPath);
alignedPathToAggrIndexesMap
.computeIfAbsent(groupPath, key -> new ArrayList<>())
.add(indexes);
@@ -266,7 +267,7 @@ public class MetaUtils {
.addAll(pathToAggregations.get(path));
} else {
deviceToAlignedPathsMap
- .computeIfAbsent(path.getIDeviceID(), key -> new ArrayList<>())
+ .computeIfAbsent(path.getIDeviceID().toString(), key -> new
ArrayList<>())
.add(measurementPath);
}
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
index 191baf40a70..8de831064a2 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
@@ -2066,7 +2066,7 @@ public class DataRegion implements IDataRegionForQuery {
return true;
}
}
- if (databaseName.contentEquals(device.getIDeviceID())) {
+ if (databaseName.contentEquals(device.getIDeviceID().toString())) {
return false;
}
Pair<Long, Long> startAndEndTime =
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/performer/impl/ReadPointCompactionPerformer.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/performer/impl/ReadPointCompactionPerformer.java
index 4d3e776084a..eb8930c5925 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/performer/impl/ReadPointCompactionPerformer.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/performer/impl/ReadPointCompactionPerformer.java
@@ -44,7 +44,6 @@ import
org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource;
import org.apache.tsfile.common.constant.TsFileConstant;
import org.apache.tsfile.file.metadata.IDeviceID;
-import org.apache.tsfile.file.metadata.PlainDeviceID;
import org.apache.tsfile.read.common.block.TsBlock;
import org.apache.tsfile.read.reader.IPointReader;
import org.apache.tsfile.utils.Pair;
@@ -252,9 +251,7 @@ public class ReadPointCompactionPerformer
throws IllegalPathException {
PartialPath seriesPath;
if (isAlign) {
- seriesPath =
- new AlignedPath(
- ((PlainDeviceID) deviceId).toStringID(), measurementIds,
measurementSchemas);
+ seriesPath = new AlignedPath(deviceId, measurementIds,
measurementSchemas);
} else {
seriesPath = new MeasurementPath(deviceId, measurementIds.get(0),
measurementSchemas.get(0));
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/readchunk/SingleSeriesCompactionExecutor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/readchunk/SingleSeriesCompactionExecutor.java
index d0d9dd498ee..b7c7485fcd1 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/readchunk/SingleSeriesCompactionExecutor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/readchunk/SingleSeriesCompactionExecutor.java
@@ -29,7 +29,6 @@ import
org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource;
import org.apache.tsfile.file.header.ChunkHeader;
import org.apache.tsfile.file.metadata.ChunkMetadata;
import org.apache.tsfile.file.metadata.IDeviceID;
-import org.apache.tsfile.file.metadata.PlainDeviceID;
import org.apache.tsfile.read.TimeValuePair;
import org.apache.tsfile.read.TsFileSequenceReader;
import org.apache.tsfile.read.common.Chunk;
@@ -80,7 +79,7 @@ public class SingleSeriesCompactionExecutor {
LinkedList<Pair<TsFileSequenceReader, List<ChunkMetadata>>>
readerAndChunkMetadataList,
CompactionTsFileWriter fileWriter,
TsFileResource targetResource) {
- this.device = new PlainDeviceID(series.getIDeviceID());
+ this.device = series.getIDeviceID();
this.series = series;
this.readerAndChunkMetadataList = readerAndChunkMetadataList;
this.fileWriter = fileWriter;
@@ -98,7 +97,7 @@ public class SingleSeriesCompactionExecutor {
CompactionTsFileWriter fileWriter,
TsFileResource targetResource,
CompactionTaskSummary summary) {
- this.device = new PlainDeviceID(series.getIDeviceID());
+ this.device = series.getIDeviceID();
this.series = series;
this.readerAndChunkMetadataList = readerAndChunkMetadataList;
this.fileWriter = fileWriter;
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/io/CompactionTsFileReader.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/io/CompactionTsFileReader.java
index ceda1516b98..eca51d64e4c 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/io/CompactionTsFileReader.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/io/CompactionTsFileReader.java
@@ -221,7 +221,7 @@ public class CompactionTsFileReader extends
TsFileSequenceReader {
} else {
// internal measurement node
MetadataIndexNode nextLayerMeasurementNode =
- MetadataIndexNode.deserializeFrom(nextBuffer, false);
+ getDeserializeContext().deserializeMetadataIndexNode(nextBuffer,
false);
timeseriesMetadataOffsetMap.putAll(
getTimeseriesMetadataAndOffsetByDevice(
nextLayerMeasurementNode, excludedMeasurementIds,
needChunkMetadata));
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/AlignedReadOnlyMemChunk.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/AlignedReadOnlyMemChunk.java
index add7c3163d5..eedba72efd7 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/AlignedReadOnlyMemChunk.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/AlignedReadOnlyMemChunk.java
@@ -75,7 +75,7 @@ public class AlignedReadOnlyMemChunk extends ReadOnlyMemChunk
{
// Time chunk
Statistics timeStatistics = Statistics.getStatsByType(TSDataType.VECTOR);
IChunkMetadata timeChunkMetadata =
- new ChunkMetadata(timeChunkName, TSDataType.VECTOR, 0, timeStatistics);
+ new ChunkMetadata(timeChunkName, TSDataType.VECTOR, null, null, 0,
timeStatistics);
List<IChunkMetadata> valueChunkMetadataList = new ArrayList<>();
// Update time chunk
for (int row = 0; row < tsBlock.getPositionCount(); row++) {
@@ -141,7 +141,7 @@ public class AlignedReadOnlyMemChunk extends
ReadOnlyMemChunk {
if (valueStatistics.getCount() > 0) {
IChunkMetadata valueChunkMetadata =
new ChunkMetadata(
- valueChunkNames.get(column), dataTypes.get(column), 0,
valueStatistics);
+ valueChunkNames.get(column), dataTypes.get(column), null,
null, 0, valueStatistics);
valueChunkMetadataList.add(valueChunkMetadata);
valueStatistics.setEmpty(false);
} else {
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/Modification.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/Modification.java
index 9bf2ec1d206..d2ee0985b42 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/Modification.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/Modification.java
@@ -45,7 +45,7 @@ public abstract class Modification {
}
public String getDevice() {
- return path.getIDeviceID();
+ return path.getIDeviceID().toString();
}
public String getMeasurement() {
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/TsFileSelfCheckTool.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/TsFileSelfCheckTool.java
index 60f81b8a229..285be543994 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/TsFileSelfCheckTool.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/TsFileSelfCheckTool.java
@@ -145,7 +145,8 @@ public class TsFileSelfCheckTool {
}
boolean currentChildLevelIsDevice =
MetadataIndexNodeType.INTERNAL_DEVICE.equals(type);
MetadataIndexNode metadataIndexNode =
- MetadataIndexNode.deserializeFrom(buffer,
currentChildLevelIsDevice);
+ getDeserializeContext()
+ .deserializeMetadataIndexNode(buffer,
currentChildLevelIsDevice);
int metadataIndexListSize = metadataIndexNode.getChildren().size();
for (int i = 0; i < metadataIndexListSize; i++) {
long endOffset = metadataIndexNode.getEndOffset();
@@ -174,25 +175,28 @@ public class TsFileSelfCheckTool {
if (tsFileMetaData == null) {
readFileMetadata();
}
- MetadataIndexNode metadataIndexNode = tsFileMetaData.getMetadataIndex();
Map<Long, Pair<Path, TimeseriesMetadata>> timeseriesMetadataMap = new
TreeMap<>();
- List<IMetadataIndexEntry> metadataIndexEntryList =
metadataIndexNode.getChildren();
- for (int i = 0; i < metadataIndexEntryList.size(); i++) {
- IMetadataIndexEntry metadataIndexEntry = metadataIndexEntryList.get(i);
- long endOffset = tsFileMetaData.getMetadataIndex().getEndOffset();
- if (i != metadataIndexEntryList.size() - 1) {
- endOffset = metadataIndexEntryList.get(i + 1).getOffset();
+ for (MetadataIndexNode metadataIndexNode :
+ tsFileMetaData.getTableMetadataIndexNodeMap().values()) {
+ List<IMetadataIndexEntry> metadataIndexEntryList =
metadataIndexNode.getChildren();
+ for (int i = 0; i < metadataIndexEntryList.size(); i++) {
+ IMetadataIndexEntry metadataIndexEntry =
metadataIndexEntryList.get(i);
+ long endOffset = metadataIndexNode.getEndOffset();
+ if (i != metadataIndexEntryList.size() - 1) {
+ endOffset = metadataIndexEntryList.get(i + 1).getOffset();
+ }
+ ByteBuffer buffer = readData(metadataIndexEntry.getOffset(),
endOffset);
+ generateMetadataIndexWithOffset(
+ metadataIndexEntry.getOffset(),
+ metadataIndexEntry,
+ buffer,
+ null,
+ metadataIndexNode.getNodeType(),
+ timeseriesMetadataMap,
+ false);
}
- ByteBuffer buffer = readData(metadataIndexEntry.getOffset(),
endOffset);
- generateMetadataIndexWithOffset(
- metadataIndexEntry.getOffset(),
- metadataIndexEntry,
- buffer,
- null,
- metadataIndexNode.getNodeType(),
- timeseriesMetadataMap,
- false);
}
+
return timeseriesMetadataMap;
}
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/TsFileSketchTool.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/TsFileSketchTool.java
index 00416063558..a7d4c70a531 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/TsFileSketchTool.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/TsFileSketchTool.java
@@ -115,7 +115,7 @@ public class TsFileSketchTool {
printChunk(allChunkGroupMetadata);
// metadata begins
- if (tsFileMetaData.getMetadataIndex().getChildren().isEmpty()) {
+ if (tsFileMetaData.getTableMetadataIndexNodeMap().isEmpty()) {
printlnBoth(pw, String.format("%20s", reader.getFileMetadataPos() - 1) +
"|\t[marker] 2");
} else {
printlnBoth(
@@ -126,29 +126,30 @@ public class TsFileSketchTool {
Map<Long, Pair<Path, TimeseriesMetadata>> timeseriesMetadataMap =
reader.getAllTimeseriesMetadataWithOffset();
- // get all IndexOfTimerseriesIndex (excluding the root node in
TsFileMetadata)
- MetadataIndexNode metadataIndexNode = tsFileMetaData.getMetadataIndex();
+ // get all IndexOfTimerseriesIndex (excluding the root node in
TsFileMetadata
TreeMap<Long, MetadataIndexNode> metadataIndexNodeMap = new TreeMap<>();
List<String> treeOutputStringBuffer = new ArrayList<>();
- loadIndexTree(metadataIndexNode, metadataIndexNodeMap,
treeOutputStringBuffer, 0);
-
- // iterate timeseriesMetadataMap and metadataIndexNodeMap to print info in
increasing order of
- // position
- Iterator<Entry<Long, Pair<Path, TimeseriesMetadata>>> ite1 =
- timeseriesMetadataMap.entrySet().iterator();
- Iterator<Entry<Long, MetadataIndexNode>> ite2 =
metadataIndexNodeMap.entrySet().iterator();
- Entry<Long, Pair<Path, TimeseriesMetadata>> value1 = (ite1.hasNext() ?
ite1.next() : null);
- Entry<Long, MetadataIndexNode> value2 = (ite2.hasNext() ? ite2.next() :
null);
- while (value1 != null || value2 != null) {
- if (value2 == null || (value1 != null &&
value1.getKey().compareTo(value2.getKey()) <= 0)) {
- printTimeseriesIndex(value1.getKey(), value1.getValue());
- value1 = (ite1.hasNext() ? ite1.next() : null);
- } else {
- printIndexOfTimerseriesIndex(value2.getKey(), value2.getValue());
- value2 = (ite2.hasNext() ? ite2.next() : null);
+ for (MetadataIndexNode metadataIndexNode :
+ tsFileMetaData.getTableMetadataIndexNodeMap().values()) {
+ loadIndexTree(metadataIndexNode, metadataIndexNodeMap,
treeOutputStringBuffer, 0);
+
+ // iterate timeseriesMetadataMap and metadataIndexNodeMap to print info
in increasing order of
+ // position
+ Iterator<Entry<Long, Pair<Path, TimeseriesMetadata>>> ite1 =
+ timeseriesMetadataMap.entrySet().iterator();
+ Iterator<Entry<Long, MetadataIndexNode>> ite2 =
metadataIndexNodeMap.entrySet().iterator();
+ Entry<Long, Pair<Path, TimeseriesMetadata>> value1 = (ite1.hasNext() ?
ite1.next() : null);
+ Entry<Long, MetadataIndexNode> value2 = (ite2.hasNext() ? ite2.next() :
null);
+ while (value1 != null || value2 != null) {
+ if (value2 == null || (value1 != null &&
value1.getKey().compareTo(value2.getKey()) <= 0)) {
+ printTimeseriesIndex(value1.getKey(), value1.getValue());
+ value1 = (ite1.hasNext() ? ite1.next() : null);
+ } else {
+ printIndexOfTimerseriesIndex(value2.getKey(), value2.getValue());
+ value2 = (ite2.hasNext() ? ite2.next() : null);
+ }
}
}
-
// print TsFile Metadata
printTsFileMetadata(tsFileMetaData);
@@ -177,8 +178,9 @@ public class TsFileSketchTool {
printlnBoth(pw, splitStr + " [TsFileMetadata] begins");
// metadataIndex
- MetadataIndexNode rootNode = tsFileMetaData.getMetadataIndex();
- printIndexOfTimerseriesIndex(reader.getFileMetadataPos(), rootNode);
+ for (MetadataIndexNode rootNode :
tsFileMetaData.getTableMetadataIndexNodeMap().values()) {
+ printIndexOfTimerseriesIndex(reader.getFileMetadataPos(), rootNode);
+ }
// metaOffset
printlnBoth(
@@ -545,7 +547,8 @@ public class TsFileSketchTool {
}
boolean currentChildLevelIsDevice =
MetadataIndexNodeType.INTERNAL_DEVICE.equals(type);
MetadataIndexNode metadataIndexNode =
- MetadataIndexNode.deserializeFrom(buffer,
currentChildLevelIsDevice);
+ getDeserializeContext()
+ .deserializeMetadataIndexNode(buffer,
currentChildLevelIsDevice);
int metadataIndexListSize = metadataIndexNode.getChildren().size();
for (int i = 0; i < metadataIndexListSize; i++) {
long endOffset = metadataIndexNode.getEndOffset();
@@ -620,7 +623,8 @@ public class TsFileSketchTool {
}
boolean isDeviceLevel =
MetadataIndexNodeType.INTERNAL_DEVICE.equals(type);
MetadataIndexNode metadataIndexNode =
-
MetadataIndexNode.deserializeFrom(tsFileInput.wrapAsInputStream(),
isDeviceLevel);
+ getDeserializeContext()
+
.deserializeMetadataIndexNode(tsFileInput.wrapAsInputStream(), isDeviceLevel);
int metadataIndexListSize = metadataIndexNode.getChildren().size();
for (int i = 0; i < metadataIndexListSize; i++) {
long endOffset = metadataIndexNode.getEndOffset();
@@ -647,25 +651,29 @@ public class TsFileSketchTool {
if (tsFileMetaData == null) {
readFileMetadata();
}
- MetadataIndexNode metadataIndexNode = tsFileMetaData.getMetadataIndex();
+
Map<Long, Pair<Path, TimeseriesMetadata>> timeseriesMetadataMap = new
TreeMap<>();
- List<IMetadataIndexEntry> metadataIndexEntryList =
metadataIndexNode.getChildren();
- for (int i = 0; i < metadataIndexEntryList.size(); i++) {
- IMetadataIndexEntry metadataIndexEntry = metadataIndexEntryList.get(i);
- long endOffset = tsFileMetaData.getMetadataIndex().getEndOffset();
- if (i != metadataIndexEntryList.size() - 1) {
- endOffset = metadataIndexEntryList.get(i + 1).getOffset();
+ for (MetadataIndexNode metadataIndexNode :
+ tsFileMetaData.getTableMetadataIndexNodeMap().values()) {
+ List<IMetadataIndexEntry> metadataIndexEntryList =
metadataIndexNode.getChildren();
+ for (int i = 0; i < metadataIndexEntryList.size(); i++) {
+ IMetadataIndexEntry metadataIndexEntry =
metadataIndexEntryList.get(i);
+ long endOffset = metadataIndexNode.getEndOffset();
+ if (i != metadataIndexEntryList.size() - 1) {
+ endOffset = metadataIndexEntryList.get(i + 1).getOffset();
+ }
+ ByteBuffer buffer = readData(metadataIndexEntry.getOffset(),
endOffset);
+ generateMetadataIndexWithOffset(
+ metadataIndexEntry.getOffset(),
+ metadataIndexEntry,
+ buffer,
+ null,
+ metadataIndexNode.getNodeType(),
+ timeseriesMetadataMap,
+ false);
}
- ByteBuffer buffer = readData(metadataIndexEntry.getOffset(),
endOffset);
- generateMetadataIndexWithOffset(
- metadataIndexEntry.getOffset(),
- metadataIndexEntry,
- buffer,
- null,
- metadataIndexNode.getNodeType(),
- timeseriesMetadataMap,
- false);
}
+
return timeseriesMetadataMap;
}
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/trigger/executor/TriggerFireVisitor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/trigger/executor/TriggerFireVisitor.java
index 6e73aa2e258..9fc5e21b7a4 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/trigger/executor/TriggerFireVisitor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/trigger/executor/TriggerFireVisitor.java
@@ -52,6 +52,7 @@ import org.apache.iotdb.trigger.api.enums.TriggerEvent;
import org.apache.thrift.TException;
import org.apache.tsfile.utils.BitMap;
import org.apache.tsfile.write.record.Tablet;
+import org.apache.tsfile.write.schema.IMeasurementSchema;
import org.apache.tsfile.write.schema.MeasurementSchema;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;