This is an automated email from the ASF dual-hosted git repository. xingtanzjr pushed a commit to branch xingtanzjr/operator-design in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 1d7b20e5e89838f156ffa970f070ed19f264518f Author: Jinrui.Zhang <[email protected]> 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; } }
