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

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

commit 1453dd0a0bb8c8647ca5da8b9b9f547c0e05b258
Author: HTHou <[email protected]>
AuthorDate: Thu Feb 13 10:27:59 2025 +0800

    Check time precision for negative timestamp
---
 .../org/apache/iotdb/db/utils/TimestampPrecisionUtils.java     |  4 ++--
 .../org/apache/iotdb/db/utils/TimestampPrecisionUtilsTest.java | 10 ++++++++++
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/TimestampPrecisionUtils.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/TimestampPrecisionUtils.java
index 768d0030e96..676a5023782 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/TimestampPrecisionUtils.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/TimestampPrecisionUtils.java
@@ -70,7 +70,7 @@ public class TimestampPrecisionUtils {
     }
     switch (TIMESTAMP_PRECISION) {
       case "ms":
-        if (time > 10_000_000_000_000L) {
+        if (time > 10_000_000_000_000L || time < -10_000_000_000_000L) {
           throw new SemanticException(
               String.format(
                   "Current system timestamp precision is %s, "
@@ -79,7 +79,7 @@ public class TimestampPrecisionUtils {
         }
         break;
       case "us":
-        if (time > 10_000_000_000_000_000L) {
+        if (time > 10_000_000_000_000_000L || time < -10_000_000_000_000L) {
           throw new SemanticException(
               String.format(
                   "Current system timestamp precision is %s, "
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/TimestampPrecisionUtilsTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/TimestampPrecisionUtilsTest.java
index 87585cc663f..7c7893e49af 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/TimestampPrecisionUtilsTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/TimestampPrecisionUtilsTest.java
@@ -45,6 +45,11 @@ public class TimestampPrecisionUtilsTest {
       fail();
     } catch (Exception ignored) {
     }
+    try {
+      TimestampPrecisionUtils.checkTimestampPrecision(-1694689856546000L);
+      fail();
+    } catch (Exception ignored) {
+    }
   }
 
   @Test
@@ -68,6 +73,11 @@ public class TimestampPrecisionUtilsTest {
       fail();
     } catch (Exception ignored) {
     }
+    try {
+      TimestampPrecisionUtils.checkTimestampPrecision(-1694689856546000000L);
+      fail();
+    } catch (Exception ignored) {
+    }
   }
 
   @Test

Reply via email to