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

jiangtian pushed a commit to branch tsFile_v4
in repository https://gitbox.apache.org/repos/asf/tsfile.git


The following commit(s) were added to refs/heads/tsFile_v4 by this push:
     new 4d7f3988 Start table-view query
4d7f3988 is described below

commit 4d7f3988b1138ad2f1e2339f75bdf37a425663b1
Author: jt2594838 <[email protected]>
AuthorDate: Sun Apr 7 19:12:44 2024 +0800

    Start table-view query
---
 .../org/apache/tsfile/read/expression/ExpressionTree.java    |  5 +++++
 .../org/apache/tsfile/read/query/executor/QueryExecutor.java |  6 ++++++
 .../apache/tsfile/read/query/executor/TsFileExecutor.java    |  8 ++++++++
 .../executor/QueryExecutor.java => reader/RecordReader.java} | 12 +++++-------
 4 files changed, 24 insertions(+), 7 deletions(-)

diff --git 
a/tsfile/src/main/java/org/apache/tsfile/read/expression/ExpressionTree.java 
b/tsfile/src/main/java/org/apache/tsfile/read/expression/ExpressionTree.java
new file mode 100644
index 00000000..7dd6e427
--- /dev/null
+++ b/tsfile/src/main/java/org/apache/tsfile/read/expression/ExpressionTree.java
@@ -0,0 +1,5 @@
+package org.apache.tsfile.read.expression;
+
+public interface ExpressionTree {
+  boolean satisfy(Object value);
+}
diff --git 
a/tsfile/src/main/java/org/apache/tsfile/read/query/executor/QueryExecutor.java 
b/tsfile/src/main/java/org/apache/tsfile/read/query/executor/QueryExecutor.java
index 8ce0d2bb..f709bd08 100644
--- 
a/tsfile/src/main/java/org/apache/tsfile/read/query/executor/QueryExecutor.java
+++ 
b/tsfile/src/main/java/org/apache/tsfile/read/query/executor/QueryExecutor.java
@@ -19,12 +19,18 @@
 
 package org.apache.tsfile.read.query.executor;
 
+import java.util.List;
+import org.apache.tsfile.read.expression.ExpressionTree;
 import org.apache.tsfile.read.expression.QueryExpression;
 import org.apache.tsfile.read.query.dataset.QueryDataSet;
 
 import java.io.IOException;
+import org.apache.tsfile.read.reader.RecordReader;
 
 public interface QueryExecutor {
 
   QueryDataSet execute(QueryExpression queryExpression) throws IOException;
+
+  RecordReader query(String tableName, List<String> columns, ExpressionTree 
timeFilter,
+      ExpressionTree idFilter, ExpressionTree measurementFilter);
 }
diff --git 
a/tsfile/src/main/java/org/apache/tsfile/read/query/executor/TsFileExecutor.java
 
b/tsfile/src/main/java/org/apache/tsfile/read/query/executor/TsFileExecutor.java
index e599e765..d479b2a5 100644
--- 
a/tsfile/src/main/java/org/apache/tsfile/read/query/executor/TsFileExecutor.java
+++ 
b/tsfile/src/main/java/org/apache/tsfile/read/query/executor/TsFileExecutor.java
@@ -27,6 +27,7 @@ import org.apache.tsfile.read.common.Path;
 import org.apache.tsfile.read.common.TimeRange;
 import org.apache.tsfile.read.controller.IChunkLoader;
 import org.apache.tsfile.read.controller.IMetadataQuerier;
+import org.apache.tsfile.read.expression.ExpressionTree;
 import org.apache.tsfile.read.expression.IExpression;
 import org.apache.tsfile.read.expression.QueryExpression;
 import org.apache.tsfile.read.expression.impl.BinaryExpression;
@@ -34,6 +35,7 @@ import 
org.apache.tsfile.read.expression.impl.GlobalTimeExpression;
 import org.apache.tsfile.read.expression.util.ExpressionOptimizer;
 import org.apache.tsfile.read.query.dataset.DataSetWithoutTimeGenerator;
 import org.apache.tsfile.read.query.dataset.QueryDataSet;
+import org.apache.tsfile.read.reader.RecordReader;
 import org.apache.tsfile.read.reader.series.AbstractFileSeriesReader;
 import org.apache.tsfile.read.reader.series.EmptyFileSeriesReader;
 import org.apache.tsfile.read.reader.series.FileSeriesReader;
@@ -54,6 +56,12 @@ public class TsFileExecutor implements QueryExecutor {
     this.chunkLoader = chunkLoader;
   }
 
+  @Override
+  public RecordReader query(String tableName, List<String> columns, 
ExpressionTree timeFilter,
+      ExpressionTree idFilter, ExpressionTree measurementFilter) {
+    return null;
+  }
+
   @Override
   public QueryDataSet execute(QueryExpression queryExpression) throws 
IOException {
     // bloom filter
diff --git 
a/tsfile/src/main/java/org/apache/tsfile/read/query/executor/QueryExecutor.java 
b/tsfile/src/main/java/org/apache/tsfile/read/reader/RecordReader.java
similarity index 75%
copy from 
tsfile/src/main/java/org/apache/tsfile/read/query/executor/QueryExecutor.java
copy to tsfile/src/main/java/org/apache/tsfile/read/reader/RecordReader.java
index 8ce0d2bb..b32a469a 100644
--- 
a/tsfile/src/main/java/org/apache/tsfile/read/query/executor/QueryExecutor.java
+++ b/tsfile/src/main/java/org/apache/tsfile/read/reader/RecordReader.java
@@ -17,14 +17,12 @@
  * under the License.
  */
 
-package org.apache.tsfile.read.query.executor;
-
-import org.apache.tsfile.read.expression.QueryExpression;
-import org.apache.tsfile.read.query.dataset.QueryDataSet;
+package org.apache.tsfile.read.reader;
 
 import java.io.IOException;
+import org.apache.tsfile.read.common.block.TsBlock;
 
-public interface QueryExecutor {
-
-  QueryDataSet execute(QueryExpression queryExpression) throws IOException;
+public interface RecordReader extends AutoCloseable {
+  boolean hasNext();
+  TsBlock next() throws IOException;
 }

Reply via email to