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;
}