This is an automated email from the ASF dual-hosted git repository.
caogaofei pushed a change to branch beyyes/topk
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from 895819f6fde add init
add 9b5fba40e68 Make Time Column as a normal value column in table model
add 366857424ec fix time column bug
new 9b7bf753ef1 Merge branch 'ty/TableModelGrammar' into beyyes/topk
add d3d3b606f9c Add stream sort and sort elimination optimize rule
new f4ddb901ce8 merge and resolve conflict
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 4 +-
.../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java | 37 +-
.../apache/iotdb/session/pool/SessionPoolTest.java | 1 +
.../src/main/codegen/templates/constantFill.ftl | 3 +-
.../src/main/codegen/templates/previousFill.ftl | 3 +-
.../codegen/templates/variationWindowManager.ftl | 3 +-
.../queryengine/common/header/DatasetHeader.java | 6 -
.../slidingwindow/SlidingWindowAggregator.java | 7 +-
.../execution/operator/AggregationUtil.java | 3 +-
.../operator/process/AbstractSortOperator.java | 11 +-
.../operator/process/FilterAndProjectOperator.java | 69 ++-
.../operator/process/MergeSortOperator.java | 12 +-
.../execution/operator/process/SortOperator.java | 16 +-
.../operator/process/TableMergeSortOperator.java | 56 +++
.../operator/process/TableSortOperator.java | 63 +++
...tOperator.java => TableStreamSortOperator.java} | 29 +-
.../operator/process/TableTopKOperator.java | 57 +++
.../execution/operator/process/TopKOperator.java | 24 +-
.../operator/process/TransformOperator.java | 11 +-
...yComparator.java => TreeMergeSortOperator.java} | 46 +-
.../{SortOperator.java => TreeSortOperator.java} | 53 +--
.../operator/process/TreeTopKOperator.java | 57 +++
.../execution/operator/process/fill/IFill.java | 3 +-
.../operator/process/fill/ILinearFill.java | 5 +-
.../process/fill/identity/IdentityFill.java | 3 +-
.../process/fill/identity/IdentityLinearFill.java | 5 +-
.../operator/process/fill/linear/LinearFill.java | 13 +-
.../process/join/HorizontallyConcatOperator.java | 3 +-
.../process/join/LeftOuterTimeJoinOperator.java | 3 +-
.../process/join/merge/MergeSortComparator.java | 4 +
.../process/join/merge/MultiColumnMerger.java | 5 +-
.../process/join/merge/SingleColumnMerger.java | 3 +-
.../operator/source/AlignedSeriesScanOperator.java | 3 +-
.../operator/source/SeriesScanOperator.java | 3 +-
.../source/relational/TableScanOperator.java | 17 +-
.../operator/window/ConditionWindowManager.java | 3 +-
.../operator/window/CountWindowManager.java | 3 +-
.../operator/window/SessionWindowManager.java | 4 +-
.../plan/optimization/PredicatePushDown.java | 2 +-
.../plan/planner/OperatorTreeGenerator.java | 20 +-
.../plan/planner/TableOperatorGenerator.java | 93 ++--
.../plan/relational/analyzer/Analysis.java | 15 +-
.../plan/relational/planner/LogicalPlanner.java | 7 +-
.../plan/relational/planner/QueryPlanner.java | 1 +
.../distribute/DistributedPlanGenerator.java | 32 ++
.../distribute/TableDistributionPlanner.java | 34 +-
.../TableModelTypeProviderExtractor.java | 7 +
.../plan/relational/planner/node/FilterNode.java | 2 +-
.../plan/relational/planner/node/LimitNode.java | 2 +-
.../plan/relational/planner/node/OffsetNode.java | 2 +-
.../plan/relational/planner/node/OutputNode.java | 2 +-
.../plan/relational/planner/node/ProjectNode.java | 2 +-
.../plan/relational/planner/node/SortNode.java | 6 +-
.../relational/planner/node/StreamSortNode.java | 17 +
.../planner/optimizations/OptimizeFactory.java | 4 +-
.../PushLimitOffsetIntoTableScan.java | 6 +
.../planner/optimizations/SortElimination.java | 134 ++++++
.../optimizations/TransformSortToStreamSort.java | 123 +++++
.../statistics/SpecifiedInfoMergerFactory.java | 6 +-
.../SingleInputMultiReferenceLayer.java | 14 +-
.../SingleInputSingleReferenceLayer.java | 12 +-
.../iterator/TVListForwardIterator.java | 3 +-
.../datastructure/row/SerializableRowList.java | 3 +-
.../tv/ElasticSerializableBinaryTVList.java | 8 +-
.../tv/ElasticSerializableTVList.java | 11 +-
.../datastructure/tv/SerializableTVList.java | 15 +-
.../writer/ReadPointCrossCompactionWriter.java | 2 +-
.../writer/ReadPointInnerCompactionWriter.java | 2 +-
.../apache/iotdb/db/utils/sort/DiskSpiller.java | 14 +-
.../sort/TableDiskSpiller.java} | 27 +-
.../sort/TreeDiskSpiller.java} | 27 +-
...est.java => LastQueryTreeSortOperatorTest.java} | 4 +-
...torTest.java => MergeTreeSortOperatorTest.java} | 204 +++++----
.../execution/operator/OperatorMemoryTest.java | 12 +-
...OperatorTest.java => TreeSortOperatorTest.java} | 24 +-
...OperatorTest.java => TreeTopKOperatorTest.java} | 89 ++--
...rTest.java => TableStreamSortOperatorTest.java} | 130 +++---
.../analyzer/LimitOffsetPushDownTest.java | 11 +-
.../plan/relational/analyzer/SortTest.java | 503 +++++----------------
.../datastructure/SerializableTVListTest.java | 2 +-
.../apache/iotdb/db/utils/sort/SortUtilTest.java | 4 +-
81 files changed, 1307 insertions(+), 982 deletions(-)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TableMergeSortOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TableSortOperator.java
rename
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{StreamSortOperator.java
=> TableStreamSortOperator.java} (87%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TableTopKOperator.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{join/merge/SortKeyComparator.java
=> TreeMergeSortOperator.java} (51%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{SortOperator.java
=> TreeSortOperator.java} (50%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TreeTopKOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/SortElimination.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/TransformSortToStreamSort.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{queryengine/transformation/dag/column/leaf/ConstantColumnTransformer.java
=> utils/sort/TableDiskSpiller.java} (52%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{queryengine/transformation/dag/column/leaf/LeafColumnTransformer.java
=> utils/sort/TreeDiskSpiller.java} (58%)
rename
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/{LastQuerySortOperatorTest.java
=> LastQueryTreeSortOperatorTest.java} (99%)
rename
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/{MergeSortOperatorTest.java
=> MergeTreeSortOperatorTest.java} (92%)
rename
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/{SortOperatorTest.java
=> TreeSortOperatorTest.java} (94%)
rename
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/{TopKOperatorTest.java
=> TreeTopKOperatorTest.java} (96%)
rename
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/{StreamSortOperatorTest.java
=> TableStreamSortOperatorTest.java} (86%)