You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by xi...@apache.org on 2022/03/14 05:53:38 UTC

[iotdb] 06/11: rename operator to node

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

xingtanzjr pushed a commit to branch xingtanzjr/mpp-query-basis
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit e11bd634d54573b187f44c913ebf090b3661d9f9
Author: Jinrui.Zhang <xi...@gmail.com>
AuthorDate: Thu Mar 10 19:19:27 2022 +0800

    rename operator to node
---
 .../cluster/query/distribution/common/Tablet.java  | 29 ---------------------
 .../cluster/query/distribution/common/TsBlock.java | 30 ++++++++++++++++++++++
 .../{TabletMetadata.java => TsBlockMetadata.java}  |  2 +-
 ...viceMergeOperator.java => DeviceMergeNode.java} |  8 +++---
 .../operator/{FillOperator.java => FillNode.java}  |  6 ++---
 ...FilterExecOperator.java => FilterExecNode.java} |  6 ++---
 ...pByLevelOperator.java => GroupByLevelNode.java} |  6 ++---
 .../{LimitOperator.java => LimitNode.java}         |  6 ++---
 .../{OffsetOperator.java => OffsetNode.java}       |  6 ++---
 .../operator/{ExecOperator.java => PlanNode.java}  |  2 +-
 ...egateOperator.java => SeriesAggregateNode.java} |  2 +-
 ...SeriesScanOperator.java => SeriesScanNode.java} |  2 +-
 .../operator/{SortOperator.java => SortNode.java}  |  6 ++---
 .../{TimeJoinOperator.java => TimeJoinNode.java}   |  6 ++---
 .../{WithoutOperator.java => WithoutNode.java}     |  6 ++---
 15 files changed, 62 insertions(+), 61 deletions(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/common/Tablet.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/common/Tablet.java
deleted file mode 100644
index dde6fa7..0000000
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/common/Tablet.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.apache.iotdb.cluster.query.distribution.common;
-
-import org.apache.iotdb.tsfile.read.common.RowRecord;
-
-/**
- * Intermediate result for most of ExecOperators.
- * The Tablet contains data from one or more series and constructs them as a row based view
- * The Tablet constructed with n series has n+1 columns where one column is timestamp and the other n columns are values
- * from each series.
- * The Tablet also contains the metadata of owned series.
- *
- * TODO: consider the detailed data store model in memory. (using column based or row based ?)
- */
-public class Tablet {
-
-    private TabletMetadata metadata;
-
-    public boolean hasNext() {
-        return false;
-    }
-
-    public RowRecord getNext() {
-        return null;
-    }
-
-    public TabletMetadata getMetadata() {
-        return metadata;
-    }
-}
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/common/TsBlock.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/common/TsBlock.java
new file mode 100644
index 0000000..73fb008
--- /dev/null
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/common/TsBlock.java
@@ -0,0 +1,30 @@
+package org.apache.iotdb.cluster.query.distribution.common;
+
+import org.apache.iotdb.tsfile.read.common.RowRecord;
+
+/**
+ * Intermediate result for most of ExecOperators.
+ * The Tablet contains data from one or more columns and constructs them as a row based view
+ * The columns can be series, aggregation result for one series or scalar value (such as deviceName).
+ * The Tablet also contains the metadata to describe the columns.
+ *
+ * TODO: consider the detailed data store model in memory. (using column based or row based ?)
+ */
+public class TsBlock {
+
+    // Describe the column info
+    private TsBlockMetadata metadata;
+
+    public boolean hasNext() {
+        return false;
+    }
+
+    // Get next row in current tablet
+    public RowRecord getNext() {
+        return null;
+    }
+
+    public TsBlockMetadata getMetadata() {
+        return metadata;
+    }
+}
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/common/TabletMetadata.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/common/TsBlockMetadata.java
similarity index 96%
rename from cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/common/TabletMetadata.java
rename to cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/common/TsBlockMetadata.java
index cdf827e..cd95d82 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/common/TabletMetadata.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/common/TsBlockMetadata.java
@@ -2,7 +2,7 @@ package org.apache.iotdb.cluster.query.distribution.common;
 
 import java.util.List;
 
-public class TabletMetadata {
+public class TsBlockMetadata {
     // list of all columns in current Tablet
     // The column list not only contains the series column, but also contains other column to construct the final result
     // set such as timestamp and deviceName
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/DeviceMergeOperator.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/DeviceMergeNode.java
similarity index 85%
rename from cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/DeviceMergeOperator.java
rename to cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/DeviceMergeNode.java
index 1800179..ff831d9 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/DeviceMergeOperator.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/DeviceMergeNode.java
@@ -1,6 +1,6 @@
 package org.apache.iotdb.cluster.query.distribution.operator;
 
-import org.apache.iotdb.cluster.query.distribution.common.Tablet;
+import org.apache.iotdb.cluster.query.distribution.common.TsBlock;
 import org.apache.iotdb.cluster.query.distribution.common.TraversalOrder;
 
 import java.util.List;
@@ -15,7 +15,7 @@ import java.util.Map;
  *
  * Children type: [TimeJoinOperator]
  */
-public class DeviceMergeOperator extends ExecOperator<Tablet> {
+public class DeviceMergeNode extends PlanNode<TsBlock> {
     // The result output order that this operator
     private TraversalOrder mergeOrder;
 
@@ -23,7 +23,7 @@ public class DeviceMergeOperator extends ExecOperator<Tablet> {
     private List<String> ownedDeviceNameList;
 
     // The map from deviceName to corresponding query result operator responsible for that device.
-    private Map<String, TimeJoinOperator> upstreamMap;
+    private Map<String, TimeJoinNode> upstreamMap;
 
     @Override
     public boolean hasNext() {
@@ -34,7 +34,7 @@ public class DeviceMergeOperator extends ExecOperator<Tablet> {
     // the additional column is `deviceName`
     // And, the `alignedByDevice` in the TabletMetadata will be `true`
     @Override
-    public Tablet getNextBatch() {
+    public TsBlock getNextBatch() {
         return null;
     }
 }
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/FillOperator.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/FillNode.java
similarity index 75%
rename from cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/FillOperator.java
rename to cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/FillNode.java
index 9390e59..a8f0076 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/FillOperator.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/FillNode.java
@@ -1,14 +1,14 @@
 package org.apache.iotdb.cluster.query.distribution.operator;
 
 import org.apache.iotdb.cluster.query.distribution.common.FillPolicy;
-import org.apache.iotdb.cluster.query.distribution.common.Tablet;
+import org.apache.iotdb.cluster.query.distribution.common.TsBlock;
 
 /**
  * FillOperator is used to fill the empty field in one row.
  *
  * Children type: [All the operators whose result set is Tablet]
  */
-public class FillOperator extends ExecOperator<Tablet> {
+public class FillNode extends PlanNode<TsBlock> {
 
     // The policy to discard the result from upstream operator
     private FillPolicy fillPolicy;
@@ -19,7 +19,7 @@ public class FillOperator extends ExecOperator<Tablet> {
     }
 
     @Override
-    public Tablet getNextBatch() {
+    public TsBlock getNextBatch() {
         return null;
     }
 }
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/FilterExecOperator.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/FilterExecNode.java
similarity index 77%
rename from cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/FilterExecOperator.java
rename to cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/FilterExecNode.java
index efe4609..0bf0ad4 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/FilterExecOperator.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/FilterExecNode.java
@@ -1,6 +1,6 @@
 package org.apache.iotdb.cluster.query.distribution.operator;
 
-import org.apache.iotdb.cluster.query.distribution.common.Tablet;
+import org.apache.iotdb.cluster.query.distribution.common.TsBlock;
 import org.apache.iotdb.db.qp.logical.crud.FilterOperator;
 
 /**
@@ -9,7 +9,7 @@ import org.apache.iotdb.db.qp.logical.crud.FilterOperator;
  *
  * Children type: [All the operators whose result set is Tablet]
  */
-public class FilterExecOperator extends ExecOperator<Tablet> {
+public class FilterExecNode extends PlanNode<TsBlock> {
 
     // The filter
     private FilterOperator rowFilter;
@@ -20,7 +20,7 @@ public class FilterExecOperator extends ExecOperator<Tablet> {
     }
 
     @Override
-    public Tablet getNextBatch() {
+    public TsBlock getNextBatch() {
         return null;
     }
 }
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/GroupByLevelOperator.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/GroupByLevelNode.java
similarity index 87%
rename from cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/GroupByLevelOperator.java
rename to cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/GroupByLevelNode.java
index 729c84f..38448d5 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/GroupByLevelOperator.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/GroupByLevelNode.java
@@ -2,7 +2,7 @@ package org.apache.iotdb.cluster.query.distribution.operator;
 
 import org.apache.iotdb.cluster.query.distribution.common.GroupByTimeParameter;
 import org.apache.iotdb.cluster.query.distribution.common.LevelBucketInfo;
-import org.apache.iotdb.cluster.query.distribution.common.Tablet;
+import org.apache.iotdb.cluster.query.distribution.common.TsBlock;
 
 /**
  * This operator is responsible for the final aggregation merge operation.
@@ -13,7 +13,7 @@ import org.apache.iotdb.cluster.query.distribution.common.Tablet;
  *
  * Children type: [SeriesAggregateOperator]
  */
-public class GroupByLevelOperator extends ExecOperator<Tablet> {
+public class GroupByLevelNode extends PlanNode<TsBlock> {
 
     // All the buckets that the SeriesBatchAggInfo from upstream will be divided into.
     private LevelBucketInfo bucketInfo;
@@ -28,7 +28,7 @@ public class GroupByLevelOperator extends ExecOperator<Tablet> {
     }
 
     @Override
-    public Tablet getNextBatch() {
+    public TsBlock getNextBatch() {
         return null;
     }
 }
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/LimitOperator.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/LimitNode.java
similarity index 71%
rename from cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/LimitOperator.java
rename to cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/LimitNode.java
index a48e664..875f8c4 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/LimitOperator.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/LimitNode.java
@@ -1,13 +1,13 @@
 package org.apache.iotdb.cluster.query.distribution.operator;
 
-import org.apache.iotdb.cluster.query.distribution.common.Tablet;
+import org.apache.iotdb.cluster.query.distribution.common.TsBlock;
 
 /**
  * LimitOperator is used to select top n result. It uses the default order of upstream operators
  *
  * Children type: [All the operators whose result set is Tablet]
  */
-public class LimitOperator extends ExecOperator<Tablet> {
+public class LimitNode extends PlanNode<TsBlock> {
 
     // The limit count
     private int limit;
@@ -18,7 +18,7 @@ public class LimitOperator extends ExecOperator<Tablet> {
     }
 
     @Override
-    public Tablet getNextBatch() {
+    public TsBlock getNextBatch() {
         return null;
     }
 }
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/OffsetOperator.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/OffsetNode.java
similarity index 72%
rename from cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/OffsetOperator.java
rename to cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/OffsetNode.java
index 11cd7de..6de44c5 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/OffsetOperator.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/OffsetNode.java
@@ -1,13 +1,13 @@
 package org.apache.iotdb.cluster.query.distribution.operator;
 
-import org.apache.iotdb.cluster.query.distribution.common.Tablet;
+import org.apache.iotdb.cluster.query.distribution.common.TsBlock;
 
 /**
  * OffsetOperator is used to skip top n result from upstream operators. It uses the default order of upstream operators
  *
  * Children type: [All the operators whose result set is Tablet]
  */
-public class OffsetOperator extends ExecOperator<Tablet> {
+public class OffsetNode extends PlanNode<TsBlock> {
 
     // The limit count
     private int offset;
@@ -18,7 +18,7 @@ public class OffsetOperator extends ExecOperator<Tablet> {
     }
 
     @Override
-    public Tablet getNextBatch() {
+    public TsBlock getNextBatch() {
         return null;
     }
 }
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/ExecOperator.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/PlanNode.java
similarity index 88%
rename from cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/ExecOperator.java
rename to cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/PlanNode.java
index 883589b..ae30645 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/ExecOperator.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/PlanNode.java
@@ -7,7 +7,7 @@ import org.apache.iotdb.cluster.query.distribution.common.TreeNode;
  * The base class of query executable operators, which is used to compose logical query plan.
  * TODO: consider how to restrict the children type for each type of ExecOperator
  */
-public abstract class ExecOperator<T> extends TreeNode<ExecOperator<?>> {
+public abstract class PlanNode<T> extends TreeNode<PlanNode<?>> {
 
     // Judge whether current operator has more result
     public abstract boolean hasNext();
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SeriesAggregateOperator.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SeriesAggregateNode.java
similarity index 93%
rename from cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SeriesAggregateOperator.java
rename to cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SeriesAggregateNode.java
index e566f49..62fb223 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SeriesAggregateOperator.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SeriesAggregateNode.java
@@ -11,7 +11,7 @@ import org.apache.iotdb.cluster.query.distribution.common.SeriesBatchAggInfo;
  *
  * Children type: [SeriesScanOperator]
  */
-public class SeriesAggregateOperator extends ExecOperator<SeriesBatchAggInfo> {
+public class SeriesAggregateNode extends PlanNode<SeriesBatchAggInfo> {
 
     // The parameter of `group by time`
     // Its value will be null if there is no `group by time` clause,
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SeriesScanOperator.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SeriesScanNode.java
similarity index 96%
rename from cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SeriesScanOperator.java
rename to cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SeriesScanNode.java
index 46077bd..1c8ac3d 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SeriesScanOperator.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SeriesScanNode.java
@@ -18,7 +18,7 @@ import org.apache.iotdb.tsfile.read.filter.basic.Filter;
  *
  * Children type: []
  */
-public class SeriesScanOperator extends ExecOperator<SeriesBatchData> {
+public class SeriesScanNode extends PlanNode<SeriesBatchData> {
 
     // The path of the target series which will be scanned.
     private Path seriesPath;
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SortOperator.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SortNode.java
similarity index 74%
rename from cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SortOperator.java
rename to cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SortNode.java
index ab3f01d..8bcc520 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SortOperator.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/SortNode.java
@@ -1,13 +1,13 @@
 package org.apache.iotdb.cluster.query.distribution.operator;
 
-import org.apache.iotdb.cluster.query.distribution.common.Tablet;
+import org.apache.iotdb.cluster.query.distribution.common.TsBlock;
 import org.apache.iotdb.cluster.query.distribution.common.TraversalOrder;
 
 /**
  * In general, the parameter in sortOperator should be pushed down to the upstream operators.
  * In our optimized logical query plan, the sortOperator should not appear.
  */
-public class SortOperator extends ExecOperator<Tablet> {
+public class SortNode extends PlanNode<TsBlock> {
 
     private TraversalOrder sortOrder;
 
@@ -17,7 +17,7 @@ public class SortOperator extends ExecOperator<Tablet> {
     }
 
     @Override
-    public Tablet getNextBatch() {
+    public TsBlock getNextBatch() {
         return null;
     }
 }
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/TimeJoinOperator.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/TimeJoinNode.java
similarity index 86%
rename from cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/TimeJoinOperator.java
rename to cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/TimeJoinNode.java
index c573495..b293a13 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/TimeJoinOperator.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/TimeJoinNode.java
@@ -1,6 +1,6 @@
 package org.apache.iotdb.cluster.query.distribution.operator;
 
-import org.apache.iotdb.cluster.query.distribution.common.Tablet;
+import org.apache.iotdb.cluster.query.distribution.common.TsBlock;
 import org.apache.iotdb.cluster.query.distribution.common.TraversalOrder;
 import org.apache.iotdb.cluster.query.distribution.common.WithoutPolicy;
 
@@ -11,7 +11,7 @@ import org.apache.iotdb.cluster.query.distribution.common.WithoutPolicy;
  *
  * Children type: [SeriesScanOperator]
  */
-public class TimeJoinOperator extends ExecOperator<Tablet> {
+public class TimeJoinNode extends PlanNode<TsBlock> {
 
     // This parameter indicates the order when executing multiway merge sort.
     private TraversalOrder mergeOrder;
@@ -27,7 +27,7 @@ public class TimeJoinOperator extends ExecOperator<Tablet> {
     }
 
     @Override
-    public Tablet getNextBatch() {
+    public TsBlock getNextBatch() {
         return null;
     }
 }
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/WithoutOperator.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/WithoutNode.java
similarity index 76%
rename from cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/WithoutOperator.java
rename to cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/WithoutNode.java
index f25d435..c58a367 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/WithoutOperator.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/distribution/operator/WithoutNode.java
@@ -1,6 +1,6 @@
 package org.apache.iotdb.cluster.query.distribution.operator;
 
-import org.apache.iotdb.cluster.query.distribution.common.Tablet;
+import org.apache.iotdb.cluster.query.distribution.common.TsBlock;
 import org.apache.iotdb.cluster.query.distribution.common.WithoutPolicy;
 
 /**
@@ -8,7 +8,7 @@ import org.apache.iotdb.cluster.query.distribution.common.WithoutPolicy;
  *
  * Children type: [All the operators whose result set is Tablet]
  */
-public class WithoutOperator extends ExecOperator<Tablet> {
+public class WithoutNode extends PlanNode<TsBlock> {
 
     // The policy to discard the result from upstream operator
     private WithoutPolicy discardPolicy;
@@ -19,7 +19,7 @@ public class WithoutOperator extends ExecOperator<Tablet> {
     }
 
     @Override
-    public Tablet getNextBatch() {
+    public TsBlock getNextBatch() {
         return null;
     }
 }