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

qiaojialin 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 049c421  [IOTDB-1945] Support raw data query with value filter in new 
vector (#4433)
049c421 is described below

commit 049c4219ed6c11a76ff98f3f2baf22f9d918ed54
Author: Jackie Tien <[email protected]>
AuthorDate: Fri Nov 19 19:59:32 2021 +0800

    [IOTDB-1945] Support raw data query with value filter in new vector (#4433)
---
 .../apache/iotdb/db/metadata/path/AlignedPath.java |  20 ++
 .../iotdb/db/metadata/path/MeasurementPath.java    |   1 +
 .../query/reader/chunk/MemAlignedPageReader.java   |  24 +-
 ...T.java => IoTDBRawQueryWithValueFilter2IT.java} |  11 +-
 ...IT.java => IoTDBRawQueryWithValueFilterIT.java} | 398 ++++++++++++++-------
 ...TDBRawQueryWithValueFilterWithDeletion2IT.java} |  13 +-
 ...oTDBRawQueryWithValueFilterWithDeletionIT.java} | 385 ++++++++++++++------
 .../IoTDBRawQueryWithoutValueFilter2IT.java        |   8 +-
 .../aligned/IoTDBRawQueryWithoutValueFilterIT.java |   8 +-
 ...BRawQueryWithoutValueFilterWithDeletion2IT.java |   8 +-
 ...DBRawQueryWithoutValueFilterWithDeletionIT.java |   8 +-
 11 files changed, 605 insertions(+), 279 deletions(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/metadata/path/AlignedPath.java 
b/server/src/main/java/org/apache/iotdb/db/metadata/path/AlignedPath.java
index e908417..d11be02 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/path/AlignedPath.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/path/AlignedPath.java
@@ -50,6 +50,9 @@ import 
org.apache.iotdb.tsfile.write.schema.IMeasurementSchema;
 import org.apache.iotdb.tsfile.write.schema.VectorMeasurementSchema;
 import org.apache.iotdb.tsfile.write.writer.RestorableTsFileIOWriter;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import java.io.IOException;
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -66,6 +69,8 @@ import java.util.Set;
  */
 public class AlignedPath extends PartialPath {
 
+  private static final Logger logger = 
LoggerFactory.getLogger(AlignedPath.class);
+
   // todo improve vector implementation by remove this placeholder
   public static final String VECTOR_PLACEHOLDER = "";
 
@@ -412,4 +417,19 @@ public class AlignedPath extends PartialPath {
   public int getColumnNum() {
     return measurementList.size();
   }
+
+  @Override
+  public AlignedPath clone() {
+    AlignedPath alignedPath = null;
+    try {
+      alignedPath =
+          new AlignedPath(
+              this.getDevice(),
+              new ArrayList<>(this.measurementList),
+              new ArrayList<>(this.schemaList));
+    } catch (IllegalPathException e) {
+      logger.warn("path is illegal: {}", this.getFullPath(), e);
+    }
+    return alignedPath;
+  }
 }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/metadata/path/MeasurementPath.java 
b/server/src/main/java/org/apache/iotdb/db/metadata/path/MeasurementPath.java
index d8aef64..6adb1e3 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/metadata/path/MeasurementPath.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/metadata/path/MeasurementPath.java
@@ -273,6 +273,7 @@ public class MeasurementPath extends PartialPath {
     try {
       newMeasurementPath =
           new MeasurementPath(this.getDevice(), this.getMeasurement(), 
this.getMeasurementSchema());
+      newMeasurementPath.setUnderAlignedEntity(this.isUnderAlignedEntity);
     } catch (IllegalPathException e) {
       logger.warn("path is illegal: {}", this.getFullPath(), e);
     }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/MemAlignedPageReader.java
 
b/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/MemAlignedPageReader.java
index a084f12..7dcd5ec 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/MemAlignedPageReader.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/MemAlignedPageReader.java
@@ -29,6 +29,7 @@ import org.apache.iotdb.tsfile.read.filter.operator.AndFilter;
 import org.apache.iotdb.tsfile.read.reader.IAlignedPageReader;
 import org.apache.iotdb.tsfile.read.reader.IPageReader;
 import org.apache.iotdb.tsfile.read.reader.IPointReader;
+import org.apache.iotdb.tsfile.utils.TsPrimitiveType;
 
 import java.io.IOException;
 
@@ -52,14 +53,25 @@ public class MemAlignedPageReader implements IPageReader, 
IAlignedPageReader {
 
   @Override
   public BatchData getAllSatisfiedPageData(boolean ascending) throws 
IOException {
-    TSDataType dataType = chunkMetadata.getDataType();
-    BatchData batchData = BatchDataFactory.createBatchData(dataType, 
ascending, false);
+    BatchData batchData = BatchDataFactory.createBatchData(TSDataType.VECTOR, 
ascending, false);
     while (timeValuePairIterator.hasNextTimeValuePair()) {
       TimeValuePair timeValuePair = timeValuePairIterator.nextTimeValuePair();
-      if (valueFilter == null
-          || valueFilter.satisfy(
-              timeValuePair.getTimestamp(), 
timeValuePair.getValue().getValue())) {
-        batchData.putAnObject(timeValuePair.getTimestamp(), 
timeValuePair.getValue().getValue());
+      TsPrimitiveType[] values = timeValuePair.getValue().getVector();
+      // save the first not null value of each row
+      Object firstNotNullObject = null;
+      for (TsPrimitiveType value : values) {
+        if (value != null) {
+          firstNotNullObject = value.getValue();
+          break;
+        }
+      }
+      // if all the sub sensors' value are null in current time
+      // or current row is not satisfied with the filter, just discard it
+      // TODO fix value filter firstNotNullObject, currently, if it's a value 
filter, it will only
+      // accept AlignedPath with only one sub sensor
+      if (firstNotNullObject != null && valueFilter == null
+          || valueFilter.satisfy(timeValuePair.getTimestamp(), 
firstNotNullObject)) {
+        batchData.putVector(timeValuePair.getTimestamp(), values);
       }
     }
     return batchData.flip();
diff --git 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilter2IT.java
 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilter2IT.java
similarity index 84%
copy from 
server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilter2IT.java
copy to 
server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilter2IT.java
index a22b0eb..213b70c 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilter2IT.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilter2IT.java
@@ -25,8 +25,7 @@ import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 
-/** Let One chunk has more than one page. */
-public class IoTDBRawQueryWithoutValueFilter2IT extends 
IoTDBRawQueryWithoutValueFilterIT {
+public class IoTDBRawQueryWithValueFilter2IT extends 
IoTDBRawQueryWithValueFilterIT {
 
   private static int numOfPointsPerPage;
 
@@ -43,8 +42,8 @@ public class IoTDBRawQueryWithoutValueFilter2IT extends 
IoTDBRawQueryWithoutValu
         
IoTDBDescriptor.getInstance().getConfig().isEnableCrossSpaceCompaction();
     numOfPointsPerPage = 
TSFileDescriptor.getInstance().getConfig().getMaxNumberOfPointsInPage();
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableUnseqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableCrossSpaceCompaction(false);
     TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(3);
     AlignedWriteUtil.insertData();
   }
@@ -54,10 +53,10 @@ public class IoTDBRawQueryWithoutValueFilter2IT extends 
IoTDBRawQueryWithoutValu
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(enableSeqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableUnseqSpaceCompaction);
+        .setEnableUnseqSpaceCompaction(enableUnseqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableCrossSpaceCompaction);
+        .setEnableCrossSpaceCompaction(enableCrossSpaceCompaction);
     
TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(numOfPointsPerPage);
     EnvironmentUtils.cleanEnv();
   }
diff --git 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterIT.java
 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilterIT.java
similarity index 64%
copy from 
server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterIT.java
copy to 
server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilterIT.java
index 96bd8a6..6bd4649 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterIT.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilterIT.java
@@ -39,8 +39,7 @@ import java.util.Map;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
-public class IoTDBRawQueryWithoutValueFilterIT {
-
+public class IoTDBRawQueryWithValueFilterIT {
   protected static boolean enableSeqSpaceCompaction;
   protected static boolean enableUnseqSpaceCompaction;
   protected static boolean enableCrossSpaceCompaction;
@@ -57,8 +56,8 @@ public class IoTDBRawQueryWithoutValueFilterIT {
     enableCrossSpaceCompaction =
         
IoTDBDescriptor.getInstance().getConfig().isEnableCrossSpaceCompaction();
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableUnseqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableCrossSpaceCompaction(false);
     AlignedWriteUtil.insertData();
   }
 
@@ -67,15 +66,129 @@ public class IoTDBRawQueryWithoutValueFilterIT {
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(enableSeqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableUnseqSpaceCompaction);
+        .setEnableUnseqSpaceCompaction(enableUnseqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableCrossSpaceCompaction);
+        .setEnableCrossSpaceCompaction(enableCrossSpaceCompaction);
     EnvironmentUtils.cleanEnv();
   }
 
   @Test
-  public void selectAllAlignedWithoutValueFilterTest() throws 
ClassNotFoundException {
+  public void selectAllAlignedWithValueFilterTest1() throws 
ClassNotFoundException {
+
+    String[] retArray =
+        new String[] {
+          "1,1.0,1,1,true,aligned_test1",
+          "3,30000.0,null,30000,true,aligned_unseq_test3",
+          "4,4.0,4,null,true,aligned_test4",
+          "5,5.0,5,null,true,aligned_test5",
+          "6,6.0,6,6,true,null",
+          "10,null,10,10,true,aligned_test10",
+          "13,130000.0,130000,130000,true,aligned_unseq_test13",
+          "21,null,null,21,true,null",
+          "22,null,null,22,true,null",
+          "24,null,null,24,true,null",
+          "25,null,null,25,true,null",
+        };
+
+    String[] columnNames = {
+      "root.sg1.d1.s1", "root.sg1.d1.s2", "root.sg1.d1.s3", "root.sg1.d1.s4", 
"root.sg1.d1.s5"
+    };
+
+    Class.forName(Config.JDBC_DRIVER_NAME);
+    try (Connection connection =
+            DriverManager.getConnection(
+                Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
+        Statement statement = connection.createStatement()) {
+
+      boolean hasResultSet = statement.execute("select * from root.sg1.d1 
where s4 = true");
+      Assert.assertTrue(hasResultSet);
+
+      try (ResultSet resultSet = statement.getResultSet()) {
+        ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
+        Map<String, Integer> map = new HashMap<>();
+        for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
+          map.put(resultSetMetaData.getColumnName(i), i);
+        }
+        assertEquals(columnNames.length + 1, 
resultSetMetaData.getColumnCount());
+        int cnt = 0;
+        while (resultSet.next()) {
+          StringBuilder builder = new StringBuilder();
+          builder.append(resultSet.getString(1));
+          for (String columnName : columnNames) {
+            int index = map.get(columnName);
+            builder.append(",").append(resultSet.getString(index));
+          }
+          assertEquals(retArray[cnt], builder.toString());
+          cnt++;
+        }
+        assertEquals(retArray.length, cnt);
+      }
+
+    } catch (SQLException e) {
+      e.printStackTrace();
+      fail(e.getMessage());
+    }
+  }
+
+  @Test
+  public void selectAllAlignedWithValueFilterTest2() throws 
ClassNotFoundException {
+
+    String[] retArray =
+        new String[] {
+          "12,12.0,12,12,null,null",
+          "14,14.0,14,14,null,null",
+          "15,15.0,15,15,null,null",
+          "16,16.0,16,16,null,null",
+          "17,17.0,17,17,null,null",
+          "18,18.0,18,18,null,null",
+          "19,19.0,19,19,null,null",
+          "20,20.0,20,20,null,null",
+        };
+
+    String[] columnNames = {
+      "root.sg1.d1.s1", "root.sg1.d1.s2", "root.sg1.d1.s3", "root.sg1.d1.s4", 
"root.sg1.d1.s5"
+    };
+
+    Class.forName(Config.JDBC_DRIVER_NAME);
+    try (Connection connection =
+            DriverManager.getConnection(
+                Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
+        Statement statement = connection.createStatement()) {
+
+      boolean hasResultSet =
+          statement.execute("select * from root.sg1.d1 where s1 > 11 and s2 <= 
33");
+      Assert.assertTrue(hasResultSet);
+
+      try (ResultSet resultSet = statement.getResultSet()) {
+        ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
+        Map<String, Integer> map = new HashMap<>();
+        for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
+          map.put(resultSetMetaData.getColumnName(i), i);
+        }
+        assertEquals(columnNames.length + 1, 
resultSetMetaData.getColumnCount());
+        int cnt = 0;
+        while (resultSet.next()) {
+          StringBuilder builder = new StringBuilder();
+          builder.append(resultSet.getString(1));
+          for (String columnName : columnNames) {
+            int index = map.get(columnName);
+            builder.append(",").append(resultSet.getString(index));
+          }
+          assertEquals(retArray[cnt], builder.toString());
+          cnt++;
+        }
+        assertEquals(retArray.length, cnt);
+      }
+
+    } catch (SQLException e) {
+      e.printStackTrace();
+      fail(e.getMessage());
+    }
+  }
+
+  @Test
+  public void selectAllAlignedWithValueFilterTest3() throws 
ClassNotFoundException {
 
     String[] retArray =
         new String[] {
@@ -99,26 +212,9 @@ public class IoTDBRawQueryWithoutValueFilterIT {
           "18,18.0,18,18,null,null",
           "19,19.0,19,19,null,null",
           "20,20.0,20,20,null,null",
-          "21,null,null,21,true,null",
-          "22,null,null,22,true,null",
           "23,230000.0,null,230000,false,null",
-          "24,null,null,24,true,null",
-          "25,null,null,25,true,null",
-          "26,null,null,26,false,null",
-          "27,null,null,27,false,null",
-          "28,null,null,28,false,null",
-          "29,null,null,29,false,null",
-          "30,null,null,30,false,null",
           "31,null,31,null,null,aligned_test31",
           "32,null,32,null,null,aligned_test32",
-          "33,null,33,null,null,aligned_test33",
-          "34,null,34,null,null,aligned_test34",
-          "35,null,35,null,null,aligned_test35",
-          "36,null,36,null,null,aligned_test36",
-          "37,null,37,null,null,aligned_test37",
-          "38,null,38,null,null,aligned_test38",
-          "39,null,39,null,null,aligned_test39",
-          "40,null,40,null,null,aligned_test40",
         };
 
     String[] columnNames = {
@@ -131,7 +227,71 @@ public class IoTDBRawQueryWithoutValueFilterIT {
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet = statement.execute("select * from root.sg1.d1");
+      boolean hasResultSet =
+          statement.execute("select * from root.sg1.d1 where s1 >= 13 or s2 < 
33");
+      Assert.assertTrue(hasResultSet);
+
+      try (ResultSet resultSet = statement.getResultSet()) {
+        ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
+        Map<String, Integer> map = new HashMap<>();
+        for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
+          map.put(resultSetMetaData.getColumnName(i), i);
+        }
+        assertEquals(columnNames.length + 1, 
resultSetMetaData.getColumnCount());
+        int cnt = 0;
+        while (resultSet.next()) {
+          StringBuilder builder = new StringBuilder();
+          builder.append(resultSet.getString(1));
+          for (String columnName : columnNames) {
+            int index = map.get(columnName);
+            builder.append(",").append(resultSet.getString(index));
+          }
+          assertEquals(retArray[cnt], builder.toString());
+          cnt++;
+        }
+        assertEquals(retArray.length, cnt);
+      }
+
+    } catch (SQLException e) {
+      e.printStackTrace();
+      fail(e.getMessage());
+    }
+  }
+
+  @Test
+  public void selectAllAlignedAndNonAlignedTest1() throws 
ClassNotFoundException {
+
+    String[] retArray =
+        new String[] {
+          
"13,130000.0,130000,130000,true,aligned_unseq_test13,13.0,13,13,null,null",
+          "17,17.0,17,17,null,null,17.0,17,17,null,null",
+          "18,18.0,18,18,null,null,18.0,18,18,null,null",
+          "19,19.0,19,19,null,null,19.0,19,19,null,null",
+          "20,20.0,20,20,null,null,20.0,20,20,null,null",
+        };
+
+    String[] columnNames = {
+      "root.sg1.d1.s1",
+      "root.sg1.d1.s2",
+      "root.sg1.d1.s3",
+      "root.sg1.d1.s4",
+      "root.sg1.d1.s5",
+      "root.sg1.d2.s1",
+      "root.sg1.d2.s2",
+      "root.sg1.d2.s3",
+      "root.sg1.d2.s4",
+      "root.sg1.d2.s5"
+    };
+
+    Class.forName(Config.JDBC_DRIVER_NAME);
+    try (Connection connection =
+            DriverManager.getConnection(
+                Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
+        Statement statement = connection.createStatement()) {
+
+      boolean hasResultSet =
+          statement.execute(
+              "select * from root.sg1.* where root.sg1.d1.s2 > 16 and 
root.sg1.d2.s3 <= 36");
       Assert.assertTrue(hasResultSet);
 
       try (ResultSet resultSet = statement.getResultSet()) {
@@ -162,35 +322,18 @@ public class IoTDBRawQueryWithoutValueFilterIT {
   }
 
   @Test
-  public void selectAllAlignedAndNonAlignedTest() throws 
ClassNotFoundException {
+  public void selectAllAlignedAndNonAlignedTest2() throws 
ClassNotFoundException {
 
     String[] retArray =
         new String[] {
-          "1,1.0,1,1,true,aligned_test1,1.0,1,1,true,non_aligned_test1",
-          "2,2.0,2,2,null,aligned_test2,2.0,2,2,null,non_aligned_test2",
           
"3,30000.0,null,30000,true,aligned_unseq_test3,3.0,null,3,false,non_aligned_test3",
-          "4,4.0,4,null,true,aligned_test4,4.0,4,null,true,non_aligned_test4",
-          "5,5.0,5,null,true,aligned_test5,5.0,5,null,true,non_aligned_test5",
-          "6,6.0,6,6,true,null,6.0,6,6,true,null",
           "7,7.0,7,7,false,aligned_test7,7.0,7,7,false,non_aligned_test7",
-          "8,8.0,8,8,null,aligned_test8,8.0,8,8,null,non_aligned_test8",
           "9,9.0,9,9,false,aligned_test9,9.0,9,9,false,non_aligned_test9",
-          
"10,null,10,10,true,aligned_test10,null,10,10,true,non_aligned_test10",
-          "11,11.0,11,11,null,null,11.0,11,11,null,null",
-          "12,12.0,12,12,null,null,12.0,12,12,null,null",
           
"13,130000.0,130000,130000,true,aligned_unseq_test13,13.0,13,13,null,null",
-          "14,14.0,14,14,null,null,14.0,14,14,null,null",
-          "15,15.0,15,15,null,null,15.0,15,15,null,null",
-          "16,16.0,16,16,null,null,16.0,16,16,null,null",
           "17,17.0,17,17,null,null,17.0,17,17,null,null",
           "18,18.0,18,18,null,null,18.0,18,18,null,null",
           "19,19.0,19,19,null,null,19.0,19,19,null,null",
           "20,20.0,20,20,null,null,20.0,20,20,null,null",
-          "21,null,null,21,true,null,null,null,21,true,null",
-          "22,null,null,22,true,null,null,null,22,true,null",
-          "23,230000.0,null,230000,false,null,null,null,23,true,null",
-          "24,null,null,24,true,null,null,null,24,true,null",
-          "25,null,null,25,true,null,null,null,25,true,null",
           "26,null,null,26,false,null,null,null,26,false,null",
           "27,null,null,27,false,null,null,null,27,false,null",
           "28,null,null,28,false,null,null,null,28,false,null",
@@ -227,7 +370,9 @@ public class IoTDBRawQueryWithoutValueFilterIT {
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet = statement.execute("select * from root.sg1.*");
+      boolean hasResultSet =
+          statement.execute(
+              "select * from root.sg1.* where root.sg1.d1.s2 > 16 or 
root.sg1.d2.s4 = false");
       Assert.assertTrue(hasResultSet);
 
       try (ResultSet resultSet = statement.getResultSet()) {
@@ -258,7 +403,63 @@ public class IoTDBRawQueryWithoutValueFilterIT {
   }
 
   @Test
-  public void selectAllAlignedWithTimeFilterTest() throws 
ClassNotFoundException {
+  public void selectAllAlignedWithTimeAndValueFilterTest1() throws 
ClassNotFoundException {
+
+    String[] retArray =
+        new String[] {
+          "9,9.0,9,9,false,aligned_test9",
+          "11,11.0,11,11,null,null",
+          "12,12.0,12,12,null,null",
+          "14,14.0,14,14,null,null",
+          "15,15.0,15,15,null,null",
+          "16,16.0,16,16,null,null",
+          "17,17.0,17,17,null,null",
+          "18,18.0,18,18,null,null",
+        };
+
+    String[] columnNames = {
+      "root.sg1.d1.s1", "root.sg1.d1.s2", "root.sg1.d1.s3", "root.sg1.d1.s4", 
"root.sg1.d1.s5"
+    };
+
+    Class.forName(Config.JDBC_DRIVER_NAME);
+    try (Connection connection =
+            DriverManager.getConnection(
+                Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
+        Statement statement = connection.createStatement()) {
+
+      boolean hasResultSet =
+          statement.execute("select * from root.sg1.d1 where time >= 9 and 
time <= 33 and s1 < 19");
+      Assert.assertTrue(hasResultSet);
+
+      try (ResultSet resultSet = statement.getResultSet()) {
+        ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
+        Map<String, Integer> map = new HashMap<>();
+        for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
+          map.put(resultSetMetaData.getColumnName(i), i);
+        }
+        assertEquals(columnNames.length + 1, 
resultSetMetaData.getColumnCount());
+        int cnt = 0;
+        while (resultSet.next()) {
+          StringBuilder builder = new StringBuilder();
+          builder.append(resultSet.getString(1));
+          for (String columnName : columnNames) {
+            int index = map.get(columnName);
+            builder.append(",").append(resultSet.getString(index));
+          }
+          assertEquals(retArray[cnt], builder.toString());
+          cnt++;
+        }
+        assertEquals(retArray.length, cnt);
+      }
+
+    } catch (SQLException e) {
+      e.printStackTrace();
+      fail(e.getMessage());
+    }
+  }
+
+  @Test
+  public void selectAllAlignedWithTimeAndValueFilterTest2() throws 
ClassNotFoundException {
 
     String[] retArray =
         new String[] {
@@ -287,6 +488,8 @@ public class IoTDBRawQueryWithoutValueFilterIT {
           "31,null,31,null,null,aligned_test31",
           "32,null,32,null,null,aligned_test32",
           "33,null,33,null,null,aligned_test33",
+          "36,null,36,null,null,aligned_test36",
+          "37,null,37,null,null,aligned_test37",
         };
 
     String[] columnNames = {
@@ -300,7 +503,8 @@ public class IoTDBRawQueryWithoutValueFilterIT {
         Statement statement = connection.createStatement()) {
 
       boolean hasResultSet =
-          statement.execute("select * from root.sg1.d1 where time >= 9 and 
time <= 33");
+          statement.execute(
+              "select * from root.sg1.d1 where time >= 9 and time <= 33 or s5 
= 'aligned_test36' or s5 = 'aligned_test37'");
       Assert.assertTrue(hasResultSet);
 
       try (ResultSet resultSet = statement.getResultSet()) {
@@ -331,50 +535,24 @@ public class IoTDBRawQueryWithoutValueFilterIT {
   }
 
   @Test
-  public void selectSomeAlignedWithoutValueFilterTest1() throws 
ClassNotFoundException {
+  public void selectSomeAlignedWithValueFilterTest1() throws 
ClassNotFoundException {
 
     String[] retArray =
         new String[] {
           "1,1.0,true,aligned_test1",
           "2,2.0,null,aligned_test2",
-          "3,30000.0,true,aligned_unseq_test3",
           "4,4.0,true,aligned_test4",
           "5,5.0,true,aligned_test5",
           "6,6.0,true,null",
           "7,7.0,false,aligned_test7",
           "8,8.0,null,aligned_test8",
           "9,9.0,false,aligned_test9",
-          "10,null,true,aligned_test10",
           "11,11.0,null,null",
           "12,12.0,null,null",
-          "13,130000.0,true,aligned_unseq_test13",
           "14,14.0,null,null",
           "15,15.0,null,null",
           "16,16.0,null,null",
-          "17,17.0,null,null",
-          "18,18.0,null,null",
-          "19,19.0,null,null",
-          "20,20.0,null,null",
-          "21,null,true,null",
-          "22,null,true,null",
-          "23,230000.0,false,null",
-          "24,null,true,null",
-          "25,null,true,null",
-          "26,null,false,null",
-          "27,null,false,null",
-          "28,null,false,null",
-          "29,null,false,null",
-          "30,null,false,null",
-          "31,null,null,aligned_test31",
-          "32,null,null,aligned_test32",
-          "33,null,null,aligned_test33",
           "34,null,null,aligned_test34",
-          "35,null,null,aligned_test35",
-          "36,null,null,aligned_test36",
-          "37,null,null,aligned_test37",
-          "38,null,null,aligned_test38",
-          "39,null,null,aligned_test39",
-          "40,null,null,aligned_test40",
         };
 
     String[] columnNames = {"root.sg1.d1.s1", "root.sg1.d1.s4", 
"root.sg1.d1.s5"};
@@ -385,7 +563,9 @@ public class IoTDBRawQueryWithoutValueFilterIT {
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet = statement.execute("select s1,s4,s5 from 
root.sg1.d1");
+      boolean hasResultSet =
+          statement.execute(
+              "select s1,s4,s5 from root.sg1.d1 where s1 < 17 or s5 = 
'aligned_test34'");
       Assert.assertTrue(hasResultSet);
 
       try (ResultSet resultSet = statement.getResultSet()) {
@@ -416,40 +596,11 @@ public class IoTDBRawQueryWithoutValueFilterIT {
   }
 
   @Test
-  public void selectSomeAlignedWithoutValueFilterTest2() throws 
ClassNotFoundException {
+  public void selectSomeAlignedWithValueFilterTest2() throws 
ClassNotFoundException {
 
     String[] retArray =
         new String[] {
-          "1,1.0,true",
-          "2,2.0,null",
-          "3,30000.0,true",
-          "4,4.0,true",
-          "5,5.0,true",
-          "6,6.0,true",
-          "7,7.0,false",
-          "8,8.0,null",
-          "9,9.0,false",
-          "10,null,true",
-          "11,11.0,null",
-          "12,12.0,null",
-          "13,130000.0,true",
-          "14,14.0,null",
-          "15,15.0,null",
-          "16,16.0,null",
-          "17,17.0,null",
-          "18,18.0,null",
-          "19,19.0,null",
-          "20,20.0,null",
-          "21,null,true",
-          "22,null,true",
-          "23,230000.0,false",
-          "24,null,true",
-          "25,null,true",
-          "26,null,false",
-          "27,null,false",
-          "28,null,false",
-          "29,null,false",
-          "30,null,false",
+          "7,7.0,false", "9,9.0,false",
         };
 
     String[] columnNames = {"root.sg1.d1.s1", "root.sg1.d1.s4"};
@@ -460,7 +611,8 @@ public class IoTDBRawQueryWithoutValueFilterIT {
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet = statement.execute("select s1,s4 from 
root.sg1.d1");
+      boolean hasResultSet =
+          statement.execute("select s1,s4 from root.sg1.d1 where s1 < 19 and 
s4 = false");
       Assert.assertTrue(hasResultSet);
 
       try (ResultSet resultSet = statement.getResultSet()) {
@@ -491,29 +643,16 @@ public class IoTDBRawQueryWithoutValueFilterIT {
   }
 
   @Test
-  public void selectSomeAlignedWithTimeFilterTest() throws 
ClassNotFoundException {
+  public void selectSomeAlignedWithTimeAndValueFilterTest() throws 
ClassNotFoundException {
 
     String[] retArray =
         new String[] {
-          "16,16.0,null,null",
-          "17,17.0,null,null",
-          "18,18.0,null,null",
-          "19,19.0,null,null",
-          "20,20.0,null,null",
-          "21,null,true,null",
-          "22,null,true,null",
           "23,230000.0,false,null",
-          "24,null,true,null",
-          "25,null,true,null",
           "26,null,false,null",
           "27,null,false,null",
           "28,null,false,null",
           "29,null,false,null",
           "30,null,false,null",
-          "31,null,null,aligned_test31",
-          "32,null,null,aligned_test32",
-          "33,null,null,aligned_test33",
-          "34,null,null,aligned_test34",
         };
 
     String[] columnNames = {"root.sg1.d1.s1", "root.sg1.d1.s4", 
"root.sg1.d1.s5"};
@@ -525,7 +664,8 @@ public class IoTDBRawQueryWithoutValueFilterIT {
         Statement statement = connection.createStatement()) {
 
       boolean hasResultSet =
-          statement.execute("select s1,s4,s5 from root.sg1.d1 where time >= 16 
and time <= 34");
+          statement.execute(
+              "select s1,s4,s5 from root.sg1.d1 where time >= 16 and time <= 
34 and s4=false");
       Assert.assertTrue(hasResultSet);
 
       try (ResultSet resultSet = statement.getResultSet()) {
@@ -556,12 +696,11 @@ public class IoTDBRawQueryWithoutValueFilterIT {
   }
 
   @Test
-  public void selectSomeAlignedAndNonAlignedWithTimeFilterTest() throws 
ClassNotFoundException {
+  public void selectSomeAlignedAndNonAlignedWithTimeAndValueFilterTest()
+      throws ClassNotFoundException {
 
     String[] retArray =
         new String[] {
-          "16,null,null,16.0,null,null,16.0",
-          "17,null,null,17.0,null,null,17.0",
           "18,null,null,18.0,null,null,18.0",
           "19,null,null,19.0,null,null,19.0",
           "20,null,null,20.0,null,null,20.0",
@@ -570,15 +709,6 @@ public class IoTDBRawQueryWithoutValueFilterIT {
           "23,null,false,null,null,true,230000.0",
           "24,null,true,null,null,true,null",
           "25,null,true,null,null,true,null",
-          "26,null,false,null,null,false,null",
-          "27,null,false,null,null,false,null",
-          "28,null,false,null,null,false,null",
-          "29,null,false,null,null,false,null",
-          "30,null,false,null,null,false,null",
-          "31,non_aligned_test31,null,null,aligned_test31,null,null",
-          "32,non_aligned_test32,null,null,aligned_test32,null,null",
-          "33,non_aligned_test33,null,null,aligned_test33,null,null",
-          "34,non_aligned_test34,null,null,aligned_test34,null,null",
         };
 
     String[] columnNames = {
@@ -599,7 +729,7 @@ public class IoTDBRawQueryWithoutValueFilterIT {
       // 1 4 5
       boolean hasResultSet =
           statement.execute(
-              "select d2.s5, d1.s4, d2.s1, d1.s5, d2.s4, d1.s1 from root.sg1 
where time >= 16 and time <= 34");
+              "select d2.s5, d1.s4, d2.s1, d1.s5, d2.s4, d1.s1 from root.sg1 
where time >= 16 and time <= 34 and (d1.s1 >= 18 or d2.s4 = true)");
       Assert.assertTrue(hasResultSet);
 
       try (ResultSet resultSet = statement.getResultSet()) {
diff --git 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletion2IT.java
 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilterWithDeletion2IT.java
similarity index 86%
copy from 
server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletion2IT.java
copy to 
server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilterWithDeletion2IT.java
index a485cfb..490643a 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletion2IT.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilterWithDeletion2IT.java
@@ -30,9 +30,8 @@ import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.Statement;
 
-/** IoTDBRawQueryWithoutValueFilter2IT */
-public class IoTDBRawQueryWithoutValueFilterWithDeletion2IT
-    extends IoTDBRawQueryWithoutValueFilterWithDeletionIT {
+public class IoTDBRawQueryWithValueFilterWithDeletion2IT
+    extends IoTDBRawQueryWithValueFilterWithDeletionIT {
 
   private static int numOfPointsPerPage;
 
@@ -49,8 +48,8 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletion2IT
         
IoTDBDescriptor.getInstance().getConfig().isEnableCrossSpaceCompaction();
     numOfPointsPerPage = 
TSFileDescriptor.getInstance().getConfig().getMaxNumberOfPointsInPage();
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableUnseqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableCrossSpaceCompaction(false);
     TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(3);
     AlignedWriteUtil.insertData();
     Class.forName(Config.JDBC_DRIVER_NAME);
@@ -73,10 +72,10 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletion2IT
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(enableSeqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableUnseqSpaceCompaction);
+        .setEnableUnseqSpaceCompaction(enableUnseqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableCrossSpaceCompaction);
+        .setEnableCrossSpaceCompaction(enableCrossSpaceCompaction);
     
TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(numOfPointsPerPage);
     EnvironmentUtils.cleanEnv();
   }
diff --git 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java
 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilterWithDeletionIT.java
similarity index 62%
copy from 
server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java
copy to 
server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilterWithDeletionIT.java
index 113e6fd..a1ce64c 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilterWithDeletionIT.java
@@ -39,7 +39,7 @@ import java.util.Map;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
-public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
+public class IoTDBRawQueryWithValueFilterWithDeletionIT {
 
   protected static boolean enableSeqSpaceCompaction;
   protected static boolean enableUnseqSpaceCompaction;
@@ -57,8 +57,8 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
     enableCrossSpaceCompaction =
         
IoTDBDescriptor.getInstance().getConfig().isEnableCrossSpaceCompaction();
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableUnseqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableCrossSpaceCompaction(false);
 
     AlignedWriteUtil.insertData();
     Class.forName(Config.JDBC_DRIVER_NAME);
@@ -81,31 +81,136 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT 
{
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(enableSeqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableUnseqSpaceCompaction);
+        .setEnableUnseqSpaceCompaction(enableUnseqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableCrossSpaceCompaction);
+        .setEnableCrossSpaceCompaction(enableCrossSpaceCompaction);
     EnvironmentUtils.cleanEnv();
   }
 
   @Test
-  public void selectAllAlignedWithoutValueFilterTest() throws 
ClassNotFoundException {
+  public void selectAllAlignedWithValueFilterTest1() throws 
ClassNotFoundException {
 
     String[] retArray =
         new String[] {
           "1,null,1,true,aligned_test1",
-          "2,null,2,null,aligned_test2",
           "3,null,30000,true,aligned_unseq_test3",
           "4,null,null,true,aligned_test4",
           "5,null,null,true,aligned_test5",
           "6,null,6,true,null",
+          "10,null,10,true,aligned_test10",
+          "13,null,130000,true,aligned_unseq_test13",
+          "21,null,21,true,null",
+          "22,null,22,true,null",
+          "24,null,24,true,null",
+          "25,null,25,true,null",
+        };
+
+    String[] columnNames = {"root.sg1.d1.s1", "root.sg1.d1.s3", 
"root.sg1.d1.s4", "root.sg1.d1.s5"};
+
+    Class.forName(Config.JDBC_DRIVER_NAME);
+    try (Connection connection =
+            DriverManager.getConnection(
+                Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
+        Statement statement = connection.createStatement()) {
+
+      boolean hasResultSet = statement.execute("select * from root.sg1.d1 
where s4 = true");
+      Assert.assertTrue(hasResultSet);
+
+      try (ResultSet resultSet = statement.getResultSet()) {
+        ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
+        Map<String, Integer> map = new HashMap<>();
+        for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
+          map.put(resultSetMetaData.getColumnName(i), i);
+        }
+        assertEquals(columnNames.length + 1, 
resultSetMetaData.getColumnCount());
+        int cnt = 0;
+        while (resultSet.next()) {
+          StringBuilder builder = new StringBuilder();
+          builder.append(resultSet.getString(1));
+          for (String columnName : columnNames) {
+            int index = map.get(columnName);
+            builder.append(",").append(resultSet.getString(index));
+          }
+          assertEquals(retArray[cnt], builder.toString());
+          cnt++;
+        }
+        assertEquals(retArray.length, cnt);
+      }
+
+    } catch (SQLException e) {
+      e.printStackTrace();
+      fail(e.getMessage());
+    }
+  }
+
+  @Test
+  public void selectAllAlignedWithValueFilterTest2() throws 
ClassNotFoundException {
+
+    String[] retArray =
+        new String[] {
+          "7,null,7,false,aligned_test7",
+          "9,null,9,false,aligned_test9",
+          "26,null,26,false,null",
+          "27,null,27,false,null",
+          "28,null,28,false,null",
+          "29,null,29,false,null",
+          "30,null,30,false,null",
+        };
+
+    String[] columnNames = {"root.sg1.d1.s1", "root.sg1.d1.s3", 
"root.sg1.d1.s4", "root.sg1.d1.s5"};
+
+    Class.forName(Config.JDBC_DRIVER_NAME);
+    try (Connection connection =
+            DriverManager.getConnection(
+                Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
+        Statement statement = connection.createStatement()) {
+
+      boolean hasResultSet =
+          statement.execute("select * from root.sg1.d1 where s4 = false and s3 
<= 33");
+      Assert.assertTrue(hasResultSet);
+
+      try (ResultSet resultSet = statement.getResultSet()) {
+        ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
+        Map<String, Integer> map = new HashMap<>();
+        for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
+          map.put(resultSetMetaData.getColumnName(i), i);
+        }
+        assertEquals(columnNames.length + 1, 
resultSetMetaData.getColumnCount());
+        int cnt = 0;
+        while (resultSet.next()) {
+          StringBuilder builder = new StringBuilder();
+          builder.append(resultSet.getString(1));
+          for (String columnName : columnNames) {
+            int index = map.get(columnName);
+            builder.append(",").append(resultSet.getString(index));
+          }
+          assertEquals(retArray[cnt], builder.toString());
+          cnt++;
+        }
+        assertEquals(retArray.length, cnt);
+      }
+
+    } catch (SQLException e) {
+      e.printStackTrace();
+      fail(e.getMessage());
+    }
+  }
+
+  @Test
+  public void selectAllAlignedWithValueFilterTest3() throws 
ClassNotFoundException {
+
+    String[] retArray =
+        new String[] {
+          "1,null,1,true,aligned_test1",
+          "2,null,2,null,aligned_test2",
+          "6,null,6,true,null",
           "7,null,7,false,aligned_test7",
           "8,null,8,null,aligned_test8",
           "9,null,9,false,aligned_test9",
           "10,null,10,true,aligned_test10",
           "11,null,11,null,null",
           "12,null,12,null,null",
-          "13,null,130000,true,aligned_unseq_test13",
           "14,null,14,null,null",
           "15,null,15,null,null",
           "16,null,16,null,null",
@@ -123,15 +228,6 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT 
{
           "28,null,28,false,null",
           "29,null,29,false,null",
           "30,null,30,false,null",
-          "31,null,null,null,aligned_test31",
-          "32,null,null,null,aligned_test32",
-          "33,null,null,null,aligned_test33",
-          "34,null,null,null,aligned_test34",
-          "35,null,null,null,aligned_test35",
-          "36,null,null,null,aligned_test36",
-          "37,null,null,null,aligned_test37",
-          "38,null,null,null,aligned_test38",
-          "39,null,null,null,aligned_test39",
           "40,null,null,null,aligned_test40",
         };
 
@@ -143,7 +239,9 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet = statement.execute("select * from root.sg1.d1");
+      boolean hasResultSet =
+          statement.execute(
+              "select * from root.sg1.d1 where s5 = 'aligned_test40' or s4 = 
false or s3 <= 33");
       Assert.assertTrue(hasResultSet);
 
       try (ResultSet resultSet = statement.getResultSet()) {
@@ -174,26 +272,87 @@ public class 
IoTDBRawQueryWithoutValueFilterWithDeletionIT {
   }
 
   @Test
-  public void selectAllAlignedAndNonAlignedTest() throws 
ClassNotFoundException {
+  public void selectAllAlignedAndNonAlignedTest1() throws 
ClassNotFoundException {
+
+    String[] retArray =
+        new String[] {
+          
"3,null,30000,true,aligned_unseq_test3,3.0,null,3,false,non_aligned_test3",
+          "13,null,130000,true,aligned_unseq_test13,13.0,13,13,null,null",
+          "17,null,17,null,null,17.0,17,17,null,null",
+          "18,null,18,null,null,18.0,18,18,null,null",
+          "19,null,19,null,null,19.0,19,19,null,null",
+          "20,null,20,null,null,20.0,20,20,null,null",
+          "21,null,21,true,null,null,null,21,true,null",
+          "22,null,22,true,null,null,null,22,true,null",
+          "23,230000.0,230000,false,null,null,null,23,true,null",
+          "24,null,24,true,null,null,null,24,true,null",
+          "25,null,25,true,null,null,null,25,true,null",
+          "26,null,26,false,null,null,null,26,false,null",
+          "27,null,27,false,null,null,null,27,false,null",
+          "28,null,28,false,null,null,null,28,false,null",
+          "29,null,29,false,null,null,null,29,false,null",
+          "30,null,30,false,null,null,null,30,false,null",
+        };
+
+    String[] columnNames = {
+      "root.sg1.d1.s1",
+      "root.sg1.d1.s3",
+      "root.sg1.d1.s4",
+      "root.sg1.d1.s5",
+      "root.sg1.d2.s1",
+      "root.sg1.d2.s2",
+      "root.sg1.d2.s3",
+      "root.sg1.d2.s4",
+      "root.sg1.d2.s5"
+    };
+
+    Class.forName(Config.JDBC_DRIVER_NAME);
+    try (Connection connection =
+            DriverManager.getConnection(
+                Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
+        Statement statement = connection.createStatement()) {
+
+      boolean hasResultSet =
+          statement.execute(
+              "select * from root.sg1.* where root.sg1.d1.s3 > 16 and 
root.sg1.d2.s3 <= 36");
+      Assert.assertTrue(hasResultSet);
+
+      try (ResultSet resultSet = statement.getResultSet()) {
+        ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
+        Map<String, Integer> map = new HashMap<>();
+        for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
+          map.put(resultSetMetaData.getColumnName(i), i);
+        }
+        assertEquals(columnNames.length + 1, 
resultSetMetaData.getColumnCount());
+        int cnt = 0;
+        while (resultSet.next()) {
+          StringBuilder builder = new StringBuilder();
+          builder.append(resultSet.getString(1));
+          for (String columnName : columnNames) {
+            int index = map.get(columnName);
+            builder.append(",").append(resultSet.getString(index));
+          }
+          assertEquals(retArray[cnt], builder.toString());
+          cnt++;
+        }
+        assertEquals(retArray.length, cnt);
+      }
+
+    } catch (SQLException e) {
+      e.printStackTrace();
+      fail(e.getMessage());
+    }
+  }
+
+  @Test
+  public void selectAllAlignedAndNonAlignedTest2() throws 
ClassNotFoundException {
 
     String[] retArray =
         new String[] {
-          "1,null,1,true,aligned_test1,1.0,1,1,true,non_aligned_test1",
-          "2,null,2,null,aligned_test2,2.0,2,2,null,non_aligned_test2",
           
"3,null,30000,true,aligned_unseq_test3,3.0,null,3,false,non_aligned_test3",
-          "4,null,null,true,aligned_test4,4.0,4,null,true,non_aligned_test4",
-          "5,null,null,true,aligned_test5,5.0,5,null,true,non_aligned_test5",
-          "6,null,6,true,null,6.0,6,6,true,null",
           "7,null,7,false,aligned_test7,7.0,7,7,false,non_aligned_test7",
-          "8,null,8,null,aligned_test8,8.0,8,8,null,non_aligned_test8",
           "9,null,9,false,aligned_test9,9.0,9,9,false,non_aligned_test9",
-          "10,null,10,true,aligned_test10,null,10,10,true,non_aligned_test10",
-          "11,null,11,null,null,11.0,11,11,null,null",
-          "12,null,12,null,null,12.0,12,12,null,null",
           "13,null,130000,true,aligned_unseq_test13,13.0,13,13,null,null",
-          "14,null,14,null,null,14.0,14,14,null,null",
-          "15,null,15,null,null,15.0,15,15,null,null",
-          "16,null,16,null,null,16.0,16,16,null,null",
           "17,null,17,null,null,17.0,17,17,null,null",
           "18,null,18,null,null,18.0,18,18,null,null",
           "19,null,19,null,null,19.0,19,19,null,null",
@@ -208,16 +367,6 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT 
{
           "28,null,28,false,null,null,null,28,false,null",
           "29,null,29,false,null,null,null,29,false,null",
           "30,null,30,false,null,null,null,30,false,null",
-          
"31,null,null,null,aligned_test31,null,31,null,null,non_aligned_test31",
-          
"32,null,null,null,aligned_test32,null,32,null,null,non_aligned_test32",
-          
"33,null,null,null,aligned_test33,null,33,null,null,non_aligned_test33",
-          
"34,null,null,null,aligned_test34,null,34,null,null,non_aligned_test34",
-          
"35,null,null,null,aligned_test35,null,35,null,null,non_aligned_test35",
-          
"36,null,null,null,aligned_test36,null,36,null,null,non_aligned_test36",
-          
"37,null,null,null,aligned_test37,null,37,null,null,non_aligned_test37",
-          
"38,null,null,null,aligned_test38,null,38,null,null,non_aligned_test38",
-          
"39,null,null,null,aligned_test39,null,39,null,null,non_aligned_test39",
-          
"40,null,null,null,aligned_test40,null,40,null,null,non_aligned_test40",
         };
 
     String[] columnNames = {
@@ -238,7 +387,73 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT 
{
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet = statement.execute("select * from root.sg1.*");
+      boolean hasResultSet =
+          statement.execute(
+              "select * from root.sg1.* where root.sg1.d1.s3 > 16 or 
root.sg1.d2.s4 = false");
+      Assert.assertTrue(hasResultSet);
+
+      try (ResultSet resultSet = statement.getResultSet()) {
+        ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
+        Map<String, Integer> map = new HashMap<>();
+        for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
+          map.put(resultSetMetaData.getColumnName(i), i);
+        }
+        assertEquals(columnNames.length + 1, 
resultSetMetaData.getColumnCount());
+        int cnt = 0;
+        while (resultSet.next()) {
+          StringBuilder builder = new StringBuilder();
+          builder.append(resultSet.getString(1));
+          for (String columnName : columnNames) {
+            int index = map.get(columnName);
+            builder.append(",").append(resultSet.getString(index));
+          }
+          assertEquals(retArray[cnt], builder.toString());
+          cnt++;
+        }
+        assertEquals(retArray.length, cnt);
+      }
+
+    } catch (SQLException e) {
+      e.printStackTrace();
+      fail(e.getMessage());
+    }
+  }
+
+  @Test
+  public void selectAllAlignedWithTimeAndValueFilterTest1() throws 
ClassNotFoundException {
+
+    String[] retArray =
+        new String[] {
+          "9,null,9,false,aligned_test9",
+          "10,null,10,true,aligned_test10",
+          "11,null,11,null,null",
+          "12,null,12,null,null",
+          "14,null,14,null,null",
+          "15,null,15,null,null",
+          "16,null,16,null,null",
+          "17,null,17,null,null",
+          "18,null,18,null,null",
+          "19,null,19,null,null",
+          "20,null,20,null,null",
+          "21,null,21,true,null",
+          "22,null,22,true,null",
+          "24,null,24,true,null",
+          "25,null,25,true,null",
+          "26,null,26,false,null",
+          "27,null,27,false,null",
+          "28,null,28,false,null",
+        };
+
+    String[] columnNames = {"root.sg1.d1.s1", "root.sg1.d1.s3", 
"root.sg1.d1.s4", "root.sg1.d1.s5"};
+
+    Class.forName(Config.JDBC_DRIVER_NAME);
+    try (Connection connection =
+            DriverManager.getConnection(
+                Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
+        Statement statement = connection.createStatement()) {
+
+      boolean hasResultSet =
+          statement.execute("select * from root.sg1.d1 where time >= 9 and 
time <= 33 and s3 < 29");
       Assert.assertTrue(hasResultSet);
 
       try (ResultSet resultSet = statement.getResultSet()) {
@@ -269,7 +484,7 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
   }
 
   @Test
-  public void selectAllAlignedWithTimeFilterTest() throws 
ClassNotFoundException {
+  public void selectAllAlignedWithTimeAndValueFilterTest2() throws 
ClassNotFoundException {
 
     String[] retArray =
         new String[] {
@@ -298,6 +513,8 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
           "31,null,null,null,aligned_test31",
           "32,null,null,null,aligned_test32",
           "33,null,null,null,aligned_test33",
+          "36,null,null,null,aligned_test36",
+          "37,null,null,null,aligned_test37",
         };
 
     String[] columnNames = {"root.sg1.d1.s1", "root.sg1.d1.s3", 
"root.sg1.d1.s4", "root.sg1.d1.s5"};
@@ -309,7 +526,8 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
         Statement statement = connection.createStatement()) {
 
       boolean hasResultSet =
-          statement.execute("select * from root.sg1.d1 where time >= 9 and 
time <= 33");
+          statement.execute(
+              "select * from root.sg1.d1 where time >= 9 and time <= 33 or s5 
= 'aligned_test36' or s5 = 'aligned_test37'");
       Assert.assertTrue(hasResultSet);
 
       try (ResultSet resultSet = statement.getResultSet()) {
@@ -340,41 +558,19 @@ public class 
IoTDBRawQueryWithoutValueFilterWithDeletionIT {
   }
 
   @Test
-  public void selectSomeAlignedWithoutValueFilterTest1() throws 
ClassNotFoundException {
+  public void selectSomeAlignedWithValueFilterTest1() throws 
ClassNotFoundException {
 
     String[] retArray =
         new String[] {
-          "1,null,true,aligned_test1",
-          "2,null,null,aligned_test2",
-          "3,null,true,aligned_unseq_test3",
-          "4,null,true,aligned_test4",
-          "5,null,true,aligned_test5",
-          "6,null,true,null",
           "7,null,false,aligned_test7",
-          "8,null,null,aligned_test8",
           "9,null,false,aligned_test9",
-          "10,null,true,aligned_test10",
-          "13,null,true,aligned_unseq_test13",
-          "21,null,true,null",
-          "22,null,true,null",
           "23,230000.0,false,null",
-          "24,null,true,null",
-          "25,null,true,null",
           "26,null,false,null",
           "27,null,false,null",
           "28,null,false,null",
           "29,null,false,null",
           "30,null,false,null",
-          "31,null,null,aligned_test31",
-          "32,null,null,aligned_test32",
-          "33,null,null,aligned_test33",
           "34,null,null,aligned_test34",
-          "35,null,null,aligned_test35",
-          "36,null,null,aligned_test36",
-          "37,null,null,aligned_test37",
-          "38,null,null,aligned_test38",
-          "39,null,null,aligned_test39",
-          "40,null,null,aligned_test40",
         };
 
     String[] columnNames = {"root.sg1.d1.s1", "root.sg1.d1.s4", 
"root.sg1.d1.s5"};
@@ -385,7 +581,9 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet = statement.execute("select s1,s4,s5 from 
root.sg1.d1");
+      boolean hasResultSet =
+          statement.execute(
+              "select s1,s4,s5 from root.sg1.d1 where s4 = false or s5 = 
'aligned_test34'");
       Assert.assertTrue(hasResultSet);
 
       try (ResultSet resultSet = statement.getResultSet()) {
@@ -416,29 +614,11 @@ public class 
IoTDBRawQueryWithoutValueFilterWithDeletionIT {
   }
 
   @Test
-  public void selectSomeAlignedWithoutValueFilterTest2() throws 
ClassNotFoundException {
+  public void selectSomeAlignedWithValueFilterTest2() throws 
ClassNotFoundException {
 
     String[] retArray =
         new String[] {
-          "1,null,true",
-          "3,null,true",
-          "4,null,true",
-          "5,null,true",
-          "6,null,true",
-          "7,null,false",
-          "9,null,false",
-          "10,null,true",
-          "13,null,true",
-          "21,null,true",
-          "22,null,true",
           "23,230000.0,false",
-          "24,null,true",
-          "25,null,true",
-          "26,null,false",
-          "27,null,false",
-          "28,null,false",
-          "29,null,false",
-          "30,null,false",
         };
 
     String[] columnNames = {"root.sg1.d1.s1", "root.sg1.d1.s4"};
@@ -449,7 +629,8 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
 
-      boolean hasResultSet = statement.execute("select s1,s4 from 
root.sg1.d1");
+      boolean hasResultSet =
+          statement.execute("select s1,s4 from root.sg1.d1 where s1 > 29 and 
s4 = false");
       Assert.assertTrue(hasResultSet);
 
       try (ResultSet resultSet = statement.getResultSet()) {
@@ -480,24 +661,16 @@ public class 
IoTDBRawQueryWithoutValueFilterWithDeletionIT {
   }
 
   @Test
-  public void selectSomeAlignedWithTimeFilterTest() throws 
ClassNotFoundException {
+  public void selectSomeAlignedWithTimeAndValueFilterTest() throws 
ClassNotFoundException {
 
     String[] retArray =
         new String[] {
-          "21,null,true,null",
-          "22,null,true,null",
           "23,230000.0,false,null",
-          "24,null,true,null",
-          "25,null,true,null",
           "26,null,false,null",
           "27,null,false,null",
           "28,null,false,null",
           "29,null,false,null",
           "30,null,false,null",
-          "31,null,null,aligned_test31",
-          "32,null,null,aligned_test32",
-          "33,null,null,aligned_test33",
-          "34,null,null,aligned_test34",
         };
 
     String[] columnNames = {"root.sg1.d1.s1", "root.sg1.d1.s4", 
"root.sg1.d1.s5"};
@@ -509,7 +682,8 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
         Statement statement = connection.createStatement()) {
 
       boolean hasResultSet =
-          statement.execute("select s1,s4,s5 from root.sg1.d1 where time >= 16 
and time <= 34");
+          statement.execute(
+              "select s1,s4,s5 from root.sg1.d1 where time >= 16 and time <= 
34 and s4=false");
       Assert.assertTrue(hasResultSet);
 
       try (ResultSet resultSet = statement.getResultSet()) {
@@ -540,25 +714,16 @@ public class 
IoTDBRawQueryWithoutValueFilterWithDeletionIT {
   }
 
   @Test
-  public void selectSomeAlignedAndNonAlignedWithTimeFilterTest() throws 
ClassNotFoundException {
+  public void selectSomeAlignedAndNonAlignedWithTimeAndValueFilterTest()
+      throws ClassNotFoundException {
 
     String[] retArray =
         new String[] {
-          "16,null,null,16.0,null,null,null",
-          "17,null,null,17.0,null,null,null",
-          "18,null,null,18.0,null,null,null",
-          "19,null,null,19.0,null,null,null",
-          "20,null,null,20.0,null,null,null",
           "21,null,true,null,null,true,null",
           "22,null,true,null,null,true,null",
           "23,null,false,null,null,true,230000.0",
           "24,null,true,null,null,true,null",
           "25,null,true,null,null,true,null",
-          "26,null,false,null,null,false,null",
-          "27,null,false,null,null,false,null",
-          "28,null,false,null,null,false,null",
-          "29,null,false,null,null,false,null",
-          "30,null,false,null,null,false,null",
           "31,non_aligned_test31,null,null,aligned_test31,null,null",
           "32,non_aligned_test32,null,null,aligned_test32,null,null",
           "33,non_aligned_test33,null,null,aligned_test33,null,null",
@@ -583,7 +748,7 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
       // 1 4 5
       boolean hasResultSet =
           statement.execute(
-              "select d2.s5, d1.s4, d2.s1, d1.s5, d2.s4, d1.s1 from root.sg1 
where time >= 16 and time <= 34");
+              "select d2.s5, d1.s4, d2.s1, d1.s5, d2.s4, d1.s1 from root.sg1 
where time >= 16 and time <= 34 and (d1.s5 = 'aligned_test31' or d1.s5 = 
'aligned_test32' or d1.s5 = 'aligned_test33' or d1.s5 = 'aligned_test34' or 
d2.s4 = true)");
       Assert.assertTrue(hasResultSet);
 
       try (ResultSet resultSet = statement.getResultSet()) {
diff --git 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilter2IT.java
 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilter2IT.java
index a22b0eb..7e3f200 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilter2IT.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilter2IT.java
@@ -43,8 +43,8 @@ public class IoTDBRawQueryWithoutValueFilter2IT extends 
IoTDBRawQueryWithoutValu
         
IoTDBDescriptor.getInstance().getConfig().isEnableCrossSpaceCompaction();
     numOfPointsPerPage = 
TSFileDescriptor.getInstance().getConfig().getMaxNumberOfPointsInPage();
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableUnseqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableCrossSpaceCompaction(false);
     TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(3);
     AlignedWriteUtil.insertData();
   }
@@ -54,10 +54,10 @@ public class IoTDBRawQueryWithoutValueFilter2IT extends 
IoTDBRawQueryWithoutValu
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(enableSeqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableUnseqSpaceCompaction);
+        .setEnableUnseqSpaceCompaction(enableUnseqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableCrossSpaceCompaction);
+        .setEnableCrossSpaceCompaction(enableCrossSpaceCompaction);
     
TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(numOfPointsPerPage);
     EnvironmentUtils.cleanEnv();
   }
diff --git 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterIT.java
 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterIT.java
index 96bd8a6..80df1db 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterIT.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterIT.java
@@ -57,8 +57,8 @@ public class IoTDBRawQueryWithoutValueFilterIT {
     enableCrossSpaceCompaction =
         
IoTDBDescriptor.getInstance().getConfig().isEnableCrossSpaceCompaction();
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableUnseqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableCrossSpaceCompaction(false);
     AlignedWriteUtil.insertData();
   }
 
@@ -67,10 +67,10 @@ public class IoTDBRawQueryWithoutValueFilterIT {
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(enableSeqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableUnseqSpaceCompaction);
+        .setEnableUnseqSpaceCompaction(enableUnseqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableCrossSpaceCompaction);
+        .setEnableCrossSpaceCompaction(enableCrossSpaceCompaction);
     EnvironmentUtils.cleanEnv();
   }
 
diff --git 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletion2IT.java
 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletion2IT.java
index a485cfb..f3377d3 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletion2IT.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletion2IT.java
@@ -49,8 +49,8 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletion2IT
         
IoTDBDescriptor.getInstance().getConfig().isEnableCrossSpaceCompaction();
     numOfPointsPerPage = 
TSFileDescriptor.getInstance().getConfig().getMaxNumberOfPointsInPage();
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableUnseqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableCrossSpaceCompaction(false);
     TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(3);
     AlignedWriteUtil.insertData();
     Class.forName(Config.JDBC_DRIVER_NAME);
@@ -73,10 +73,10 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletion2IT
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(enableSeqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableUnseqSpaceCompaction);
+        .setEnableUnseqSpaceCompaction(enableUnseqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableCrossSpaceCompaction);
+        .setEnableCrossSpaceCompaction(enableCrossSpaceCompaction);
     
TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(numOfPointsPerPage);
     EnvironmentUtils.cleanEnv();
   }
diff --git 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java
 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java
index 113e6fd..efa1b4c 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java
@@ -57,8 +57,8 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
     enableCrossSpaceCompaction =
         
IoTDBDescriptor.getInstance().getConfig().isEnableCrossSpaceCompaction();
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
-    
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableUnseqSpaceCompaction(false);
+    
IoTDBDescriptor.getInstance().getConfig().setEnableCrossSpaceCompaction(false);
 
     AlignedWriteUtil.insertData();
     Class.forName(Config.JDBC_DRIVER_NAME);
@@ -81,10 +81,10 @@ public class IoTDBRawQueryWithoutValueFilterWithDeletionIT {
     
IoTDBDescriptor.getInstance().getConfig().setEnableSeqSpaceCompaction(enableSeqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableUnseqSpaceCompaction);
+        .setEnableUnseqSpaceCompaction(enableUnseqSpaceCompaction);
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setEnableSeqSpaceCompaction(enableCrossSpaceCompaction);
+        .setEnableCrossSpaceCompaction(enableCrossSpaceCompaction);
     EnvironmentUtils.cleanEnv();
   }
 

Reply via email to