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

jackietien pushed a commit to branch ty/linearfill
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/ty/linearfill by this push:
     new 34feb5299df Fix uncorrect implementation in FILL(LINEAR)
34feb5299df is described below

commit 34feb5299df3b65fd1c7f2f410e9a3bc9321300e
Author: JackieTien97 <[email protected]>
AuthorDate: Tue Mar 19 19:37:41 2024 +0800

    Fix uncorrect implementation in FILL(LINEAR)
---
 .../alignbydevice/IoTDBOrderByLimitOffsetAlignByDeviceIT.java |  2 +-
 .../org/apache/iotdb/db/it/query/IoTDBNullValueFillIT.java    |  8 ++++----
 .../db/storageengine/dataregion/memtable/PlainDeviceID.java   | 11 +++++++++++
 3 files changed, 16 insertions(+), 5 deletions(-)

diff --git 
a/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBOrderByLimitOffsetAlignByDeviceIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBOrderByLimitOffsetAlignByDeviceIT.java
index e2de3d28ecb..a595c5a96cb 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBOrderByLimitOffsetAlignByDeviceIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBOrderByLimitOffsetAlignByDeviceIT.java
@@ -105,7 +105,7 @@ public class IoTDBOrderByLimitOffsetAlignByDeviceIT {
           "1,root.fill.d1,1,null,",
           "1,root.fill.d2,2,null,",
           "1,root.fill.d3,3,null,",
-          "2,root.fill.d1,12,11.0,",
+          "2,root.fill.d1,22,11.0,",
         };
     resultSetEqualTest(
         "select * from root.fill.** order by time fill(linear) limit 4 align 
by device;",
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullValueFillIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullValueFillIT.java
index 36cc6918450..3ca0d6bef6b 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullValueFillIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullValueFillIT.java
@@ -234,15 +234,15 @@ public class IoTDBNullValueFillIT {
           "3,root.sg1.d1,3,3,3.0,3.0,false,null,",
           "4,root.sg1.d1,4,4,4.0,4.0,null,t4,",
           "5,root.sg1.d1,5,5,5.0,5.0,false,t5,",
-          "6,root.sg1.d1,6,6,6.5,6.0,null,t6,",
+          "6,root.sg1.d1,6,6,6.0,6.0,null,t6,",
           "8,root.sg1.d1,8,8,8.0,8.0,true,t8,",
-          "9,root.sg1.d1,9,5,9.0,5.0,true,null,",
-          "1,root.sg1.d2,1,5,1.0,5.0,true,null,",
+          "9,root.sg1.d1,9,9,9.0,9.0,true,null,",
+          "1,root.sg1.d2,1,1,1.0,1.0,true,null,",
           "2,root.sg1.d2,2,2,2.0,2.0,true,t2,",
           "3,root.sg1.d2,3,3,3.0,3.0,null,t3,",
           "4,root.sg1.d2,4,4,4.0,4.0,false,null,",
           "5,root.sg1.d2,5,5,5.0,5.0,false,t5,",
-          "6,root.sg1.d2,6,6,6.0,6.5,false,null,",
+          "6,root.sg1.d2,6,6,6.0,6.0,false,null,",
           "8,root.sg1.d2,8,8,8.0,8.0,true,t8,",
           "9,root.sg1.d2,null,9,null,9.0,null,t9,"
         };
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/PlainDeviceID.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/PlainDeviceID.java
index 92ae51870a3..75963b2b88a 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/PlainDeviceID.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/PlainDeviceID.java
@@ -19,13 +19,20 @@
 
 package org.apache.iotdb.db.storageengine.dataregion.memtable;
 
+import org.apache.iotdb.tsfile.utils.RamUsageEstimator;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
+import static org.apache.iotdb.tsfile.utils.RamUsageEstimator.sizeOfCharArray;
+
 /** Using device id path as id. */
 public class PlainDeviceID implements IDeviceID {
+
+  private static final long INSTANCE_SIZE =
+      RamUsageEstimator.shallowSizeOfInstance(PlainDeviceID.class)
+          + RamUsageEstimator.shallowSizeOfInstance(String.class);
   String deviceID;
 
   public PlainDeviceID(String deviceID) {
@@ -64,6 +71,10 @@ public class PlainDeviceID implements IDeviceID {
     ReadWriteIOUtils.write(deviceID, byteBuffer);
   }
 
+  public long getRetainedSizeInBytes() {
+    return INSTANCE_SIZE + sizeOfCharArray(deviceID.length());
+  }
+
   public static PlainDeviceID deserialize(ByteBuffer byteBuffer) {
     return new PlainDeviceID(ReadWriteIOUtils.readString(byteBuffer));
   }

Reply via email to