This is an automated email from the ASF dual-hosted git repository.

jiangtian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new cb09e2fdecc Fix table name serialization for table-model insertion 
(#13446)
cb09e2fdecc is described below

commit cb09e2fdecc8875f30b545d177af736cf4f71614
Author: Jiang Tian <[email protected]>
AuthorDate: Mon Sep 9 14:12:53 2024 +0800

    Fix table name serialization for table-model insertion (#13446)
    
    (cherry picked from commit ef2a01e95e0c8e4b024f038d672cc04994daa5aa)
---
 .../dataregion/DataExecutionVisitor.java           |   8 +-
 .../dataregion/DataRegionStateMachine.java         |   2 +-
 .../tablet/PipeInsertNodeTabletInsertionEvent.java |   6 +-
 .../tablet/TabletInsertionDataContainer.java       |   4 +-
 .../event/realtime/PipeRealtimeEventFactory.java   |   2 +-
 .../visitor/PipePlanToStatementVisitor.java        |   2 +-
 .../plan/node/pipe/PipeEnrichedInsertNode.java     |   8 +-
 .../plan/planner/plan/node/write/InsertNode.java   |  33 ++-
 .../planner/plan/node/write/InsertRowNode.java     |  21 +-
 .../planner/plan/node/write/InsertRowsNode.java    |   2 +-
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |  12 +-
 .../planner/plan/node/write/InsertTabletNode.java  |  24 +--
 .../plan/node/write/RelationalInsertRowNode.java   |  20 +-
 .../plan/node/write/RelationalInsertRowsNode.java  |   2 +-
 .../node/write/RelationalInsertTabletNode.java     |  13 +-
 .../plan/statement/crud/InsertTabletStatement.java |   2 +-
 .../db/storageengine/dataregion/DataRegion.java    |  10 +-
 .../db/trigger/executor/TriggerFireVisitor.java    |   8 +-
 .../node/write/InsertRowsNodeSerdeTest.java        | 228 +++++++++++----------
 .../write/InsertRowsOfOneDeviceNodeSerdeTest.java  |   2 +-
 .../node/write/InsertTabletNodeSerdeTest.java      |  86 ++++----
 .../planner/node/write/WritePlanNodeSplitTest.java |  28 +--
 .../wal/node/ConsensusReqReaderTest.java           |   2 +-
 23 files changed, 277 insertions(+), 248 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/statemachine/dataregion/DataExecutionVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/statemachine/dataregion/DataExecutionVisitor.java
index 839d3017abe..bc9bb202242 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/statemachine/dataregion/DataExecutionVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/statemachine/dataregion/DataExecutionVisitor.java
@@ -110,7 +110,7 @@ public class DataExecutionVisitor extends 
PlanVisitor<TSStatus, DataRegion> {
     } catch (BatchProcessException e) {
       LOGGER.warn(
           "Batch failure in executing a InsertTabletNode. device: {}, 
startTime: {}, measurements: {}, failing status: {}",
-          node.getDevicePath(),
+          node.getTargetPath(),
           node.getTimes()[0],
           node.getMeasurements(),
           e.getFailingStatus());
@@ -149,7 +149,7 @@ public class DataExecutionVisitor extends 
PlanVisitor<TSStatus, DataRegion> {
         }
         LOGGER.warn(
             "Insert row failed. device: {}, time: {}, measurements: {}, 
failing status: {}",
-            insertRowNode.getDevicePath(),
+            insertRowNode.getTargetPath(),
             insertRowNode.getTime(),
             insertRowNode.getMeasurements(),
             failedEntry.getValue());
@@ -180,7 +180,7 @@ public class DataExecutionVisitor extends 
PlanVisitor<TSStatus, DataRegion> {
         }
         LOGGER.warn(
             "Insert tablet failed. device: {}, startTime: {}, measurements: 
{}, failing status: {}",
-            insertTabletNode.getDevicePath(),
+            insertTabletNode.getTargetPath(),
             insertTabletNode.getTimes()[0],
             insertTabletNode.getMeasurements(),
             failedEntry.getValue());
@@ -217,7 +217,7 @@ public class DataExecutionVisitor extends 
PlanVisitor<TSStatus, DataRegion> {
         }
         LOGGER.warn(
             "Insert row failed. device: {}, time: {}, measurements: {}, 
failing status: {}",
-            insertRowNode.getDevicePath(),
+            insertRowNode.getTargetPath(),
             insertRowNode.getTime(),
             insertRowNode.getMeasurements(),
             failedEntry.getValue());
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/statemachine/dataregion/DataRegionStateMachine.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/statemachine/dataregion/DataRegionStateMachine.java
index 3236199aa5c..24f60cc806c 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/statemachine/dataregion/DataRegionStateMachine.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/statemachine/dataregion/DataRegionStateMachine.java
@@ -279,7 +279,7 @@ public class DataRegionStateMachine extends 
BaseStateMachine {
             "Unsupported node type " + insertNodes.get(0).getType());
     }
     result.setSearchIndex(insertNodes.get(0).getSearchIndex());
-    result.setDevicePath(insertNodes.get(0).getDevicePath());
+    result.setTargetPath(insertNodes.get(0).getTargetPath());
     return result;
   }
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tablet/PipeInsertNodeTabletInsertionEvent.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tablet/PipeInsertNodeTabletInsertionEvent.java
index 45f8b70a825..676f9a048e4 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tablet/PipeInsertNodeTabletInsertionEvent.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tablet/PipeInsertNodeTabletInsertionEvent.java
@@ -254,7 +254,7 @@ public class PipeInsertNodeTabletInsertionEvent extends 
EnrichedEvent
       }
 
       if (insertNode instanceof InsertRowNode || insertNode instanceof 
InsertTabletNode) {
-        final PartialPath devicePartialPath = insertNode.getDevicePath();
+        final PartialPath devicePartialPath = insertNode.getTargetPath();
         return Objects.isNull(devicePartialPath)
             || 
pipePattern.mayOverlapWithDevice(devicePartialPath.getIDeviceIDAsFullDevice());
       }
@@ -264,9 +264,9 @@ public class PipeInsertNodeTabletInsertionEvent extends 
EnrichedEvent
             .getInsertRowNodeList().stream()
                 .anyMatch(
                     insertRowNode ->
-                        Objects.isNull(insertRowNode.getDevicePath())
+                        Objects.isNull(insertRowNode.getTargetPath())
                             || pipePattern.mayOverlapWithDevice(
-                                
insertRowNode.getDevicePath().getIDeviceIDAsFullDevice()));
+                                
insertRowNode.getTargetPath().getIDeviceIDAsFullDevice()));
       }
 
       return true;
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 c02b71af2d5..0cb910a7baf 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
@@ -145,7 +145,7 @@ public class TabletInsertionDataContainer {
     final Integer[] originColumnIndex2FilteredColumnIndexMapperList = new 
Integer[originColumnSize];
 
     // The full path is always cached when device path is deserialized
-    this.deviceStr = insertRowNode.getDevicePath().getFullPath();
+    this.deviceStr = insertRowNode.getTargetPath().getFullPath();
     this.deviceId = insertRowNode.getDeviceID();
     this.isAligned = insertRowNode.isAligned();
 
@@ -214,7 +214,7 @@ public class TabletInsertionDataContainer {
     final Integer[] originColumnIndex2FilteredColumnIndexMapperList = new 
Integer[originColumnSize];
 
     // The full path is always cached when device path is deserialized
-    this.deviceStr = insertTabletNode.getDevicePath().getFullPath();
+    this.deviceStr = insertTabletNode.getTargetPath().getFullPath();
     this.deviceId = insertTabletNode.getDeviceID();
     this.isAligned = insertTabletNode.isAligned();
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/realtime/PipeRealtimeEventFactory.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/realtime/PipeRealtimeEventFactory.java
index 1dd86e1e5d8..3c3023c58ee 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/realtime/PipeRealtimeEventFactory.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/realtime/PipeRealtimeEventFactory.java
@@ -47,7 +47,7 @@ public class PipeRealtimeEventFactory {
     return TS_FILE_EPOCH_MANAGER.bindPipeInsertNodeTabletInsertionEvent(
         new PipeInsertNodeTabletInsertionEvent(
             walEntryHandler,
-            insertNode.getDevicePath(),
+            insertNode.getTargetPath(),
             insertNode.getProgressIndex(),
             insertNode.isAligned(),
             insertNode.isGeneratedByPipe()),
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipePlanToStatementVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipePlanToStatementVisitor.java
index 3ca0fa90394..83121432e30 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipePlanToStatementVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipePlanToStatementVisitor.java
@@ -77,7 +77,7 @@ public class PipePlanToStatementVisitor extends 
PlanVisitor<Statement, Void> {
   @Override
   public InsertRowStatement visitInsertRow(final InsertRowNode node, final 
Void context) {
     final InsertRowStatement statement = new InsertRowStatement();
-    statement.setDevicePath(node.getDevicePath());
+    statement.setDevicePath(node.getTargetPath());
     statement.setTime(node.getTime());
     statement.setMeasurements(node.getMeasurements());
     statement.setDataTypes(node.getDataTypes());
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/pipe/PipeEnrichedInsertNode.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/pipe/PipeEnrichedInsertNode.java
index 6ea566053ac..422086d1aed 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/pipe/PipeEnrichedInsertNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/pipe/PipeEnrichedInsertNode.java
@@ -155,13 +155,13 @@ public class PipeEnrichedInsertNode extends InsertNode {
   }
 
   @Override
-  public PartialPath getDevicePath() {
-    return insertNode.getDevicePath();
+  public PartialPath getTargetPath() {
+    return insertNode.getTargetPath();
   }
 
   @Override
-  public void setDevicePath(PartialPath devicePath) {
-    insertNode.setDevicePath(devicePath);
+  public void setTargetPath(PartialPath targetPath) {
+    insertNode.setTargetPath(targetPath);
   }
 
   @Override
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertNode.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertNode.java
index f18de9ef2b9..50755a53fd7 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertNode.java
@@ -22,12 +22,14 @@ package 
org.apache.iotdb.db.queryengine.plan.planner.plan.node.write;
 import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
 import org.apache.iotdb.commons.consensus.index.ComparableConsensusRequest;
 import org.apache.iotdb.commons.consensus.index.ProgressIndex;
+import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
 import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.consensus.ConsensusFactory;
 import org.apache.iotdb.db.conf.IoTDBConfig;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
+import 
org.apache.iotdb.db.queryengine.plan.analyze.cache.schema.DataNodeDevicePathCache;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.storageengine.dataregion.memtable.DeviceIDFactory;
@@ -37,6 +39,7 @@ import 
org.apache.iotdb.db.storageengine.dataregion.wal.utils.WALWriteUtils;
 import org.apache.tsfile.enums.TSDataType;
 import org.apache.tsfile.exception.NotImplementedException;
 import org.apache.tsfile.file.metadata.IDeviceID;
+import org.apache.tsfile.utils.ReadWriteIOUtils;
 import org.apache.tsfile.write.schema.MeasurementSchema;
 
 import java.io.DataInputStream;
@@ -56,8 +59,9 @@ public abstract class InsertNode extends SearchNode 
implements ComparableConsens
   /**
    * if use id table, this filed is id form of device path <br>
    * if not, this filed is device path<br>
+   * or table name for table-model insertions.
    */
-  protected PartialPath devicePath;
+  protected PartialPath targetPath;
 
   protected boolean isAligned;
   protected MeasurementSchema[] measurementSchemas;
@@ -106,7 +110,7 @@ public abstract class InsertNode extends SearchNode 
implements ComparableConsens
       TSDataType[] dataTypes,
       TsTableColumnCategory[] columnCategories) {
     super(id);
-    this.devicePath = devicePath;
+    this.targetPath = devicePath;
     this.isAligned = isAligned;
     this.measurements = measurements;
     this.dataTypes = dataTypes;
@@ -121,12 +125,12 @@ public abstract class InsertNode extends SearchNode 
implements ComparableConsens
     this.dataRegionReplicaSet = dataRegionReplicaSet;
   }
 
-  public PartialPath getDevicePath() {
-    return devicePath;
+  public PartialPath getTargetPath() {
+    return targetPath;
   }
 
-  public void setDevicePath(PartialPath devicePath) {
-    this.devicePath = devicePath;
+  public void setTargetPath(PartialPath targetPath) {
+    this.targetPath = targetPath;
   }
 
   public boolean isAligned() {
@@ -197,7 +201,7 @@ public abstract class InsertNode extends SearchNode 
implements ComparableConsens
 
   public IDeviceID getDeviceID() {
     if (deviceID == null) {
-      deviceID = deviceIDFactory.getDeviceID(devicePath);
+      deviceID = deviceIDFactory.getDeviceID(targetPath);
     }
     return deviceID;
   }
@@ -346,7 +350,7 @@ public abstract class InsertNode extends SearchNode 
implements ComparableConsens
     }
     InsertNode that = (InsertNode) o;
     return isAligned == that.isAligned
-        && Objects.equals(devicePath, that.devicePath)
+        && Objects.equals(targetPath, that.targetPath)
         && Arrays.equals(measurementSchemas, that.measurementSchemas)
         && Arrays.equals(measurements, that.measurements)
         && Arrays.equals(dataTypes, that.dataTypes)
@@ -357,7 +361,7 @@ public abstract class InsertNode extends SearchNode 
implements ComparableConsens
   @Override
   public int hashCode() {
     int result =
-        Objects.hash(super.hashCode(), devicePath, isAligned, deviceID, 
dataRegionReplicaSet);
+        Objects.hash(super.hashCode(), targetPath, isAligned, deviceID, 
dataRegionReplicaSet);
     result = 31 * result + Arrays.hashCode(measurementSchemas);
     result = 31 * result + Arrays.hashCode(measurements);
     result = 31 * result + Arrays.hashCode(dataTypes);
@@ -388,4 +392,15 @@ public abstract class InsertNode extends SearchNode 
implements ComparableConsens
   public List<PlanNode> getChildren() {
     return Collections.emptyList();
   }
+
+  protected PartialPath readTargetPath(ByteBuffer buffer) throws 
IllegalPathException {
+    return DataNodeDevicePathCache.getInstance()
+        .getPartialPath(ReadWriteIOUtils.readString(buffer));
+  }
+
+  protected PartialPath readTargetPath(DataInputStream stream)
+      throws IllegalPathException, IOException {
+    return DataNodeDevicePathCache.getInstance()
+        .getPartialPath(ReadWriteIOUtils.readString(stream));
+  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowNode.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowNode.java
index 464e807ebab..b4b25af6193 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowNode.java
@@ -25,7 +25,6 @@ import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.commons.utils.TimePartitionUtils;
 import org.apache.iotdb.db.queryengine.plan.analyze.IAnalysis;
-import 
org.apache.iotdb.db.queryengine.plan.analyze.cache.schema.DataNodeDevicePathCache;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
@@ -227,13 +226,13 @@ public class InsertRowNode extends InsertNode implements 
WALEntryValue {
 
   void subSerialize(ByteBuffer buffer) {
     ReadWriteIOUtils.write(time, buffer);
-    ReadWriteIOUtils.write(devicePath.getFullPath(), buffer);
+    ReadWriteIOUtils.write(targetPath.getFullPath(), buffer);
     serializeMeasurementsAndValues(buffer);
   }
 
   void subSerialize(DataOutputStream stream) throws IOException {
     ReadWriteIOUtils.write(time, stream);
-    ReadWriteIOUtils.write(devicePath.getFullPath(), stream);
+    ReadWriteIOUtils.write(targetPath.getFullPath(), stream);
     serializeMeasurementsAndValues(stream);
   }
 
@@ -427,9 +426,7 @@ public class InsertRowNode extends InsertNode implements 
WALEntryValue {
   void subDeserialize(ByteBuffer byteBuffer) {
     time = byteBuffer.getLong();
     try {
-      devicePath =
-          DataNodeDevicePathCache.getInstance()
-              .getPartialPath(ReadWriteIOUtils.readString(byteBuffer));
+      targetPath = readTargetPath(byteBuffer);
     } catch (IllegalPathException e) {
       throw new IllegalArgumentException(DESERIALIZE_ERROR, e);
     }
@@ -526,7 +523,7 @@ public class InsertRowNode extends InsertNode implements 
WALEntryValue {
   protected int subSerializeSize() {
     int size = 0;
     size += Long.BYTES;
-    size += ReadWriteIOUtils.sizeToWrite(devicePath.getFullPath());
+    size += ReadWriteIOUtils.sizeToWrite(targetPath.getFullPath());
     return size + serializeMeasurementsAndValuesSize();
   }
 
@@ -596,7 +593,7 @@ public class InsertRowNode extends InsertNode implements 
WALEntryValue {
 
   protected void subSerialize(IWALByteBufferView buffer) {
     buffer.putLong(time);
-    WALWriteUtils.write(devicePath.getFullPath(), buffer);
+    WALWriteUtils.write(targetPath.getFullPath(), buffer);
     serializeMeasurementsAndValues(buffer);
   }
 
@@ -679,9 +676,7 @@ public class InsertRowNode extends InsertNode implements 
WALEntryValue {
     InsertRowNode insertNode = new InsertRowNode(new PlanNodeId(""));
     insertNode.setTime(stream.readLong());
     try {
-      insertNode.setDevicePath(
-          DataNodeDevicePathCache.getInstance()
-              .getPartialPath(ReadWriteIOUtils.readString(stream)));
+      insertNode.setTargetPath(insertNode.readTargetPath(stream));
     } catch (IllegalPathException e) {
       throw new IllegalArgumentException(DESERIALIZE_ERROR, e);
     }
@@ -771,9 +766,7 @@ public class InsertRowNode extends InsertNode implements 
WALEntryValue {
     InsertRowNode insertNode = new InsertRowNode(new PlanNodeId(""));
     insertNode.setTime(buffer.getLong());
     try {
-      insertNode.setDevicePath(
-          DataNodeDevicePathCache.getInstance()
-              .getPartialPath(ReadWriteIOUtils.readString(buffer)));
+      insertNode.setTargetPath(insertNode.readTargetPath(buffer));
     } catch (IllegalPathException e) {
       throw new IllegalArgumentException(DESERIALIZE_ERROR, e);
     }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsNode.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsNode.java
index b47cc1ea77f..5ab9508e973 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsNode.java
@@ -248,7 +248,7 @@ public class InsertRowsNode extends InsertNode implements 
WALEntryValue {
           analysis
               .getDataPartitionInfo()
               .getDataRegionReplicaSetForWriting(
-                  insertRowNode.devicePath.getIDeviceIDAsFullDevice(),
+                  insertRowNode.targetPath.getIDeviceIDAsFullDevice(),
                   
TimePartitionUtils.getTimePartitionSlot(insertRowNode.getTime()),
                   null);
       // Collect redirectInfo
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsOfOneDeviceNode.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsOfOneDeviceNode.java
index c9de66c7aa8..b5e56986681 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsOfOneDeviceNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsOfOneDeviceNode.java
@@ -121,7 +121,7 @@ public class InsertRowsOfOneDeviceNode extends InsertNode {
       return;
     }
 
-    devicePath = insertRowNodeList.get(0).getDevicePath();
+    targetPath = insertRowNodeList.get(0).getTargetPath();
     isAligned = insertRowNodeList.get(0).isAligned;
     storeMeasurementsAndDataType();
   }
@@ -165,7 +165,7 @@ public class InsertRowsOfOneDeviceNode extends InsertNode {
           analysis
               .getDataPartitionInfo()
               .getDataRegionReplicaSetForWriting(
-                  devicePath.getIDeviceIDAsFullDevice(),
+                  targetPath.getIDeviceIDAsFullDevice(),
                   timePartitionSlot,
                   analysis.getDatabaseName());
       Map<TTimePartitionSlot, List<InsertRowNode>> tmpMap =
@@ -237,7 +237,7 @@ public class InsertRowsOfOneDeviceNode extends InsertNode {
     int size = byteBuffer.getInt();
     for (int i = 0; i < size; i++) {
       InsertRowNode insertRowNode = new InsertRowNode(new PlanNodeId(""));
-      insertRowNode.setDevicePath(devicePath);
+      insertRowNode.setTargetPath(devicePath);
       insertRowNode.setTime(byteBuffer.getLong());
       insertRowNode.deserializeMeasurementsAndValues(byteBuffer);
       insertRowNodeList.add(insertRowNode);
@@ -254,14 +254,14 @@ public class InsertRowsOfOneDeviceNode extends InsertNode 
{
     InsertRowsOfOneDeviceNode insertRowsOfOneDeviceNode = new 
InsertRowsOfOneDeviceNode(planNodeId);
     insertRowsOfOneDeviceNode.setInsertRowNodeList(insertRowNodeList);
     insertRowsOfOneDeviceNode.setInsertRowNodeIndexList(insertRowNodeIndex);
-    insertRowsOfOneDeviceNode.setDevicePath(devicePath);
+    insertRowsOfOneDeviceNode.setTargetPath(devicePath);
     return insertRowsOfOneDeviceNode;
   }
 
   @Override
   protected void serializeAttributes(ByteBuffer byteBuffer) {
     PlanNodeType.INSERT_ROWS_OF_ONE_DEVICE.serialize(byteBuffer);
-    ReadWriteIOUtils.write(devicePath.getFullPath(), byteBuffer);
+    ReadWriteIOUtils.write(targetPath.getFullPath(), byteBuffer);
 
     ReadWriteIOUtils.write(insertRowNodeList.size(), byteBuffer);
 
@@ -277,7 +277,7 @@ public class InsertRowsOfOneDeviceNode extends InsertNode {
   @Override
   protected void serializeAttributes(DataOutputStream stream) throws 
IOException {
     PlanNodeType.INSERT_ROWS_OF_ONE_DEVICE.serialize(stream);
-    ReadWriteIOUtils.write(devicePath.getFullPath(), stream);
+    ReadWriteIOUtils.write(targetPath.getFullPath(), stream);
 
     ReadWriteIOUtils.write(insertRowNodeList.size(), stream);
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertTabletNode.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertTabletNode.java
index 9a35947edf2..d40d1c50b84 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertTabletNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertTabletNode.java
@@ -29,7 +29,6 @@ import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.commons.utils.TimePartitionUtils;
 import org.apache.iotdb.db.exception.query.OutOfTTLException;
 import org.apache.iotdb.db.queryengine.plan.analyze.IAnalysis;
-import 
org.apache.iotdb.db.queryengine.plan.analyze.cache.schema.DataNodeDevicePathCache;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
@@ -305,7 +304,7 @@ public class InsertTabletNode extends InsertNode implements 
WALEntryValue {
     BitMap[] newBitMaps = this.bitMaps == null ? null : 
initBitmaps(dataTypes.length, count);
     return new InsertTabletNode(
         getPlanNodeId(),
-        devicePath,
+        targetPath,
         isAligned,
         measurements,
         dataTypes,
@@ -438,7 +437,7 @@ public class InsertTabletNode extends InsertNode implements 
WALEntryValue {
   }
 
   void subSerialize(ByteBuffer buffer) {
-    ReadWriteIOUtils.write(devicePath.getFullPath(), buffer);
+    ReadWriteIOUtils.write(targetPath.getFullPath(), buffer);
     writeMeasurementsOrSchemas(buffer);
     writeDataTypes(buffer);
     writeTimes(buffer);
@@ -448,7 +447,7 @@ public class InsertTabletNode extends InsertNode implements 
WALEntryValue {
   }
 
   void subSerialize(DataOutputStream stream) throws IOException {
-    ReadWriteIOUtils.write(devicePath.getFullPath(), stream);
+    ReadWriteIOUtils.write(targetPath.getFullPath(), stream);
     writeMeasurementsOrSchemas(stream);
     writeDataTypes(stream);
     writeTimes(stream);
@@ -705,9 +704,7 @@ public class InsertTabletNode extends InsertNode implements 
WALEntryValue {
 
   public void subDeserialize(ByteBuffer buffer) {
     try {
-      devicePath =
-          DataNodeDevicePathCache.getInstance()
-              .getPartialPath((ReadWriteIOUtils.readString(buffer)));
+      targetPath = readTargetPath(buffer);
     } catch (IllegalPathException e) {
       throw new IllegalArgumentException("Cannot deserialize 
InsertTabletNode", e);
     }
@@ -763,7 +760,7 @@ public class InsertTabletNode extends InsertNode implements 
WALEntryValue {
   int subSerializeSize(int start, int end) {
     int size = 0;
     size += Long.BYTES;
-    size += ReadWriteIOUtils.sizeToWrite(devicePath.getFullPath());
+    size += ReadWriteIOUtils.sizeToWrite(targetPath.getFullPath());
     // measurements size
     size += Integer.BYTES;
     size += serializeMeasurementSchemasSize();
@@ -849,7 +846,7 @@ public class InsertTabletNode extends InsertNode implements 
WALEntryValue {
 
   void subSerialize(IWALByteBufferView buffer, int start, int end) {
     buffer.putLong(searchIndex);
-    WALWriteUtils.write(devicePath.getFullPath(), buffer);
+    WALWriteUtils.write(targetPath.getFullPath(), buffer);
     // data types are serialized in measurement schemas
     writeMeasurementSchemas(buffer);
     writeTimes(buffer, start, end);
@@ -969,8 +966,7 @@ public class InsertTabletNode extends InsertNode implements 
WALEntryValue {
   protected void subDeserializeFromWAL(DataInputStream stream) throws 
IOException {
     searchIndex = stream.readLong();
     try {
-      devicePath =
-          
DataNodeDevicePathCache.getInstance().getPartialPath(ReadWriteIOUtils.readString(stream));
+      targetPath = readTargetPath(stream);
     } catch (IllegalPathException e) {
       throw new IllegalArgumentException("Cannot deserialize 
InsertTabletNode", e);
     }
@@ -1005,9 +1001,7 @@ public class InsertTabletNode extends InsertNode 
implements WALEntryValue {
   protected void subDeserializeFromWAL(ByteBuffer buffer) {
     searchIndex = buffer.getLong();
     try {
-      devicePath =
-          DataNodeDevicePathCache.getInstance()
-              .getPartialPath((ReadWriteIOUtils.readString(buffer)));
+      targetPath = readTargetPath(buffer);
     } catch (IllegalPathException e) {
       throw new IllegalArgumentException("Cannot deserialize 
InsertTabletNode", e);
     }
@@ -1191,7 +1185,7 @@ public class InsertTabletNode extends InsertNode 
implements WALEntryValue {
     if (deviceID != null) {
       return deviceID;
     }
-    deviceID = DeviceIDFactory.getInstance().getDeviceID(devicePath);
+    deviceID = DeviceIDFactory.getInstance().getDeviceID(targetPath);
     return deviceID;
   }
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertRowNode.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertRowNode.java
index df9f9174ce9..cb3a6291622 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertRowNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertRowNode.java
@@ -22,7 +22,6 @@ package 
org.apache.iotdb.db.queryengine.plan.planner.plan.node.write;
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
-import 
org.apache.iotdb.db.queryengine.plan.analyze.cache.schema.DataNodeDevicePathCache;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
@@ -141,9 +140,7 @@ public class RelationalInsertRowNode extends InsertRowNode {
     RelationalInsertRowNode insertNode = new RelationalInsertRowNode(new 
PlanNodeId(""));
     insertNode.setTime(stream.readLong());
     try {
-      insertNode.setDevicePath(
-          DataNodeDevicePathCache.getInstance()
-              .getPartialPath(ReadWriteIOUtils.readString(stream)));
+      insertNode.setTargetPath(insertNode.readTargetPath(stream));
     } catch (IllegalPathException e) {
       throw new IllegalArgumentException(DESERIALIZE_ERROR, e);
     }
@@ -162,9 +159,7 @@ public class RelationalInsertRowNode extends InsertRowNode {
     RelationalInsertRowNode insertNode = new RelationalInsertRowNode(new 
PlanNodeId(""));
     insertNode.setTime(buffer.getLong());
     try {
-      insertNode.setDevicePath(
-          DataNodeDevicePathCache.getInstance()
-              .getPartialPath(ReadWriteIOUtils.readString(buffer)));
+      insertNode.setTargetPath(insertNode.readTargetPath(buffer));
     } catch (IllegalPathException e) {
       throw new IllegalArgumentException(DESERIALIZE_ERROR, e);
     }
@@ -228,6 +223,15 @@ public class RelationalInsertRowNode extends InsertRowNode 
{
   }
 
   public String getTableName() {
-    return devicePath.getFullPath();
+    return targetPath.getFullPath();
+  }
+
+  protected PartialPath readTargetPath(ByteBuffer buffer) throws 
IllegalPathException {
+    return new PartialPath(ReadWriteIOUtils.readString(buffer), false);
+  }
+
+  protected PartialPath readTargetPath(DataInputStream stream)
+      throws IllegalPathException, IOException {
+    return new PartialPath(ReadWriteIOUtils.readString(stream), false);
   }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertRowsNode.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertRowsNode.java
index b73bd42965c..768bb920905 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertRowsNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertRowsNode.java
@@ -151,7 +151,7 @@ public class RelationalInsertRowsNode extends 
InsertRowsNode {
   }
 
   public String getTableName() {
-    return devicePath.getFullPath();
+    return targetPath.getFullPath();
   }
 
   @Override
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertTabletNode.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertTabletNode.java
index 3902c9ae9b1..c2129f8d8d7 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertTabletNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertTabletNode.java
@@ -33,6 +33,7 @@ import org.apache.tsfile.file.metadata.IDeviceID;
 import org.apache.tsfile.file.metadata.IDeviceID.Factory;
 import org.apache.tsfile.utils.BitMap;
 import org.apache.tsfile.utils.Pair;
+import org.apache.tsfile.utils.ReadWriteIOUtils;
 import org.apache.tsfile.write.schema.MeasurementSchema;
 
 import java.io.DataInputStream;
@@ -126,7 +127,7 @@ public class RelationalInsertTabletNode extends 
InsertTabletNode {
     BitMap[] newBitMaps = this.bitMaps == null ? null : 
initBitmaps(dataTypes.length, count);
     return new RelationalInsertTabletNode(
         getPlanNodeId(),
-        devicePath,
+        targetPath,
         isAligned,
         measurements,
         dataTypes,
@@ -252,6 +253,14 @@ public class RelationalInsertTabletNode extends 
InsertTabletNode {
   }
 
   public String getTableName() {
-    return devicePath.getFullPath();
+    return targetPath.getFullPath();
+  }
+
+  protected PartialPath readTargetPath(ByteBuffer buffer) {
+    return new PartialPath(ReadWriteIOUtils.readString(buffer), false);
+  }
+
+  protected PartialPath readTargetPath(DataInputStream stream) throws 
IOException {
+    return new PartialPath(ReadWriteIOUtils.readString(stream), false);
   }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertTabletStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertTabletStatement.java
index 6029937d04c..6a70a5e5493 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertTabletStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertTabletStatement.java
@@ -88,7 +88,7 @@ public class InsertTabletStatement extends 
InsertBaseStatement implements ISchem
 
   public InsertTabletStatement(InsertTabletNode node) {
     this();
-    setDevicePath(node.getDevicePath());
+    setDevicePath(node.getTargetPath());
     setMeasurements(node.getMeasurements());
     setTimes(node.getTimes());
     setColumns(node.getColumns());
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 65bd32095f2..ead04b82211 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
@@ -1018,7 +1018,7 @@ public class DataRegion implements IDataRegionForQuery {
   public void insert(InsertRowNode insertRowNode) throws WriteProcessException 
{
     // reject insertions that are out of ttl
     long deviceTTL =
-        
DataNodeTTLCache.getInstance().getTTL(insertRowNode.getDevicePath().getNodes());
+        
DataNodeTTLCache.getInstance().getTTL(insertRowNode.getTargetPath().getNodes());
     if (!CommonUtils.isAlive(insertRowNode.getTime(), deviceTTL)) {
       throw new OutOfTTLException(
           insertRowNode.getTime(), (CommonDateTimeUtils.currentTime() - 
deviceTTL));
@@ -1365,7 +1365,7 @@ public class DataRegion implements IDataRegionForQuery {
     DataNodeSchemaCache.getInstance()
         .updateLastCache(
             getDatabaseName(),
-            node.getDevicePath(),
+            node.getTargetPath(),
             rawMeasurements,
             node.getMeasurementSchemas(),
             node.isAligned(),
@@ -1410,7 +1410,7 @@ public class DataRegion implements IDataRegionForQuery {
     DataNodeSchemaCache.getInstance()
         .updateLastCache(
             getDatabaseName(),
-            node.getDevicePath(),
+            node.getTargetPath(),
             rawMeasurements,
             node.getMeasurementSchemas(),
             node.isAligned(),
@@ -1505,7 +1505,7 @@ public class DataRegion implements IDataRegionForQuery {
         DataNodeSchemaCache.getInstance()
             .updateLastCacheWithoutLock(
                 getDatabaseName(),
-                node.getDevicePath(),
+                node.getTargetPath(),
                 rawMeasurements,
                 node.getMeasurementSchemas(),
                 node.isAligned(),
@@ -3485,7 +3485,7 @@ public class DataRegion implements IDataRegionForQuery {
       }
       long deviceTTL =
           DataNodeTTLCache.getInstance()
-              .getTTL(insertRowsOfOneDeviceNode.getDevicePath().getNodes());
+              .getTTL(insertRowsOfOneDeviceNode.getTargetPath().getNodes());
       long[] costsForMetrics = new long[4];
       Map<TsFileProcessor, InsertRowsNode> tsFileProcessorMap = new 
HashMap<>();
       for (int i = 0; i < 
insertRowsOfOneDeviceNode.getInsertRowNodeList().size(); i++) {
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 80f41592387..9e0458ebc07 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
@@ -115,7 +115,7 @@ public class TriggerFireVisitor extends 
PlanVisitor<TriggerFireResult, TriggerEv
               .map(measurement -> 
measurementSchemas[measurementToSchemaIndexMap.get(measurement)])
               .collect(Collectors.toList());
       // only one row
-      Tablet tablet = new Tablet(node.getDevicePath().getFullPath(), schemas, 
1);
+      Tablet tablet = new Tablet(node.getTargetPath().getFullPath(), schemas, 
1);
       // add one row
       tablet.rowSize++;
       tablet.addTimestamp(0, time);
@@ -166,7 +166,7 @@ public class TriggerFireVisitor extends 
PlanVisitor<TriggerFireResult, TriggerEv
         // all measurements are included
         tablet =
             new Tablet(
-                node.getDevicePath().getFullPath(),
+                node.getTargetPath().getFullPath(),
                 Arrays.asList(measurementSchemas),
                 timestamps,
                 columns,
@@ -192,7 +192,7 @@ public class TriggerFireVisitor extends 
PlanVisitor<TriggerFireResult, TriggerEv
         }
         tablet =
             new Tablet(
-                node.getDevicePath().getFullPath(),
+                node.getTargetPath().getFullPath(),
                 schemas,
                 timestamps,
                 columnsOfNewTablet,
@@ -291,7 +291,7 @@ public class TriggerFireVisitor extends 
PlanVisitor<TriggerFireResult, TriggerEv
 
   private Map<String, List<String>> constructTriggerNameToMeasurementListMap(
       InsertNode node, TriggerEvent event) {
-    PartialPath device = node.getDevicePath();
+    PartialPath device = node.getTargetPath();
     List<String> measurements = new ArrayList<>();
     for (String measurement : node.getMeasurements()) {
       if (measurement != null) {
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowsNodeSerdeTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowsNodeSerdeTest.java
index c668a2898e4..0a8f3bc3939 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowsNodeSerdeTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowsNodeSerdeTest.java
@@ -149,129 +149,137 @@ public class InsertRowsNodeSerdeTest {
 
   @Test
   public void TestSerializeAndDeserializeRelational() throws 
IllegalPathException {
-    RelationalInsertRowsNode node = new RelationalInsertRowsNode(new 
PlanNodeId("plan node 1"));
-    node.addOneInsertRowNode(
-        new RelationalInsertRowNode(
-            new PlanNodeId("plan node 1"),
-            new PartialPath("root.sg.d1"),
-            false,
-            new String[] {"s1", "s2", "s3", "s4", "s5"},
-            new TSDataType[] {
-              TSDataType.DOUBLE,
-              TSDataType.FLOAT,
-              TSDataType.INT64,
-              TSDataType.TEXT,
-              TSDataType.STRING
-            },
-            1000L,
-            new Object[] {1.0, 2f, 300L, new 
Binary("444".getBytes(StandardCharsets.UTF_8)), null},
-            false,
-            new TsTableColumnCategory[] {
-              TsTableColumnCategory.ID,
-              TsTableColumnCategory.ATTRIBUTE,
-              TsTableColumnCategory.MEASUREMENT,
-              TsTableColumnCategory.MEASUREMENT,
-              TsTableColumnCategory.MEASUREMENT
-            }),
-        0);
+    for (String tableName : new String[] {"table1", "ta`ble1", "root.table1"}) 
{
+      RelationalInsertRowsNode node = new RelationalInsertRowsNode(new 
PlanNodeId("plan node 1"));
+      node.addOneInsertRowNode(
+          new RelationalInsertRowNode(
+              new PlanNodeId("plan node 1"),
+              new PartialPath(tableName, false),
+              false,
+              new String[] {"s1", "s2", "s3", "s4", "s5"},
+              new TSDataType[] {
+                TSDataType.DOUBLE,
+                TSDataType.FLOAT,
+                TSDataType.INT64,
+                TSDataType.TEXT,
+                TSDataType.STRING
+              },
+              1000L,
+              new Object[] {
+                1.0, 2f, 300L, new 
Binary("444".getBytes(StandardCharsets.UTF_8)), null
+              },
+              false,
+              new TsTableColumnCategory[] {
+                TsTableColumnCategory.ID,
+                TsTableColumnCategory.ATTRIBUTE,
+                TsTableColumnCategory.MEASUREMENT,
+                TsTableColumnCategory.MEASUREMENT,
+                TsTableColumnCategory.MEASUREMENT
+              }),
+          0);
 
-    node.addOneInsertRowNode(
-        new RelationalInsertRowNode(
-            new PlanNodeId("plan node 1"),
-            new PartialPath("root.sg.d2"),
-            false,
-            new String[] {"s1", "s4"},
-            new TSDataType[] {TSDataType.DOUBLE, TSDataType.BOOLEAN},
-            2000L,
-            new Object[] {2.0, false},
-            false,
-            new TsTableColumnCategory[] {
-              TsTableColumnCategory.ID,
-              TsTableColumnCategory.ATTRIBUTE,
-              TsTableColumnCategory.MEASUREMENT
-            }),
-        1);
+      node.addOneInsertRowNode(
+          new RelationalInsertRowNode(
+              new PlanNodeId("plan node 1"),
+              new PartialPath(tableName, false),
+              false,
+              new String[] {"s1", "s4"},
+              new TSDataType[] {TSDataType.DOUBLE, TSDataType.BOOLEAN},
+              2000L,
+              new Object[] {2.0, false},
+              false,
+              new TsTableColumnCategory[] {
+                TsTableColumnCategory.ID,
+                TsTableColumnCategory.ATTRIBUTE,
+                TsTableColumnCategory.MEASUREMENT
+              }),
+          1);
 
-    ByteBuffer byteBuffer = ByteBuffer.allocate(10000);
-    node.serialize(byteBuffer);
-    byteBuffer.flip();
+      ByteBuffer byteBuffer = ByteBuffer.allocate(10000);
+      node.serialize(byteBuffer);
+      byteBuffer.flip();
 
-    Assert.assertEquals(PlanNodeType.RELATIONAL_INSERT_ROWS.getNodeType(), 
byteBuffer.getShort());
+      Assert.assertEquals(PlanNodeType.RELATIONAL_INSERT_ROWS.getNodeType(), 
byteBuffer.getShort());
 
-    Assert.assertEquals(node, 
RelationalInsertRowsNode.deserialize(byteBuffer));
+      Assert.assertEquals(node, 
RelationalInsertRowsNode.deserialize(byteBuffer));
+    }
   }
 
   @Test
-  public void testSerializeAndDeserializeForWALRelational()
-      throws IllegalPathException, IOException {
-    RelationalInsertRowsNode insertRowsNode =
-        new RelationalInsertRowsNode(new PlanNodeId("plan node 1"));
-    insertRowsNode.addOneInsertRowNode(
-        new RelationalInsertRowNode(
-            new PlanNodeId(""),
-            new PartialPath("root.sg.d1"),
-            false,
-            new String[] {"s1", "s2", "s3", "s4", "s5"},
-            new TSDataType[] {
-              TSDataType.DOUBLE,
-              TSDataType.FLOAT,
-              TSDataType.INT64,
-              TSDataType.TEXT,
-              TSDataType.STRING
-            },
-            new MeasurementSchema[] {
-              new MeasurementSchema("s1", TSDataType.DOUBLE),
-              new MeasurementSchema("s2", TSDataType.FLOAT),
-              new MeasurementSchema("s3", TSDataType.INT64),
-              new MeasurementSchema("s4", TSDataType.TEXT),
-              new MeasurementSchema("s5", TSDataType.STRING)
-            },
-            1000L,
-            new Object[] {1.0, 2f, 300L, new 
Binary("444".getBytes(StandardCharsets.UTF_8)), null},
-            false,
-            new TsTableColumnCategory[] {
-              TsTableColumnCategory.ID,
-              TsTableColumnCategory.ATTRIBUTE,
-              TsTableColumnCategory.MEASUREMENT,
-              TsTableColumnCategory.MEASUREMENT,
-              TsTableColumnCategory.MEASUREMENT
-            }),
-        0);
+  public void testSerializeAndDeserializeForWALRelational() throws IOException 
{
+    for (String tableName : new String[] {"table1", "ta`ble1", "root.table1"}) 
{
+      RelationalInsertRowsNode insertRowsNode =
+          new RelationalInsertRowsNode(new PlanNodeId("plan node 1"));
+      insertRowsNode.addOneInsertRowNode(
+          new RelationalInsertRowNode(
+              new PlanNodeId(""),
+              new PartialPath(tableName, false),
+              false,
+              new String[] {"s1", "s2", "s3", "s4", "s5"},
+              new TSDataType[] {
+                TSDataType.DOUBLE,
+                TSDataType.FLOAT,
+                TSDataType.INT64,
+                TSDataType.TEXT,
+                TSDataType.STRING
+              },
+              new MeasurementSchema[] {
+                new MeasurementSchema("s1", TSDataType.DOUBLE),
+                new MeasurementSchema("s2", TSDataType.FLOAT),
+                new MeasurementSchema("s3", TSDataType.INT64),
+                new MeasurementSchema("s4", TSDataType.TEXT),
+                new MeasurementSchema("s5", TSDataType.STRING)
+              },
+              1000L,
+              new Object[] {
+                1.0, 2f, 300L, new 
Binary("444".getBytes(StandardCharsets.UTF_8)), null
+              },
+              false,
+              new TsTableColumnCategory[] {
+                TsTableColumnCategory.ID,
+                TsTableColumnCategory.ATTRIBUTE,
+                TsTableColumnCategory.MEASUREMENT,
+                TsTableColumnCategory.MEASUREMENT,
+                TsTableColumnCategory.MEASUREMENT
+              }),
+          0);
 
-    insertRowsNode.addOneInsertRowNode(
-        new RelationalInsertRowNode(
-            new PlanNodeId(""),
-            new PartialPath("root.sg.d2"),
-            false,
-            new String[] {"s1", "s4"},
-            new TSDataType[] {TSDataType.DOUBLE, TSDataType.BOOLEAN},
-            new MeasurementSchema[] {
-              new MeasurementSchema("s1", TSDataType.DOUBLE),
-              new MeasurementSchema("s4", TSDataType.BOOLEAN),
-            },
-            2000L,
-            new Object[] {2.0, false},
-            false,
-            new TsTableColumnCategory[] {
-              TsTableColumnCategory.ID, TsTableColumnCategory.ATTRIBUTE
-            }),
-        1);
+      insertRowsNode.addOneInsertRowNode(
+          new RelationalInsertRowNode(
+              new PlanNodeId(""),
+              new PartialPath(tableName, false),
+              false,
+              new String[] {"s1", "s4"},
+              new TSDataType[] {TSDataType.DOUBLE, TSDataType.BOOLEAN},
+              new MeasurementSchema[] {
+                new MeasurementSchema("s1", TSDataType.DOUBLE),
+                new MeasurementSchema("s4", TSDataType.BOOLEAN),
+              },
+              2000L,
+              new Object[] {2.0, false},
+              false,
+              new TsTableColumnCategory[] {
+                TsTableColumnCategory.ID, TsTableColumnCategory.ATTRIBUTE
+              }),
+          1);
 
-    int serializedSize = insertRowsNode.serializedSize();
+      int serializedSize = insertRowsNode.serializedSize();
 
-    byte[] bytes = new byte[serializedSize];
-    WALByteBufferForTest walBuffer = new 
WALByteBufferForTest(ByteBuffer.wrap(bytes));
+      byte[] bytes = new byte[serializedSize];
+      WALByteBufferForTest walBuffer = new 
WALByteBufferForTest(ByteBuffer.wrap(bytes));
 
-    insertRowsNode.serializeToWAL(walBuffer);
-    Assert.assertFalse(walBuffer.getBuffer().hasRemaining());
+      insertRowsNode.serializeToWAL(walBuffer);
+      Assert.assertFalse(walBuffer.getBuffer().hasRemaining());
 
-    DataInputStream dataInputStream = new DataInputStream(new 
ByteArrayInputStream(bytes));
+      DataInputStream dataInputStream = new DataInputStream(new 
ByteArrayInputStream(bytes));
 
-    Assert.assertEquals(
-        PlanNodeType.RELATIONAL_INSERT_ROWS.getNodeType(), 
dataInputStream.readShort());
+      Assert.assertEquals(
+          PlanNodeType.RELATIONAL_INSERT_ROWS.getNodeType(), 
dataInputStream.readShort());
 
-    RelationalInsertRowsNode tmpNode = 
RelationalInsertRowsNode.deserializeFromWAL(dataInputStream);
-    tmpNode.setPlanNodeId(insertRowsNode.getPlanNodeId());
-    Assert.assertEquals(insertRowsNode, tmpNode);
+      RelationalInsertRowsNode tmpNode =
+          RelationalInsertRowsNode.deserializeFromWAL(dataInputStream);
+      tmpNode.setPlanNodeId(insertRowsNode.getPlanNodeId());
+      Assert.assertEquals(insertRowsNode, tmpNode);
+    }
   }
 }
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowsOfOneDeviceNodeSerdeTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowsOfOneDeviceNodeSerdeTest.java
index d992090ba08..692d96e9506 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowsOfOneDeviceNodeSerdeTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowsOfOneDeviceNodeSerdeTest.java
@@ -40,7 +40,7 @@ public class InsertRowsOfOneDeviceNodeSerdeTest {
   public void TestSerializeAndDeserialize() throws IllegalPathException {
     PartialPath device = new PartialPath("root.sg.d");
     InsertRowsOfOneDeviceNode node = new InsertRowsOfOneDeviceNode(new 
PlanNodeId("plan node 1"));
-    node.setDevicePath(device);
+    node.setTargetPath(device);
     List<InsertRowNode> insertRowNodeList = new ArrayList<>();
     List<Integer> insertRowNodeIndexList = new ArrayList<>();
     insertRowNodeList.add(
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertTabletNodeSerdeTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertTabletNodeSerdeTest.java
index 013aad45b95..69587fbd9d7 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertTabletNodeSerdeTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertTabletNodeSerdeTest.java
@@ -97,57 +97,63 @@ public class InsertTabletNodeSerdeTest {
 
   @Test
   public void testSerializeAndDeserializeRelational() throws 
IllegalPathException {
-    RelationalInsertTabletNode insertTabletNode = 
getRelationalInsertTabletNode();
+    for (String tableName : new String[] {"table1", "ta`ble1", "root.table1"}) 
{
+      RelationalInsertTabletNode insertTabletNode = 
getRelationalInsertTabletNode(tableName);
 
-    ByteBuffer byteBuffer = ByteBuffer.allocate(10000);
-    insertTabletNode.serialize(byteBuffer);
-    byteBuffer.flip();
+      ByteBuffer byteBuffer = ByteBuffer.allocate(10000);
+      insertTabletNode.serialize(byteBuffer);
+      byteBuffer.flip();
 
-    Assert.assertEquals(PlanNodeType.RELATIONAL_INSERT_TABLET.getNodeType(), 
byteBuffer.getShort());
+      Assert.assertEquals(
+          PlanNodeType.RELATIONAL_INSERT_TABLET.getNodeType(), 
byteBuffer.getShort());
 
-    Assert.assertEquals(insertTabletNode, 
RelationalInsertTabletNode.deserialize(byteBuffer));
+      Assert.assertEquals(insertTabletNode, 
RelationalInsertTabletNode.deserialize(byteBuffer));
 
-    insertTabletNode = getRelationalInsertTabletNodeWithSchema();
-    byteBuffer = ByteBuffer.allocate(10000);
-    insertTabletNode.serialize(byteBuffer);
-    byteBuffer.flip();
+      insertTabletNode = getRelationalInsertTabletNodeWithSchema(tableName);
+      byteBuffer = ByteBuffer.allocate(10000);
+      insertTabletNode.serialize(byteBuffer);
+      byteBuffer.flip();
 
-    Assert.assertEquals(PlanNodeType.RELATIONAL_INSERT_TABLET.getNodeType(), 
byteBuffer.getShort());
+      Assert.assertEquals(
+          PlanNodeType.RELATIONAL_INSERT_TABLET.getNodeType(), 
byteBuffer.getShort());
 
-    Assert.assertEquals(insertTabletNode, 
RelationalInsertTabletNode.deserialize(byteBuffer));
+      Assert.assertEquals(insertTabletNode, 
RelationalInsertTabletNode.deserialize(byteBuffer));
+    }
   }
 
   @Test
-  public void testSerializeAndDeserializeForWALRelational()
-      throws IllegalPathException, IOException {
-    RelationalInsertTabletNode insertTabletNode = 
getRelationalInsertTabletNodeWithSchema();
+  public void testSerializeAndDeserializeForWALRelational() throws IOException 
{
+    for (String tableName : new String[] {"table1", "ta`ble1", "root.table1"}) 
{
+      RelationalInsertTabletNode insertTabletNode =
+          getRelationalInsertTabletNodeWithSchema(tableName);
 
-    int serializedSize = insertTabletNode.serializedSize();
+      int serializedSize = insertTabletNode.serializedSize();
 
-    byte[] bytes = new byte[serializedSize];
-    WALByteBufferForTest walBuffer = new 
WALByteBufferForTest(ByteBuffer.wrap(bytes));
+      byte[] bytes = new byte[serializedSize];
+      WALByteBufferForTest walBuffer = new 
WALByteBufferForTest(ByteBuffer.wrap(bytes));
 
-    insertTabletNode.serializeToWAL(walBuffer);
-    Assert.assertFalse(walBuffer.getBuffer().hasRemaining());
+      insertTabletNode.serializeToWAL(walBuffer);
+      Assert.assertFalse(walBuffer.getBuffer().hasRemaining());
 
-    DataInputStream dataInputStream = new DataInputStream(new 
ByteArrayInputStream(bytes));
+      DataInputStream dataInputStream = new DataInputStream(new 
ByteArrayInputStream(bytes));
 
-    Assert.assertEquals(
-        PlanNodeType.RELATIONAL_INSERT_TABLET.getNodeType(), 
dataInputStream.readShort());
+      Assert.assertEquals(
+          PlanNodeType.RELATIONAL_INSERT_TABLET.getNodeType(), 
dataInputStream.readShort());
 
-    RelationalInsertTabletNode tmpNode =
-        RelationalInsertTabletNode.deserializeFromWAL(dataInputStream);
-    tmpNode.setPlanNodeId(insertTabletNode.getPlanNodeId());
+      RelationalInsertTabletNode tmpNode =
+          RelationalInsertTabletNode.deserializeFromWAL(dataInputStream);
+      tmpNode.setPlanNodeId(insertTabletNode.getPlanNodeId());
 
-    tmpNode.setMeasurementSchemas(
-        new MeasurementSchema[] {
-          new MeasurementSchema("s1", TSDataType.DOUBLE),
-          new MeasurementSchema("s2", TSDataType.FLOAT),
-          new MeasurementSchema("s3", TSDataType.INT64),
-          new MeasurementSchema("s4", TSDataType.INT32),
-          new MeasurementSchema("s5", TSDataType.BOOLEAN)
-        });
-    Assert.assertEquals(insertTabletNode, tmpNode);
+      tmpNode.setMeasurementSchemas(
+          new MeasurementSchema[] {
+            new MeasurementSchema("s1", TSDataType.DOUBLE),
+            new MeasurementSchema("s2", TSDataType.FLOAT),
+            new MeasurementSchema("s3", TSDataType.INT64),
+            new MeasurementSchema("s4", TSDataType.INT32),
+            new MeasurementSchema("s5", TSDataType.BOOLEAN)
+          });
+      Assert.assertEquals(insertTabletNode, tmpNode);
+    }
   }
 
   @Test
@@ -268,7 +274,8 @@ public class InsertTabletNodeSerdeTest {
     return insertTabletNode;
   }
 
-  private RelationalInsertTabletNode getRelationalInsertTabletNode() throws 
IllegalPathException {
+  private RelationalInsertTabletNode getRelationalInsertTabletNode(String 
tableName)
+      throws IllegalPathException {
     long[] times = new long[] {110L, 111L, 112L, 113L};
     TSDataType[] dataTypes = new TSDataType[5];
     dataTypes[0] = TSDataType.DOUBLE;
@@ -295,7 +302,7 @@ public class InsertTabletNodeSerdeTest {
     RelationalInsertTabletNode tabletNode =
         new RelationalInsertTabletNode(
             new PlanNodeId("plannode 1"),
-            new PartialPath("root.isp.d1"),
+            new PartialPath(tableName, false),
             false,
             new String[] {"s1", "s2", "s3", "s4", "s5"},
             dataTypes,
@@ -314,8 +321,7 @@ public class InsertTabletNodeSerdeTest {
     return tabletNode;
   }
 
-  private RelationalInsertTabletNode getRelationalInsertTabletNodeWithSchema()
-      throws IllegalPathException {
+  private RelationalInsertTabletNode 
getRelationalInsertTabletNodeWithSchema(String tableName) {
     long[] times = new long[] {110L, 111L, 112L, 113L};
     TSDataType[] dataTypes = new TSDataType[5];
     dataTypes[0] = TSDataType.DOUBLE;
@@ -342,7 +348,7 @@ public class InsertTabletNodeSerdeTest {
     RelationalInsertTabletNode insertTabletNode =
         new RelationalInsertTabletNode(
             new PlanNodeId("plannode 1"),
-            new PartialPath("root.isp.d1"),
+            new PartialPath(tableName, false),
             false,
             new String[] {"s1", "s2", "s3", "s4", "s5"},
             dataTypes,
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/WritePlanNodeSplitTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/WritePlanNodeSplitTest.java
index 9a83eed47d1..c3ca365befb 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/WritePlanNodeSplitTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/WritePlanNodeSplitTest.java
@@ -194,7 +194,7 @@ public class WritePlanNodeSplitTest {
   public void testSplitInsertTablet() throws IllegalPathException {
     InsertTabletNode insertTabletNode = new InsertTabletNode(new 
PlanNodeId("plan node 1"));
 
-    insertTabletNode.setDevicePath(new PartialPath("root.sg1.d1"));
+    insertTabletNode.setTargetPath(new PartialPath("root.sg1.d1"));
     insertTabletNode.setTimes(
         new long[] {-200, -101, 1, 60, 120, 180, 270, 290, 360, 375, 440, 
470});
     insertTabletNode.setDataTypes(new TSDataType[] {TSDataType.INT32});
@@ -203,7 +203,7 @@ public class WritePlanNodeSplitTest {
 
     DataPartitionQueryParam dataPartitionQueryParam = new 
DataPartitionQueryParam();
     dataPartitionQueryParam.setDeviceID(
-        insertTabletNode.getDevicePath().getIDeviceIDAsFullDevice());
+        insertTabletNode.getTargetPath().getIDeviceIDAsFullDevice());
     
dataPartitionQueryParam.setTimePartitionSlotList(insertTabletNode.getTimePartitionSlots());
 
     DataPartition dataPartition =
@@ -223,14 +223,14 @@ public class WritePlanNodeSplitTest {
 
     insertTabletNode = new InsertTabletNode(new PlanNodeId("plan node 2"));
 
-    insertTabletNode.setDevicePath(new PartialPath("root.sg2.d1"));
+    insertTabletNode.setTargetPath(new PartialPath("root.sg2.d1"));
     insertTabletNode.setTimes(new long[] {1, 60, 120, 180, 270, 290, 360, 375, 
440, 470});
     insertTabletNode.setDataTypes(new TSDataType[] {TSDataType.INT32});
     insertTabletNode.setColumns(new Object[] {new int[] {10, 20, 30, 40, 50, 
60, 70, 80, 90, 100}});
 
     dataPartitionQueryParam = new DataPartitionQueryParam();
     dataPartitionQueryParam.setDeviceID(
-        insertTabletNode.getDevicePath().getIDeviceIDAsFullDevice());
+        insertTabletNode.getTargetPath().getIDeviceIDAsFullDevice());
     
dataPartitionQueryParam.setTimePartitionSlotList(insertTabletNode.getTimePartitionSlots());
 
     dataPartition = 
getDataPartition(Collections.singletonList(dataPartitionQueryParam));
@@ -252,7 +252,7 @@ public class WritePlanNodeSplitTest {
 
     for (int i = 0; i < 5; i++) {
       InsertTabletNode insertTabletNode = new InsertTabletNode(new 
PlanNodeId("plan node 3"));
-      insertTabletNode.setDevicePath(new 
PartialPath(String.format("root.sg1.d%d", i)));
+      insertTabletNode.setTargetPath(new 
PartialPath(String.format("root.sg1.d%d", i)));
       insertTabletNode.setTimes(new long[] {1, 60, 120, 180, 270, 290, 360, 
375, 440, 470});
       insertTabletNode.setDataTypes(new TSDataType[] {TSDataType.INT32});
       insertTabletNode.setColumns(
@@ -260,7 +260,7 @@ public class WritePlanNodeSplitTest {
       insertMultiTabletsNode.addInsertTabletNode(insertTabletNode, 2 * i);
 
       insertTabletNode = new InsertTabletNode(new PlanNodeId("plan node 3"));
-      insertTabletNode.setDevicePath(new 
PartialPath(String.format("root.sg2.d%d", i)));
+      insertTabletNode.setTargetPath(new 
PartialPath(String.format("root.sg2.d%d", i)));
       insertTabletNode.setTimes(new long[] {1, 60, 120, 180, 270, 290, 360, 
375, 440, 470});
       insertTabletNode.setDataTypes(new TSDataType[] {TSDataType.INT32});
       insertTabletNode.setColumns(
@@ -272,7 +272,7 @@ public class WritePlanNodeSplitTest {
     for (InsertTabletNode insertTabletNode : 
insertMultiTabletsNode.getInsertTabletNodeList()) {
       DataPartitionQueryParam dataPartitionQueryParam = new 
DataPartitionQueryParam();
       dataPartitionQueryParam.setDeviceID(
-          insertTabletNode.getDevicePath().getIDeviceIDAsFullDevice());
+          insertTabletNode.getTargetPath().getIDeviceIDAsFullDevice());
       
dataPartitionQueryParam.setTimePartitionSlotList(insertTabletNode.getTimePartitionSlots());
       dataPartitionQueryParams.add(dataPartitionQueryParam);
     }
@@ -293,12 +293,12 @@ public class WritePlanNodeSplitTest {
 
     for (int i = 0; i < 7; i++) {
       InsertRowNode insertRowNode = new InsertRowNode(new PlanNodeId("plan 
node 3"));
-      insertRowNode.setDevicePath(new 
PartialPath(String.format("root.sg1.d%d", i)));
+      insertRowNode.setTargetPath(new 
PartialPath(String.format("root.sg1.d%d", i)));
       insertRowNode.setTime((i - 2) * 
TimePartitionUtils.getTimePartitionInterval());
       insertRowsNode.addOneInsertRowNode(insertRowNode, 2 * i);
 
       insertRowNode = new InsertRowNode(new PlanNodeId("plan node 3"));
-      insertRowNode.setDevicePath(new 
PartialPath(String.format("root.sg2.d%d", i)));
+      insertRowNode.setTargetPath(new 
PartialPath(String.format("root.sg2.d%d", i)));
       insertRowNode.setTime(1);
       insertRowsNode.addOneInsertRowNode(insertRowNode, 2 * i + 1);
     }
@@ -306,7 +306,7 @@ public class WritePlanNodeSplitTest {
     List<DataPartitionQueryParam> dataPartitionQueryParams = new ArrayList<>();
     for (InsertRowNode insertRowNode : insertRowsNode.getInsertRowNodeList()) {
       DataPartitionQueryParam dataPartitionQueryParam = new 
DataPartitionQueryParam();
-      
dataPartitionQueryParam.setDeviceID(insertRowNode.getDevicePath().getIDeviceIDAsFullDevice());
+      
dataPartitionQueryParam.setDeviceID(insertRowNode.getTargetPath().getIDeviceIDAsFullDevice());
       
dataPartitionQueryParam.setTimePartitionSlotList(insertRowNode.getTimePartitionSlots());
       dataPartitionQueryParams.add(dataPartitionQueryParam);
     }
@@ -332,7 +332,7 @@ public class WritePlanNodeSplitTest {
     long[] times = new long[] {1, 60, 120, 180, 270, 290, 360, 375, 440, 470};
     for (int i = 0; i < 10; i++) {
       InsertRowNode insertRowNode = new InsertRowNode(new PlanNodeId("plan 
node 4"));
-      insertRowNode.setDevicePath(new PartialPath("root.sg1.d1"));
+      insertRowNode.setTargetPath(new PartialPath("root.sg1.d1"));
       insertRowNode.setMeasurements(new String[] {"s1"});
       insertRowNode.setDataTypes(new TSDataType[] {TSDataType.INT32});
       insertRowNode.setTime(times[i]);
@@ -345,7 +345,7 @@ public class WritePlanNodeSplitTest {
     List<DataPartitionQueryParam> dataPartitionQueryParams = new ArrayList<>();
     for (InsertRowNode insertRowNode : 
insertRowsOfOneDeviceNode.getInsertRowNodeList()) {
       DataPartitionQueryParam dataPartitionQueryParam = new 
DataPartitionQueryParam();
-      
dataPartitionQueryParam.setDeviceID(insertRowNode.getDevicePath().getIDeviceIDAsFullDevice());
+      
dataPartitionQueryParam.setDeviceID(insertRowNode.getTargetPath().getIDeviceIDAsFullDevice());
       
dataPartitionQueryParam.setTimePartitionSlotList(insertRowNode.getTimePartitionSlots());
       dataPartitionQueryParams.add(dataPartitionQueryParam);
     }
@@ -369,7 +369,7 @@ public class WritePlanNodeSplitTest {
     insertRowNodeIndexList = new ArrayList<>();
     for (int i = 0; i < 10; i++) {
       InsertRowNode insertRowNode = new InsertRowNode(new PlanNodeId("plan 
node 5"));
-      insertRowNode.setDevicePath(new PartialPath("root.sg2.d1"));
+      insertRowNode.setTargetPath(new PartialPath("root.sg2.d1"));
       insertRowNode.setMeasurements(new String[] {"s1"});
       insertRowNode.setDataTypes(new TSDataType[] {TSDataType.INT32});
       insertRowNode.setTime(times[i]);
@@ -382,7 +382,7 @@ public class WritePlanNodeSplitTest {
     dataPartitionQueryParams = new ArrayList<>();
     for (InsertRowNode insertRowNode : 
insertRowsOfOneDeviceNode.getInsertRowNodeList()) {
       DataPartitionQueryParam dataPartitionQueryParam = new 
DataPartitionQueryParam();
-      
dataPartitionQueryParam.setDeviceID(insertRowNode.getDevicePath().getIDeviceIDAsFullDevice());
+      
dataPartitionQueryParam.setDeviceID(insertRowNode.getTargetPath().getIDeviceIDAsFullDevice());
       
dataPartitionQueryParam.setTimePartitionSlotList(insertRowNode.getTimePartitionSlots());
       dataPartitionQueryParams.add(dataPartitionQueryParam);
     }
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/ConsensusReqReaderTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/ConsensusReqReaderTest.java
index 3f3a4ff7987..ca102ef8cf5 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/ConsensusReqReaderTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/ConsensusReqReaderTest.java
@@ -114,7 +114,7 @@ public class ConsensusReqReaderTest {
     walNode.log(0, insertRowNode); // 3
     walNode.rollWALFile();
     // _3-3-1.wal
-    insertRowNode.setDevicePath(new PartialPath(devicePath + "test"));
+    insertRowNode.setTargetPath(new PartialPath(devicePath + "test"));
     walNode.log(0, insertRowNode); // 3
     insertTabletNode = getInsertTabletNode(devicePath, new long[] {4});
     insertTabletNode.setSearchIndex(4);

Reply via email to