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

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

commit 8d6985e0d9558935af42ad60593b7a5e3c7e5ae7
Author: HTHou <[email protected]>
AuthorDate: Mon Nov 1 10:52:54 2021 +0800

    fix more insert bugs
---
 .../iotdb/db/engine/memtable/AbstractMemTable.java |  6 ++---
 .../apache/iotdb/db/engine/memtable/IMemTable.java |  2 +-
 .../db/engine/memtable/IWritableMemChunk.java      |  5 ++--
 .../db/engine/memtable/VectorWritableMemChunk.java | 29 ++++++++++++----------
 .../iotdb/db/engine/memtable/WritableMemChunk.java |  4 +--
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  | 12 ---------
 .../iotdb/db/qp/physical/crud/InsertPlan.java      | 15 -----------
 .../iotdb/db/qp/physical/crud/InsertRowPlan.java   | 12 ++-------
 .../db/qp/physical/crud/InsertTabletPlan.java      | 12 ++-------
 .../iotdb/db/writelog/recover/LogReplayer.java     | 15 +----------
 .../db/engine/memtable/MemTableFlushTaskTest.java  | 16 ++++++------
 .../db/engine/memtable/MemTableTestUtils.java      | 12 +++++----
 .../db/engine/memtable/PrimitiveMemTableTest.java  | 14 ++++++-----
 .../iotdb/db/qp/physical/InsertRowPlanTest.java    |  2 +-
 14 files changed, 53 insertions(+), 103 deletions(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
index 687e226..21c07e9 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
@@ -234,9 +234,9 @@ public abstract class AbstractMemTable implements IMemTable 
{
 
   @Override
   public void writeAlignedRow(
-      String deviceId, IMeasurementSchema schema, long insertTime, Object 
objectValue) {
+      String deviceId, IMeasurementSchema schema, long insertTime, Object[] 
objectValue) {
     IWritableMemChunk memSeries = 
createVectorMemChunkIfNotExistAndGet(deviceId, schema);
-    memSeries.write(insertTime, objectValue);
+    memSeries.writeVector(insertTime, objectValue, schema);
   }
 
   @SuppressWarnings("squid:S3776") // high Cognitive Complexity
@@ -289,9 +289,9 @@ public abstract class AbstractMemTable implements IMemTable 
{
             insertTabletPlan.getPrefixPath().getFullPath(), vectorSchema);
     memSeries.writeVector(
         insertTabletPlan.getTimes(),
-        insertTabletPlan.getMeasurements(),
         insertTabletPlan.getColumns(),
         insertTabletPlan.getBitMaps(),
+        vectorSchema,
         start,
         end);
   }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/memtable/IMemTable.java 
b/server/src/main/java/org/apache/iotdb/db/engine/memtable/IMemTable.java
index b1d9f2e..afa9903 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/memtable/IMemTable.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/memtable/IMemTable.java
@@ -47,7 +47,7 @@ public interface IMemTable {
   void write(String deviceId, IMeasurementSchema schema, long insertTime, 
Object objectValue);
 
   void writeAlignedRow(
-      String deviceId, IMeasurementSchema schema, long insertTime, Object 
objectValue);
+      String deviceId, IMeasurementSchema schema, long insertTime, Object[] 
objectValue);
   /**
    * write data in the range [start, end). Null value in each column values 
will be replaced by the
    * subsequent non-null value, e.g., {1, null, 3, null, 5} will be {1, 3, 5, 
null, 5}
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/memtable/IWritableMemChunk.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/memtable/IWritableMemChunk.java
index 42e678b..8aa8b45 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/memtable/IWritableMemChunk.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/memtable/IWritableMemChunk.java
@@ -24,7 +24,6 @@ import org.apache.iotdb.tsfile.utils.Binary;
 import org.apache.iotdb.tsfile.utils.BitMap;
 import org.apache.iotdb.tsfile.write.chunk.IChunkWriter;
 import org.apache.iotdb.tsfile.write.schema.IMeasurementSchema;
-
 import java.util.List;
 
 public interface IWritableMemChunk {
@@ -59,7 +58,7 @@ public interface IWritableMemChunk {
 
   void write(long insertTime, Object objectValue);
 
-  void writeVector(long insertTime, String[] measurements, Object[] 
objectValue);
+  void writeVector(long insertTime, Object[] objectValue, IMeasurementSchema 
schema);
 
   /**
    * write data in the range [start, end). Null value in the valueList will be 
replaced by the
@@ -70,9 +69,9 @@ public interface IWritableMemChunk {
 
   void writeVector(
       long[] times,
-      String[] measurements,
       Object[] valueList,
       BitMap[] bitMaps,
+      IMeasurementSchema schema,
       int start,
       int end);
 
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/memtable/VectorWritableMemChunk.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/memtable/VectorWritableMemChunk.java
index 9ceb1bd..61f3d35 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/memtable/VectorWritableMemChunk.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/memtable/VectorWritableMemChunk.java
@@ -10,7 +10,7 @@ import org.apache.iotdb.tsfile.utils.BitMap;
 import org.apache.iotdb.tsfile.write.chunk.IChunkWriter;
 import org.apache.iotdb.tsfile.write.chunk.VectorChunkWriterImpl;
 import org.apache.iotdb.tsfile.write.schema.IMeasurementSchema;
-
+import org.apache.iotdb.tsfile.write.schema.VectorMeasurementSchema;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -113,8 +113,8 @@ public class VectorWritableMemChunk implements 
IWritableMemChunk {
   }
 
   @Override
-  public void writeVector(long insertTime, String[] measurementIds, Object[] 
objectValue) {
-    int[] columnOrder = checkColumnOrder(measurementIds);
+  public void writeVector(long insertTime, Object[] objectValue, 
IMeasurementSchema schema) {
+    int[] columnOrder = checkColumnOrder(schema);
     putVector(insertTime, objectValue, columnOrder);
   }
 
@@ -127,19 +127,21 @@ public class VectorWritableMemChunk implements 
IWritableMemChunk {
   @Override
   public void writeVector(
       long[] times,
-      String[] measurementIds,
       Object[] valueList,
       BitMap[] bitMaps,
+      IMeasurementSchema schema,
       int start,
       int end) {
-    int[] columnOrder = checkColumnOrder(measurementIds);
+    int[] columnOrder = checkColumnOrder(schema);
     putVectors(times, valueList, bitMaps, columnOrder, start, end);
   }
 
-  private int[] checkColumnOrder(String[] measurementIds) {
-    int[] columnOrder = new int[measurementIds.length];
-    for (int i = 0; i < measurementIds.length; i++) {
-      columnOrder[i] = vectorIdIndexMap.get(measurementIds[i]);
+  private int[] checkColumnOrder(IMeasurementSchema schema) {
+    VectorMeasurementSchema vectorSchema = (VectorMeasurementSchema) schema;
+    List<String> measurementIdList = vectorSchema.getSubMeasurementsList();
+    int[] columnOrder = new int[measurementIdList.size()];
+    for (int i = 0; i < measurementIdList.size(); i++) {
+      columnOrder[i] = vectorIdIndexMap.get(measurementIdList.get(i));
     }
     return columnOrder;
   }
@@ -151,14 +153,15 @@ public class VectorWritableMemChunk implements 
IWritableMemChunk {
 
   @Override
   public IMeasurementSchema getSchema() {
-    // TODO Auto-generated method stub
-    return null;
+    return schema;
   }
 
   @Override
   public TVList getSortedTvListForQuery() {
-    // TODO Auto-generated method stub
-    return null;
+    sortTVList();
+    // increase reference count
+    list.increaseReferenceCount();
+    return list;
   }
 
   @Override
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/memtable/WritableMemChunk.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/memtable/WritableMemChunk.java
index 201391f..4bfcee5 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/memtable/WritableMemChunk.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/memtable/WritableMemChunk.java
@@ -72,7 +72,7 @@ public class WritableMemChunk implements IWritableMemChunk {
   }
 
   @Override
-  public void writeVector(long insertTime, String[] measurementIds, Object[] 
objectValue) {
+  public void writeVector(long insertTime, Object[] objectValue, 
IMeasurementSchema schema) {
     throw new UnSupportedDataTypeException(UNSUPPORTED_TYPE + 
list.getDataType());
   }
 
@@ -112,9 +112,9 @@ public class WritableMemChunk implements IWritableMemChunk {
   @Override
   public void writeVector(
       long[] times,
-      String[] measurements,
       Object[] valueList,
       BitMap[] bitMaps,
+      IMeasurementSchema schema,
       int start,
       int end) {
     throw new UnSupportedDataTypeException(UNSUPPORTED_TYPE + 
list.getDataType());
diff --git 
a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java 
b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
index 5327b64..e87ba8a 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
@@ -1360,10 +1360,6 @@ public class PlanExecutor implements IPlanExecutor {
         plan.setMeasurementMNodes(new 
IMeasurementMNode[plan.getMeasurements().length]);
         // check whether types are match
         getSeriesSchemas(plan);
-        // we do not need to infer data type for insertRowsOfOneDevicePlan
-        if (plan.isAligned()) {
-          
plan.setPrefixPathForAlignTimeSeries(plan.getPrefixPath().getDevicePath());
-        }
       }
       // ok, we can begin to write data into the engine..
       StorageEngine.getInstance().insert(insertRowsOfOneDevicePlan);
@@ -1448,10 +1444,6 @@ public class PlanExecutor implements IPlanExecutor {
       }
       // check whether types are match
       getSeriesSchemas(insertRowPlan);
-      if (insertRowPlan.isAligned()) {
-        insertRowPlan.setPrefixPathForAlignTimeSeries(
-            insertRowPlan.getPrefixPath().getDevicePath());
-      }
       insertRowPlan.transferType();
       StorageEngine.getInstance().insert(insertRowPlan);
       if (insertRowPlan.getFailedMeasurements() != null) {
@@ -1501,10 +1493,6 @@ public class PlanExecutor implements IPlanExecutor {
       insertTabletPlan.setMeasurementMNodes(
           new IMeasurementMNode[insertTabletPlan.getMeasurements().length]);
       getSeriesSchemas(insertTabletPlan);
-      if (insertTabletPlan.isAligned()) {
-        insertTabletPlan.setPrefixPathForAlignTimeSeries(
-            insertTabletPlan.getPrefixPath().getDevicePath());
-      }
       StorageEngine.getInstance().insertTablet(insertTabletPlan);
       if (insertTabletPlan.getFailedMeasurements() != null) {
         checkFailedMeasurments(insertTabletPlan);
diff --git 
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java 
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
index 7e47c98..43a57da 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
@@ -33,7 +33,6 @@ import java.util.List;
 public abstract class InsertPlan extends PhysicalPlan {
 
   protected PartialPath prefixPath;
-  protected PartialPath originalPrefixPath;
   protected boolean isAligned;
   protected String[] measurements;
   // get from client
@@ -59,14 +58,6 @@ public abstract class InsertPlan extends PhysicalPlan {
     this.prefixPath = prefixPath;
   }
 
-  /*
-  the original prefixPath needs to be recorded and recovered by 
recoverFromFailure because cluster may try to execute this plan twice
-   */
-  public void setPrefixPathForAlignTimeSeries(PartialPath prefixPath) {
-    this.originalPrefixPath = this.prefixPath;
-    this.prefixPath = prefixPath;
-  }
-
   public String[] getMeasurements() {
     return this.measurements;
   }
@@ -153,9 +144,6 @@ public abstract class InsertPlan extends PhysicalPlan {
    * @return the plan itself, with measurements replaced with the previously 
failed ones.
    */
   public InsertPlan getPlanFromFailed() {
-    if (isAligned && originalPrefixPath != null) {
-      prefixPath = originalPrefixPath;
-    }
     if (failedMeasurements == null) {
       return null;
     }
@@ -183,9 +171,6 @@ public abstract class InsertPlan extends PhysicalPlan {
 
   /** Reset measurements from failed measurements (if any), as if no failure 
had ever happened. */
   public void recoverFromFailure() {
-    if (isAligned && originalPrefixPath != null) {
-      prefixPath = originalPrefixPath;
-    }
     if (failedMeasurements == null) {
       return;
     }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowPlan.java 
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowPlan.java
index c4ee4df..3907c16 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowPlan.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowPlan.java
@@ -340,11 +340,7 @@ public class InsertRowPlan extends InsertPlan {
 
   public void subSerialize(DataOutputStream stream) throws IOException {
     stream.writeLong(time);
-    if (isAligned && originalPrefixPath != null) {
-      putString(stream, originalPrefixPath.getFullPath());
-    } else {
-      putString(stream, prefixPath.getFullPath());
-    }
+    putString(stream, prefixPath.getFullPath());
     serializeMeasurementsAndValues(stream);
   }
 
@@ -495,11 +491,7 @@ public class InsertRowPlan extends InsertPlan {
 
   public void subSerialize(ByteBuffer buffer) {
     buffer.putLong(time);
-    if (isAligned && originalPrefixPath != null) {
-      putString(buffer, originalPrefixPath.getFullPath());
-    } else {
-      putString(buffer, prefixPath.getFullPath());
-    }
+    putString(buffer, prefixPath.getFullPath());
     serializeMeasurementsAndValues(buffer);
   }
 
diff --git 
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java
 
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java
index b51a396..382deaf 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java
@@ -160,11 +160,7 @@ public class InsertTabletPlan extends InsertPlan {
   }
 
   public void subSerialize(DataOutputStream stream) throws IOException {
-    if (isAligned && originalPrefixPath != null) {
-      putString(stream, originalPrefixPath.getFullPath());
-    } else {
-      putString(stream, prefixPath.getFullPath());
-    }
+    putString(stream, prefixPath.getFullPath());
     writeMeasurements(stream);
     writeDataTypes(stream);
     writeTimes(stream);
@@ -258,11 +254,7 @@ public class InsertTabletPlan extends InsertPlan {
   }
 
   public void subSerialize(ByteBuffer buffer) {
-    if (isAligned && originalPrefixPath != null) {
-      putString(buffer, originalPrefixPath.getFullPath());
-    } else {
-      putString(buffer, prefixPath.getFullPath());
-    }
+    putString(buffer, prefixPath.getFullPath());
     writeMeasurements(buffer);
     writeDataTypes(buffer);
     writeTimes(buffer);
diff --git 
a/server/src/main/java/org/apache/iotdb/db/writelog/recover/LogReplayer.java 
b/server/src/main/java/org/apache/iotdb/db/writelog/recover/LogReplayer.java
index 0c5184b..65ad4c4 100644
--- a/server/src/main/java/org/apache/iotdb/db/writelog/recover/LogReplayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/writelog/recover/LogReplayer.java
@@ -191,10 +191,6 @@ public class LogReplayer {
     }
     // set measurementMNodes, WAL already serializes the real data type, so no 
need to infer type
     plan.setMeasurementMNodes(mNodes);
-
-    if (plan.isAligned()) {
-      
plan.setPrefixPathForAlignTimeSeries(plan.getPrefixPath().getDevicePath());
-    }
     // mark failed plan manually
     checkDataTypeAndMarkFailed(mNodes, plan);
     if (plan instanceof InsertRowPlan) {
@@ -214,20 +210,11 @@ public class LogReplayer {
                 tPlan.getPrefixPath().getFullPath()
                     + IoTDBConstant.PATH_SEPARATOR
                     + tPlan.getMeasurements()[i]));
-      } else if (!tPlan.isAligned() && mNodes[i].getSchema().getType() != 
tPlan.getDataTypes()[i]) {
+      } else if (mNodes[i].getSchema().getType() != tPlan.getDataTypes()[i]) {
         tPlan.markFailedMeasurementInsertion(
             i,
             new DataTypeMismatchException(
                 mNodes[i].getName(), tPlan.getDataTypes()[i], 
mNodes[i].getSchema().getType()));
-      } else if (tPlan.isAligned()
-          && mNodes[i].getSchema().getSubMeasurementsTSDataTypeList().get(i)
-              != tPlan.getDataTypes()[i]) {
-        tPlan.markFailedMeasurementInsertion(
-            i,
-            new DataTypeMismatchException(
-                mNodes[i].getName() + "." + 
mNodes[i].getSchema().getSubMeasurementsList().get(i),
-                tPlan.getDataTypes()[i],
-                
mNodes[i].getSchema().getSubMeasurementsTSDataTypeList().get(i)));
       }
     }
   }
diff --git 
a/server/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskTest.java
 
b/server/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskTest.java
index d682c2f..cc158c9 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskTest.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskTest.java
@@ -112,7 +112,7 @@ public class MemTableFlushTaskTest {
     assertTrue(
         writer
             .getVisibleMetadataList(
-                MemTableTestUtils.deviceId0, "vectorName.sensor0", 
TSDataType.BOOLEAN)
+                MemTableTestUtils.deviceId0, "sensor0", TSDataType.BOOLEAN)
             .isEmpty());
     memTableFlushTask.syncFlushMemTable();
     writer.makeMetadataVisible();
@@ -120,14 +120,14 @@ public class MemTableFlushTaskTest {
         1,
         writer
             .getVisibleMetadataList(
-                MemTableTestUtils.deviceId0, "vectorName.sensor0", 
TSDataType.BOOLEAN)
+                MemTableTestUtils.deviceId0, "sensor0", TSDataType.BOOLEAN)
             .size());
     ChunkMetadata chunkMetaData =
         writer
             .getVisibleMetadataList(
-                MemTableTestUtils.deviceId0, "vectorName.sensor0", 
TSDataType.BOOLEAN)
+                MemTableTestUtils.deviceId0, "sensor0", TSDataType.BOOLEAN)
             .get(0);
-    assertEquals("vectorName.sensor0", chunkMetaData.getMeasurementUid());
+    assertEquals("sensor0", chunkMetaData.getMeasurementUid());
     assertEquals(startTime, chunkMetaData.getStartTime());
     assertEquals(endTime, chunkMetaData.getEndTime());
     assertEquals(TSDataType.BOOLEAN, chunkMetaData.getDataType());
@@ -142,7 +142,7 @@ public class MemTableFlushTaskTest {
     assertTrue(
         writer
             .getVisibleMetadataList(
-                MemTableTestUtils.deviceId0, "vectorName.sensor0", 
TSDataType.BOOLEAN)
+                MemTableTestUtils.deviceId0, "sensor0", TSDataType.BOOLEAN)
             .isEmpty());
     memTableFlushTask.syncFlushMemTable();
     writer.makeMetadataVisible();
@@ -150,14 +150,14 @@ public class MemTableFlushTaskTest {
         1,
         writer
             .getVisibleMetadataList(
-                MemTableTestUtils.deviceId0, "vectorName.sensor0", 
TSDataType.BOOLEAN)
+                MemTableTestUtils.deviceId0, "sensor0", TSDataType.BOOLEAN)
             .size());
     ChunkMetadata chunkMetaData =
         writer
             .getVisibleMetadataList(
-                MemTableTestUtils.deviceId0, "vectorName.sensor0", 
TSDataType.BOOLEAN)
+                MemTableTestUtils.deviceId0, "sensor0", TSDataType.BOOLEAN)
             .get(0);
-    assertEquals("vectorName.sensor0", chunkMetaData.getMeasurementUid());
+    assertEquals("sensor0", chunkMetaData.getMeasurementUid());
     assertEquals(startTime, chunkMetaData.getStartTime());
     assertEquals(endTime, chunkMetaData.getEndTime());
     assertEquals(TSDataType.BOOLEAN, chunkMetaData.getDataType());
diff --git 
a/server/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableTestUtils.java
 
b/server/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableTestUtils.java
index 558d5ed..8cfffb5 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableTestUtils.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableTestUtils.java
@@ -90,14 +90,16 @@ public class MemTableTestUtils {
     encodings[1] = TSEncoding.GORILLA;
 
     IMeasurementMNode[] mNodes = new IMeasurementMNode[2];
-    IMeasurementSchema schema =
-        new VectorMeasurementSchema("vectorName", measurements, dataTypes, 
encodings);
-    mNodes[0] = MeasurementMNode.getMeasurementMNode(null, "sensor0", schema, 
null);
-    mNodes[1] = MeasurementMNode.getMeasurementMNode(null, "sensor1", schema, 
null);
+    IMeasurementSchema schema0 =
+        new UnaryMeasurementSchema(measurements[0], dataTypes[0], 
encodings[0]);
+    IMeasurementSchema schema1 =
+        new UnaryMeasurementSchema(measurements[1], dataTypes[1], 
encodings[1]);
+    mNodes[0] = MeasurementMNode.getMeasurementMNode(null, "sensor0", schema0, 
null);
+    mNodes[1] = MeasurementMNode.getMeasurementMNode(null, "sensor1", schema1, 
null);
 
     InsertTabletPlan insertTabletPlan =
         new InsertTabletPlan(
-            new PartialPath(deviceId0), new String[] {"(sensor0,sensor1)"}, 
dataTypesList);
+            new PartialPath(deviceId0), measurements, dataTypesList);
 
     insertTabletPlan.setAligned(true);
 
diff --git 
a/server/src/test/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTableTest.java
 
b/server/src/test/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTableTest.java
index 1ee2c61..4273086 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTableTest.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTableTest.java
@@ -343,17 +343,19 @@ public class PrimitiveMemTableTest {
     encodings[0] = TSEncoding.PLAIN;
     encodings[1] = TSEncoding.GORILLA;
 
-    String deviceId = "root.sg.device5";
+    String deviceId = "root.sg.vectorDevice5";
 
     IMeasurementMNode[] mNodes = new IMeasurementMNode[2];
-    IMeasurementSchema schema =
-        new VectorMeasurementSchema("$#$0", measurements, dataTypes, 
encodings);
-    mNodes[0] = MeasurementMNode.getMeasurementMNode(null, "sensor0", schema, 
null);
-    mNodes[1] = MeasurementMNode.getMeasurementMNode(null, "sensor1", schema, 
null);
+    IMeasurementSchema schema0 =
+        new UnaryMeasurementSchema(measurements[0], dataTypes[0], 
encodings[0]);
+    IMeasurementSchema schema1 =
+        new UnaryMeasurementSchema(measurements[1], dataTypes[1], 
encodings[1]);
+    mNodes[0] = MeasurementMNode.getMeasurementMNode(null, "sensor0", schema0, 
null);
+    mNodes[1] = MeasurementMNode.getMeasurementMNode(null, "sensor1", schema1, 
null);
 
     InsertTabletPlan insertTabletPlan =
         new InsertTabletPlan(
-            new PartialPath(deviceId), new String[] {"(sensor0,sensor1)"}, 
dataTypesList);
+            new PartialPath(deviceId), measurements, dataTypesList);
 
     long[] times = new long[100];
     Object[] columns = new Object[2];
diff --git 
a/server/src/test/java/org/apache/iotdb/db/qp/physical/InsertRowPlanTest.java 
b/server/src/test/java/org/apache/iotdb/db/qp/physical/InsertRowPlanTest.java
index 07db55d..3bc2148 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/qp/physical/InsertRowPlanTest.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/qp/physical/InsertRowPlanTest.java
@@ -120,7 +120,7 @@ public class InsertRowPlanTest {
     executor.insert(vectorRowPlan);
 
     Assert.assertEquals(
-        "[vector, vector, vector]", 
Arrays.toString(vectorRowPlan.getMeasurementMNodes()));
+        "[s1, s2, s3]", Arrays.toString(vectorRowPlan.getMeasurementMNodes()));
 
     QueryPlan queryPlan =
         (QueryPlan) processor.parseSQLToPhysicalPlan("select * from 
root.isp.d1.vector");

Reply via email to