You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2022/11/15 03:55:32 UTC

[iotdb] branch master updated: Resolve some TODO in ITs (#7981)

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

haonan 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 09ab7fae87 Resolve some TODO in ITs (#7981)
09ab7fae87 is described below

commit 09ab7fae871ddd7d5ff718cc79be8de75c3ba47c
Author: Jackie Tien <ja...@gmail.com>
AuthorDate: Tue Nov 15 11:55:25 2022 +0800

    Resolve some TODO in ITs (#7981)
    
    Co-authored-by: Haonan <hh...@outlook.com>
---
 .../apache/iotdb/db/it/IoTDBFilterBetweenIT.java   |  3 +-
 .../org/apache/iotdb/db/it/IoTDBFilterNullIT.java  |  3 +-
 .../it/aggregation/IoTDBAggregationByLevelIT.java  |  2 -
 .../db/it/aggregation/IoTDBAggregationIT.java      |  1 -
 .../aggregation/IoTDBAggregationSmallDataIT.java   | 21 -----
 .../aligned/IoTDBAggregationWithDeletion2IT.java   |  4 +-
 .../it/aligned/IoTDBAggregationWithDeletionIT.java |  7 +-
 .../db/it/aligned/IoTDBAlignedLastQuery2IT.java    |  4 +-
 .../db/it/aligned/IoTDBAlignedLastQuery3IT.java    |  4 +-
 .../db/it/aligned/IoTDBAlignedLastQueryIT.java     |  4 +-
 .../db/it/aligned/IoTDBAlignedSeriesQueryIT.java   | 89 ----------------------
 ...GroupByQueryWithValueFilterWithDeletion2IT.java |  4 +-
 ...BGroupByQueryWithValueFilterWithDeletionIT.java |  4 +-
 ...upByQueryWithoutValueFilterWithDeletion2IT.java |  4 +-
 ...oupByQueryWithoutValueFilterWithDeletionIT.java |  4 +-
 .../it/aligned/IoTDBLastQueryWithDeletion2IT.java  |  8 +-
 .../it/aligned/IoTDBLastQueryWithDeletionIT.java   |  8 +-
 .../aligned/IoTDBLastQueryWithoutLastCache2IT.java |  4 +-
 .../aligned/IoTDBLastQueryWithoutLastCacheIT.java  |  4 +-
 ...DBLastQueryWithoutLastCacheWithDeletion2IT.java |  8 +-
 ...TDBLastQueryWithoutLastCacheWithDeletionIT.java |  8 +-
 ...BRawQueryWithoutValueFilterWithDeletion2IT.java |  3 +-
 ...DBRawQueryWithoutValueFilterWithDeletionIT.java | 18 +----
 .../apache/iotdb/db/it/groupby/IoTDBHavingIT.java  |  3 +-
 .../iotdb/db/it/query/IoTDBNullOperandIT.java      |  3 +-
 .../iotdb/db/it/query/IoTDBNullValueFillIT.java    |  3 +-
 .../iotdb/db/it/selectinto/IoTDBSelectInto2IT.java |  4 +-
 .../iotdb/db/it/selectinto/IoTDBSelectInto3IT.java |  4 +-
 .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java  |  4 +-
 .../db/it/trigger/IoTDBTriggerExecutionIT.java     |  4 +-
 .../iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java    |  1 -
 .../db/it/withoutNull/IoTDBWithoutAllNullIT.java   | 15 ++--
 .../db/it/withoutNull/IoTDBWithoutAnyNullIT.java   |  3 +-
 .../withoutNull/IoTDBWithoutNullAllFilterIT.java   |  3 +-
 .../withoutNull/IoTDBWithoutNullAnyFilterIT.java   |  3 +-
 35 files changed, 65 insertions(+), 204 deletions(-)

diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterBetweenIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterBetweenIT.java
index bb908108d7..a3ef48a0d1 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterBetweenIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterBetweenIT.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.Assert;
@@ -41,7 +42,7 @@ import static org.apache.iotdb.itbase.constant.TestConstant.TIMESTAMP_STR;
 import static org.junit.Assert.fail;
 
 @RunWith(IoTDBTestRunner.class)
-@Category({ClusterIT.class}) // TODO After old StandAlone remove
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBFilterBetweenIT {
   protected static final int ITERATION_TIMES = 10;
 
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterNullIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterNullIT.java
index 55b2fd99ff..286bf5c53d 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterNullIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterNullIT.java
@@ -22,6 +22,7 @@ import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -37,7 +38,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
 @RunWith(IoTDBTestRunner.class)
-@Category(ClusterIT.class) // TODO After old StandAlone remove
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBFilterNullIT {
 
   private static final String[] createSqls =
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationByLevelIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationByLevelIT.java
index 9e7225c00e..648ea8fea6 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationByLevelIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationByLevelIT.java
@@ -663,8 +663,6 @@ public class IoTDBAggregationByLevelIT {
    * Test group by level without aggregation function used in select clause. The expected situation
    * is throwing an exception.
    */
-  // TODO
-  @Ignore
   @Test
   public void TestGroupByLevelWithoutAggregationFunc() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java
index cf53c68ed0..6d0c0a4b82 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java
@@ -119,7 +119,6 @@ public class IoTDBAggregationIT {
 
   // add test for part of points in page don't satisfy filter
   // details in: https://issues.apache.org/jira/projects/IOTDB/issues/IOTDB-54
-  // TODO: remove ignore after supporting value filter
   @Test
   public void test() {
     String[] retArray = new String[] {"0,2", "0,4", "0,3"};
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationSmallDataIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationSmallDataIT.java
index 55cb5939d1..32e7f2fecd 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationSmallDataIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationSmallDataIT.java
@@ -27,7 +27,6 @@ import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 import org.junit.runner.RunWith;
@@ -369,8 +368,6 @@ public class IoTDBAggregationSmallDataIT {
     }
   }
 
-  // TODO: remove ignore after supporting value filter
-  @Ignore
   @Test
   public void lastValueWithSingleValueFilterTest() {
     String[] retArray = new String[] {"0,22222,55555"};
@@ -399,8 +396,6 @@ public class IoTDBAggregationSmallDataIT {
     }
   }
 
-  // TODO: remove ignore after supporting value filter
-  @Ignore
   @Test
   public void firstValueWithSingleValueFilterTest() {
     String[] retArray = new String[] {"0,99,180"};
@@ -429,8 +424,6 @@ public class IoTDBAggregationSmallDataIT {
     }
   }
 
-  // TODO: remove ignore after supporting value filter
-  @Ignore
   @Test
   public void sumWithSingleValueFilterTest() {
     String[] retArray = new String[] {"0,22321.0,55934.0,1029"};
@@ -461,8 +454,6 @@ public class IoTDBAggregationSmallDataIT {
     }
   }
 
-  // TODO: remove ignore after supporting value filter
-  @Ignore
   @Test
   public void avgWithSingleValueFilterTest() {
     String[] retArray = new String[] {"0,11160.5,18645,206"};
@@ -493,8 +484,6 @@ public class IoTDBAggregationSmallDataIT {
     }
   }
 
-  // TODO: remove ignore after supporting value filter
-  @Ignore
   @Test
   public void countWithSingleValueFilterTest() {
     String[] retArray = new String[] {"0,2,3,5,1,0"};
@@ -531,8 +520,6 @@ public class IoTDBAggregationSmallDataIT {
     }
   }
 
-  // TODO: remove ignore after supporting value filter
-  @Ignore
   @Test
   public void minTimeWithMultiValueFiltersTest() {
     String[] retArray = new String[] {"0,104,1,2,101,100"};
@@ -569,8 +556,6 @@ public class IoTDBAggregationSmallDataIT {
     }
   }
 
-  // TODO: remove ignore after supporting value filter
-  @Ignore
   @Test
   public void maxTimeWithMultiValueFiltersTest() {
     String[] retArray = new String[] {"0,105,105,105,102,100"};
@@ -607,8 +592,6 @@ public class IoTDBAggregationSmallDataIT {
     }
   }
 
-  // TODO: remove ignore after supporting value filter
-  @Ignore
   @Test
   public void minValueWithMultiValueFiltersTest() {
     String[] retArray = new String[] {"0,90,180,2.22"};
@@ -642,8 +625,6 @@ public class IoTDBAggregationSmallDataIT {
     }
   }
 
-  // TODO: remove ignore after supporting value filter
-  @Ignore
   @Test
   public void maxValueWithMultiValueFiltersTest() {
     String[] retArray = new String[] {"0,99,40000,11.11"};
@@ -676,8 +657,6 @@ public class IoTDBAggregationSmallDataIT {
     }
   }
 
-  // TODO: remove ignore after supporting value filter
-  @Ignore
   @Test
   public void extremeWithMultiValueFiltersTest() throws ClassNotFoundException {
     String[] retArray = new String[] {"0,99,40000,11.11"};
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAggregationWithDeletion2IT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAggregationWithDeletion2IT.java
index ef09e695e5..534bf1f015 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAggregationWithDeletion2IT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAggregationWithDeletion2IT.java
@@ -60,9 +60,7 @@ public class IoTDBAggregationWithDeletion2IT extends IoTDBAggregationWithDeletio
 
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // TODO replace it while delete timeseries is supported in cluster mode
-      //      statement.execute("delete timeseries root.sg1.d1.s2");
-      statement.execute("delete from root.sg1.d1.s2 where time <= 40");
+      statement.execute("delete timeseries root.sg1.d1.s2");
       statement.execute("delete from root.sg1.d1.s1 where time <= 21");
     } catch (Exception e) {
       e.printStackTrace();
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAggregationWithDeletionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAggregationWithDeletionIT.java
index 67ef34fa4e..fa4ac3d93e 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAggregationWithDeletionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAggregationWithDeletionIT.java
@@ -68,9 +68,7 @@ public class IoTDBAggregationWithDeletionIT {
 
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // TODO replace it while delete timeseries is supported in cluster mode
-      //      statement.execute("delete timeseries root.sg1.d1.s2");
-      statement.execute("delete from root.sg1.d1.s2 where time <= 40");
+      statement.execute("delete timeseries root.sg1.d1.s2");
       statement.execute("delete from root.sg1.d1.s1 where time <= 21");
     } catch (Exception e) {
       fail(e.getMessage());
@@ -448,10 +446,9 @@ public class IoTDBAggregationWithDeletionIT {
 
   @Test
   public void countAllAlignedWithValueFilterTest() throws ClassNotFoundException {
-    String[] retArray = new String[] {"0", "0", "9", "11", "6"};
+    String[] retArray = new String[] {"0", "9", "11", "6"};
     String[] columnNames = {
       "count(root.sg1.d1.s1)",
-      "count(root.sg1.d1.s2)",
       "count(root.sg1.d1.s3)",
       "count(root.sg1.d1.s4)",
       "count(root.sg1.d1.s5)"
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQuery2IT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQuery2IT.java
index f5e575727c..4fb5e8d229 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQuery2IT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQuery2IT.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -30,8 +31,7 @@ import org.junit.experimental.categories.Category;
 import org.junit.runner.RunWith;
 
 @RunWith(IoTDBTestRunner.class)
-// TODO add them back while deleting old standalone
-@Category({ClusterIT.class})
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBAlignedLastQuery2IT extends IoTDBAlignedLastQueryIT {
 
   private static int numOfPointsPerPage;
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQuery3IT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQuery3IT.java
index 410c8a3189..bba2c6dab9 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQuery3IT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQuery3IT.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -30,8 +31,7 @@ import org.junit.experimental.categories.Category;
 import org.junit.runner.RunWith;
 
 @RunWith(IoTDBTestRunner.class)
-// TODO add them back while deleting old standalone
-@Category({ClusterIT.class})
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBAlignedLastQuery3IT extends IoTDBAlignedLastQueryIT {
 
   private static int numOfPointsPerPage;
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQueryIT.java
index 2bf50bd458..c8a616acc5 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQueryIT.java
@@ -24,6 +24,7 @@ import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -49,8 +50,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 @RunWith(IoTDBTestRunner.class)
-// TODO add them back while deleting old standalone
-@Category({ClusterIT.class})
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBAlignedLastQueryIT {
 
   protected static boolean enableSeqSpaceCompaction;
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedSeriesQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedSeriesQueryIT.java
index af9508efa6..c24e03603b 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedSeriesQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedSeriesQueryIT.java
@@ -29,7 +29,6 @@ import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 import org.junit.runner.RunWith;
@@ -604,8 +603,6 @@ public class IoTDBAlignedSeriesQueryIT {
   }
 
   // ------------------------------Raw Query With Value Filter-------------------------------------
-  // TODO add these back when value filter is done in new cluster
-
   @Test
   public void selectAllAlignedWithValueFilterTest1() {
 
@@ -3071,90 +3068,6 @@ public class IoTDBAlignedSeriesQueryIT {
     }
   }
 
-  // TODO we may never support this in mpp
-  @Ignore
-  @Test
-  public void maxMinValueTimePreviousUntilLastFillAlignByDeviceTest() throws SQLException {
-    String[] retArray =
-        new String[] {
-          "1,root.sg1.d1,30000,6.0,9,3",
-          "11,root.sg1.d1,130000,11.0,20,11",
-          "21,root.sg1.d1,230000,230000.0,null,23",
-          "31,root.sg1.d1,null,null,null,null"
-        };
-    try (Connection connection = EnvFactory.getEnv().getConnection();
-        Statement statement = connection.createStatement()) {
-
-      int cnt;
-      try (ResultSet resultSet =
-          statement.executeQuery(
-              "select max_value(s3), min_value(s1), max_time(s2), min_time(s3) from root.sg1.d1 "
-                  + "where s1 > 5 and time < 35 GROUP BY ([1, 41), 10ms) FILL(previousUntilLast) align by device")) {
-        cnt = 0;
-        while (resultSet.next()) {
-          String ans =
-              resultSet.getString(TIMESTAMP_STR)
-                  + ","
-                  + resultSet.getString(ColumnHeaderConstant.DEVICE)
-                  + ","
-                  + resultSet.getString(maxValue("s3"))
-                  + ","
-                  + resultSet.getString(minValue("s1"))
-                  + ","
-                  + resultSet.getString(maxTime("s2"))
-                  + ","
-                  + resultSet.getString(minTime("s3"));
-          Assert.assertEquals(retArray[cnt], ans);
-          cnt++;
-        }
-        Assert.assertEquals(retArray.length, cnt);
-      }
-    }
-  }
-
-  // TODO need to discuss fill function
-  @Ignore
-  @Test
-  public void maxMinValueTimeValueFillAlignByDeviceTest() throws SQLException {
-    String[] retArray =
-        new String[] {
-          "1,root.sg1.d1,30000,30000.0,null,3",
-          "6,root.sg1.d1,10,6.0,10,6",
-          "11,root.sg1.d1,130000,11.0,15,11",
-          "16,root.sg1.d1,20,16.0,20,16",
-          "21,root.sg1.d1,230000,230000.0,null,21",
-          "26,root.sg1.d1,29,null,null,26"
-        };
-    try (Connection connection = EnvFactory.getEnv().getConnection();
-        Statement statement = connection.createStatement()) {
-
-      int cnt;
-      try (ResultSet resultSet =
-          statement.executeQuery(
-              "select max_value(s3), min_value(s1), max_time(s2), min_time(s3) from root.sg1.d1 "
-                  + "where s3 > 5 and time < 30 GROUP BY ([1, 31), 5ms) FILL ('fill string') align by device")) {
-        cnt = 0;
-        while (resultSet.next()) {
-          String ans =
-              resultSet.getString(TIMESTAMP_STR)
-                  + ","
-                  + resultSet.getString(ColumnHeaderConstant.DEVICE)
-                  + ","
-                  + resultSet.getString(maxValue("s3"))
-                  + ","
-                  + resultSet.getString(minValue("s1"))
-                  + ","
-                  + resultSet.getString(maxTime("s2"))
-                  + ","
-                  + resultSet.getString(minTime("s3"));
-          Assert.assertEquals(retArray[cnt], ans);
-          cnt++;
-        }
-        Assert.assertEquals(retArray.length, cnt);
-      }
-    }
-  }
-
   // --------------------------GroupByWithoutValueFilter--------------------------
   @Test
   public void countSumAvgGroupByTest1() throws SQLException {
@@ -4082,7 +3995,6 @@ public class IoTDBAlignedSeriesQueryIT {
     }
   }
 
-  // TODO Semantic error
   @Test
   public void groupByWithoutAggregationFuncTest() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
@@ -4100,7 +4012,6 @@ public class IoTDBAlignedSeriesQueryIT {
     }
   }
 
-  // TODO Semantic error
   @Test
   public void negativeOrZeroTimeIntervalTest() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithValueFilterWithDeletion2IT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithValueFilterWithDeletion2IT.java
index d674293057..613a702e38 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithValueFilterWithDeletion2IT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithValueFilterWithDeletion2IT.java
@@ -59,9 +59,7 @@ public class IoTDBGroupByQueryWithValueFilterWithDeletion2IT
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.execute("delete from root.sg1.d1.s1 where time <= 15");
-      // TODO replace it while delete timeseries is supported in cluster mode
-      //      statement.execute("delete timeseries root.sg1.d1.s2");
-      statement.execute("delete from root.sg1.d1.s2 where time <= 40");
+      statement.execute("delete timeseries root.sg1.d1.s2");
     } catch (Exception e) {
       e.printStackTrace();
     }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithValueFilterWithDeletionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithValueFilterWithDeletionIT.java
index e457b53a44..67c85094e8 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithValueFilterWithDeletionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithValueFilterWithDeletionIT.java
@@ -72,9 +72,7 @@ public class IoTDBGroupByQueryWithValueFilterWithDeletionIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.execute("delete from root.sg1.d1.s1 where time <= 15");
-      // TODO replace it while delete timeseries is supported in cluster mode
-      //      statement.execute("delete timeseries root.sg1.d1.s2");
-      statement.execute("delete from root.sg1.d1.s2 where time <= 40");
+      statement.execute("delete timeseries root.sg1.d1.s2");
     } catch (Exception e) {
       e.printStackTrace();
     }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithoutValueFilterWithDeletion2IT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithoutValueFilterWithDeletion2IT.java
index 55a00a23df..928b604f62 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithoutValueFilterWithDeletion2IT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithoutValueFilterWithDeletion2IT.java
@@ -59,9 +59,7 @@ public class IoTDBGroupByQueryWithoutValueFilterWithDeletion2IT
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.execute("delete from root.sg1.d1.s1 where time <= 15");
-      // TODO replace it while delete timeseries is supported in cluster mode
-      //      statement.execute("delete timeseries root.sg1.d1.s2");
-      statement.execute("delete from root.sg1.d1.s2 where time <= 40");
+      statement.execute("delete timeseries root.sg1.d1.s2");
       statement.execute("delete from root.sg1.d1.s3 where time > 25");
     } catch (Exception e) {
       e.printStackTrace();
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithoutValueFilterWithDeletionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithoutValueFilterWithDeletionIT.java
index bf206b604e..e7c69f4523 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithoutValueFilterWithDeletionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByQueryWithoutValueFilterWithDeletionIT.java
@@ -73,9 +73,7 @@ public class IoTDBGroupByQueryWithoutValueFilterWithDeletionIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.execute("delete from root.sg1.d1.s1 where time <= 15");
-      // TODO replace it while delete timeseries is supported in cluster mode
-      //      statement.execute("delete timeseries root.sg1.d1.s2");
-      statement.execute("delete from root.sg1.d1.s2 where time <= 40");
+      statement.execute("delete timeseries root.sg1.d1.s2");
       statement.execute("delete from root.sg1.d1.s3 where time > 25");
     } catch (Exception e) {
       e.printStackTrace();
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithDeletion2IT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithDeletion2IT.java
index 8d6e5872a5..129084e987 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithDeletion2IT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithDeletion2IT.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -34,9 +35,8 @@ import java.sql.Statement;
 
 import static org.junit.Assert.fail;
 
-// TODO add them back while deleting old standalone
 @RunWith(IoTDBTestRunner.class)
-@Category({ClusterIT.class})
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBLastQueryWithDeletion2IT extends IoTDBLastQueryWithDeletionIT {
 
   private static int numOfPointsPerPage;
@@ -57,9 +57,7 @@ public class IoTDBLastQueryWithDeletion2IT extends IoTDBLastQueryWithDeletionIT
 
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // TODO replace it while delete timeseries is supported in cluster mode
-      //      statement.execute("delete timeseries root.sg1.d1.s2");
-      statement.execute("delete from root.sg1.d1.s2 where time <= 40");
+      statement.execute("delete timeseries root.sg1.d1.s2");
       statement.execute("delete from root.sg1.d1.s1 where time <= 27");
     } catch (Exception e) {
       e.printStackTrace();
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithDeletionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithDeletionIT.java
index a74235f835..bf7c2419e9 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithDeletionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithDeletionIT.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -47,9 +48,8 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-// TODO add them back while deleting old standalone
 @RunWith(IoTDBTestRunner.class)
-@Category({ClusterIT.class})
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBLastQueryWithDeletionIT {
 
   protected static boolean enableSeqSpaceCompaction;
@@ -69,9 +69,7 @@ public class IoTDBLastQueryWithDeletionIT {
 
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // TODO replace it while delete timeseries is supported in cluster mode
-      //      statement.execute("delete timeseries root.sg1.d1.s2");
-      statement.execute("delete from root.sg1.d1.s2 where time <= 40");
+      statement.execute("delete timeseries root.sg1.d1.s2");
       statement.execute("delete from root.sg1.d1.s1 where time <= 27");
     } catch (Exception e) {
       e.printStackTrace();
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCache2IT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCache2IT.java
index e4c0d79d23..ab872c93aa 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCache2IT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCache2IT.java
@@ -23,15 +23,15 @@ import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.experimental.categories.Category;
 import org.junit.runner.RunWith;
 
-// TODO add them back while deleting old standalone
 @RunWith(IoTDBTestRunner.class)
-@Category({ClusterIT.class})
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBLastQueryWithoutLastCache2IT extends IoTDBLastQueryWithoutLastCacheIT {
 
   private static int numOfPointsPerPage;
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheIT.java
index 96848bc45f..ac7a3df6f4 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheIT.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -47,9 +48,8 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-// TODO add them back while deleting old standalone
 @RunWith(IoTDBTestRunner.class)
-@Category({ClusterIT.class})
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBLastQueryWithoutLastCacheIT {
 
   protected static boolean enableSeqSpaceCompaction;
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheWithDeletion2IT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheWithDeletion2IT.java
index 7f78869e73..1a59ae8bdf 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheWithDeletion2IT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheWithDeletion2IT.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -34,9 +35,8 @@ import java.sql.Statement;
 
 import static org.junit.Assert.fail;
 
-// TODO add them back while deleting old standalone
 @RunWith(IoTDBTestRunner.class)
-@Category({ClusterIT.class})
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBLastQueryWithoutLastCacheWithDeletion2IT
     extends IoTDBLastQueryWithoutLastCacheWithDeletionIT {
 
@@ -60,9 +60,7 @@ public class IoTDBLastQueryWithoutLastCacheWithDeletion2IT
 
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // TODO replace it while delete timeseries is supported in cluster mode
-      //      statement.execute("delete timeseries root.sg1.d1.s2");
-      statement.execute("delete from root.sg1.d1.s2 where time <= 40");
+      statement.execute("delete timeseries root.sg1.d1.s2");
       statement.execute("delete from root.sg1.d1.s1 where time <= 27");
     } catch (Exception e) {
       e.printStackTrace();
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheWithDeletionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheWithDeletionIT.java
index 0418e72c58..9de6222ba9 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheWithDeletionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheWithDeletionIT.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -34,9 +35,8 @@ import java.sql.Statement;
 
 import static org.junit.Assert.fail;
 
-// TODO add them back while deleting old standalone
 @RunWith(IoTDBTestRunner.class)
-@Category({ClusterIT.class})
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBLastQueryWithoutLastCacheWithDeletionIT extends IoTDBLastQueryWithDeletionIT {
 
   protected static boolean enableSeqSpaceCompaction;
@@ -60,9 +60,7 @@ public class IoTDBLastQueryWithoutLastCacheWithDeletionIT extends IoTDBLastQuery
 
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // TODO replace it while delete timeseries is supported in cluster mode
-      //      statement.execute("delete timeseries root.sg1.d1.s2");
-      statement.execute("delete from root.sg1.d1.s2 where time <= 40");
+      statement.execute("delete timeseries root.sg1.d1.s2");
       statement.execute("delete from root.sg1.d1.s1 where time <= 27");
     } catch (Exception e) {
       e.printStackTrace();
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBRawQueryWithoutValueFilterWithDeletion2IT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBRawQueryWithoutValueFilterWithDeletion2IT.java
index 35e0e71f64..5352b9c508 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBRawQueryWithoutValueFilterWithDeletion2IT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBRawQueryWithoutValueFilterWithDeletion2IT.java
@@ -59,8 +59,7 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletion2IT
 
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // TODO replace it while delete timeseries is supported in cluster mode
-      //      statement.execute("delete timeseries root.sg1.d1.s2");
+      statement.execute("delete timeseries root.sg1.d1.s2");
       statement.execute("delete from root.sg1.d1.s2 where time <= 40");
       statement.execute("delete from root.sg1.d1.s1 where time <= 21");
       statement.execute("delete from root.sg1.d1.s5 where time <= 31 and time > 20");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java
index 8fc7c825f7..75c979a78c 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java
@@ -63,8 +63,7 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
 
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // TODO replace it while delete timeseries is supported in cluster mode
-      //      statement.execute("delete timeseries root.sg1.d1.s2");
+      statement.execute("delete timeseries root.sg1.d1.s2");
       statement.execute("delete from root.sg1.d1.s2 where time <= 40");
       statement.execute("delete from root.sg1.d1.s1 where time <= 21");
       statement.execute("delete from root.sg1.d1.s5 where time <= 31 and time > 20");
@@ -139,10 +138,7 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
       for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
         map.put(resultSetMetaData.getColumnName(i), i);
       }
-      // here we temporarily delete the following assert, because we replace "delete timeseries
-      // root.sg1.d1.s2" with "delete from root.sg1.d1.s2 where time <= 40"
-      // TODO add it while supporting delete timeseries in cluster mode
-      //      assertEquals(columnNames.length + 1, resultSetMetaData.getColumnCount());
+      assertEquals(columnNames.length + 1, resultSetMetaData.getColumnCount());
       int cnt = 0;
       while (resultSet.next()) {
         StringBuilder builder = new StringBuilder();
@@ -230,10 +226,7 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
       for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
         map.put(resultSetMetaData.getColumnName(i), i);
       }
-      // here we temporarily delete the following assert, because we replace "delete timeseries
-      // root.sg1.d1.s2" with "delete from root.sg1.d1.s2 where time <= 40"
-      // TODO add it while supporting delete timeseries in cluster mode
-      //      assertEquals(columnNames.length + 1, resultSetMetaData.getColumnCount());
+      assertEquals(columnNames.length + 1, resultSetMetaData.getColumnCount());
       int cnt = 0;
       while (resultSet.next()) {
         StringBuilder builder = new StringBuilder();
@@ -296,10 +289,7 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
       for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
         map.put(resultSetMetaData.getColumnName(i), i);
       }
-      // here we temporarily delete the following assert, because we replace "delete timeseries
-      // root.sg1.d1.s2" with "delete from root.sg1.d1.s2 where time <= 40"
-      // TODO add it while supporting delete timeseries in cluster mode
-      //      assertEquals(columnNames.length + 1, resultSetMetaData.getColumnCount());
+      assertEquals(columnNames.length + 1, resultSetMetaData.getColumnCount());
       int cnt = 0;
       while (resultSet.next()) {
         StringBuilder builder = new StringBuilder();
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBHavingIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBHavingIT.java
index 39bd9d24e9..3f79c9e71b 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBHavingIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBHavingIT.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -41,7 +42,7 @@ import static org.apache.iotdb.itbase.constant.TestConstant.lastValue;
 import static org.apache.iotdb.itbase.constant.TestConstant.sum;
 
 @RunWith(IoTDBTestRunner.class)
-@Category({ClusterIT.class}) // TODO After old StandAlone remove
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBHavingIT {
   private static final String[] SQLs =
       new String[] {
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullOperandIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullOperandIT.java
index d24b9d608a..b08bf9f90b 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullOperandIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullOperandIT.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -35,7 +36,7 @@ import static org.apache.iotdb.db.it.utils.TestUtils.resultSetEqualTest;
 import static org.apache.iotdb.itbase.constant.TestConstant.TIMESTAMP_STR;
 
 @RunWith(IoTDBTestRunner.class)
-@Category({ClusterIT.class}) // TODO After old StandAlone remove
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBNullOperandIT {
   private static final String[] SQLs =
       new String[] {
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 6477c9bf1c..6b066a5905 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
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.it.query;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -34,7 +35,7 @@ import static org.apache.iotdb.db.it.utils.TestUtils.resultSetEqualTest;
 import static org.apache.iotdb.db.it.utils.TestUtils.resultSetEqualWithDescOrderTest;
 
 @RunWith(IoTDBTestRunner.class)
-@Category({ClusterIT.class}) // TODO add LocalStandaloneIT
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBNullValueFillIT {
 
   /**
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectInto2IT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectInto2IT.java
index 2b646a9daf..33db4ce761 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectInto2IT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectInto2IT.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -32,8 +33,7 @@ import org.junit.runner.RunWith;
 import static org.apache.iotdb.db.it.utils.TestUtils.prepareData;
 
 @RunWith(IoTDBTestRunner.class)
-// TODO add LocalStandaloneIT back while deleting old standalone
-@Category({ClusterIT.class})
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBSelectInto2IT extends IoTDBSelectIntoIT {
 
   @BeforeClass
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectInto3IT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectInto3IT.java
index 3a38e50684..12b8425f9d 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectInto3IT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectInto3IT.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -32,8 +33,7 @@ import org.junit.runner.RunWith;
 import static org.apache.iotdb.db.it.utils.TestUtils.prepareData;
 
 @RunWith(IoTDBTestRunner.class)
-// TODO add LocalStandaloneIT back while deleting old standalone
-@Category({ClusterIT.class})
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBSelectInto3IT extends IoTDBSelectIntoIT {
 
   @BeforeClass
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectIntoIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectIntoIT.java
index f6db83595b..fd159a3bed 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectIntoIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectIntoIT.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.it.selectinto;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.Assert;
@@ -42,8 +43,7 @@ import static org.apache.iotdb.db.it.utils.TestUtils.resultSetEqualTest;
 import static org.junit.Assert.fail;
 
 @RunWith(IoTDBTestRunner.class)
-// TODO add LocalStandaloneIT back while deleting old standalone
-@Category({ClusterIT.class})
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBSelectIntoIT {
 
   protected static int selectIntoInsertTabletPlanRowLimit;
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerExecutionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerExecutionIT.java
index 1ce075f402..78aa550d92 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerExecutionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerExecutionIT.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.it.trigger;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.Assert;
@@ -43,8 +44,7 @@ import java.sql.Statement;
 import static org.junit.Assert.fail;
 
 @RunWith(IoTDBTestRunner.class)
-// todo: add LocalStandalone when trigger is supported in Standalone version
-@Category(ClusterIT.class)
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBTriggerExecutionIT {
 
   private static final String TRIGGER_COUNTER_PREFIX =
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java
index 00321384a4..d910aefd79 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java
@@ -157,7 +157,6 @@ public class IoTDBUDTFHybridQueryIT {
   }
 
   @Test
-  @Ignore // TODO fill function incompatible
   public void testUserDefinedFunctionFillFunctionHybridQuery() {
     String[] retArray =
         new String[] {
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAllNullIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAllNullIT.java
index 2e5d7cd47c..77903a841a 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAllNullIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAllNullIT.java
@@ -22,10 +22,10 @@ package org.apache.iotdb.db.it.withoutNull;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 import org.junit.runner.RunWith;
@@ -38,9 +38,8 @@ import static org.apache.iotdb.db.constant.TestConstant.TIMESTAMP_STR;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
-@Ignore // TODO When filtering data after group by is supported
 @RunWith(IoTDBTestRunner.class)
-@Category({ClusterIT.class}) // TODO After old StandAlone remove
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBWithoutAllNullIT {
 
   private static final String[] dataSet =
@@ -96,7 +95,7 @@ public class IoTDBWithoutAllNullIT {
       int cnt;
       try (ResultSet resultSet =
           statement.executeQuery(
-              "select last_value(*) from root.testWithoutAllNull.d1 where s1 is not null || s2 is not null || s3 is not null GROUP BY([1, 21), 5ms)")) {
+              "select last_value(*) from root.testWithoutAllNull.d1 GROUP BY([1, 21), 5ms) having last_value(s1) is not null || last_value(s2) is not null || last_value(s3) is not null")) {
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -127,7 +126,7 @@ public class IoTDBWithoutAllNullIT {
       int cnt;
       try (ResultSet resultSet =
           statement.executeQuery(
-              "select last_value(*) from root.testWithoutAllNull.d1 where s1 is not null || s2 is not null || s3 is not null GROUP BY([1, 21), 5ms) limit 1 offset 1")) {
+              "select last_value(*) from root.testWithoutAllNull.d1 GROUP BY([1, 21), 5ms) having last_value(s1) is not null || last_value(s2) is not null || last_value(s3) is not null limit 1 offset 1")) {
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -158,7 +157,7 @@ public class IoTDBWithoutAllNullIT {
       int cnt;
       try (ResultSet resultSet =
           statement.executeQuery(
-              "select last_value(*) from root.testWithoutAllNull.d1 where s1 is not null || s2 is not null || s3 is not null GROUP BY([1, 21), 5ms)")) {
+              "select last_value(*) from root.testWithoutAllNull.d1 GROUP BY([1, 21), 5ms) having last_value(s1) is not null and last_value(s2) is not null and last_value(s3) is not null")) {
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -189,7 +188,7 @@ public class IoTDBWithoutAllNullIT {
       int cnt;
       try (ResultSet resultSet =
           statement.executeQuery(
-              "select last_value(*) from root.testWithoutAllNull.d1 where s1 is not null || s2 is not null || s3 is not null GROUP BY([1, 21), 5ms) LIMIT 1 OFFSET 1 ALIGN BY DEVICE")) {
+              "select last_value(*) from root.testWithoutAllNull.d1 GROUP BY([1, 21), 5ms) having last_value(s1) is not null || last_value(s2) is not null || last_value(s3) is not null LIMIT 1 OFFSET 1 ALIGN BY DEVICE")) {
         cnt = 0;
         while (resultSet.next()) {
           String ans =
@@ -222,7 +221,7 @@ public class IoTDBWithoutAllNullIT {
       int cnt;
       try (ResultSet resultSet =
           statement.executeQuery(
-              "select last_value(*) from root.testWithoutAllNull.d1 where s1 is not null || s2 is not null || s3 is not null GROUP BY([1, 21), 5ms)"
+              "select last_value(*) from root.testWithoutAllNull.d1 GROUP BY([1, 21), 5ms) having last_value(s1) is not null || last_value(s2) is not null || last_value(s3) is not null "
                   + "ORDER BY TIME DESC LIMIT 1 OFFSET 1 ALIGN BY DEVICE")) {
         cnt = 0;
         while (resultSet.next()) {
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAnyNullIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAnyNullIT.java
index 64931ebdec..df3d646ec9 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAnyNullIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAnyNullIT.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.it.withoutNull;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -38,7 +39,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
 @RunWith(IoTDBTestRunner.class)
-@Category({ClusterIT.class}) // TODO After old StandAlone remove
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBWithoutAnyNullIT {
 
   private static final String[] dataSet =
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAllFilterIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAllFilterIT.java
index dc6b48e505..5f107fdde0 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAllFilterIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAllFilterIT.java
@@ -22,6 +22,7 @@ import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.Assert;
@@ -42,7 +43,7 @@ import static org.apache.iotdb.itbase.constant.TestConstant.TIMESTAMP_STR;
 import static org.junit.Assert.fail;
 
 @RunWith(IoTDBTestRunner.class)
-@Category({ClusterIT.class}) // TODO After old StandAlone remove
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBWithoutNullAllFilterIT {
 
   private static String[] dataSet1 =
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAnyFilterIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAnyFilterIT.java
index d75eff7ade..6aabb9b2ed 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAnyFilterIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAnyFilterIT.java
@@ -21,6 +21,7 @@ package org.apache.iotdb.db.it.withoutNull;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 
 import org.junit.AfterClass;
 import org.junit.Assert;
@@ -40,7 +41,7 @@ import static org.apache.iotdb.db.it.utils.TestUtils.resultSetEqualTest;
 import static org.junit.Assert.fail;
 
 @RunWith(IoTDBTestRunner.class)
-@Category({ClusterIT.class}) // TODO After old StandAlone remove
+@Category({LocalStandaloneIT.class, ClusterIT.class})
 public class IoTDBWithoutNullAnyFilterIT {
 
   private static String[] dataSet1 =