This is an automated email from the ASF dual-hosted git repository. rong pushed a commit to branch transform-filter-planner in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit b080dff453c5932c6ebef911de33e736d773b6bd Merge: 1bb41f39e9 104da23532 Author: Steve Yurong Su <[email protected]> AuthorDate: Sun May 8 15:14:16 2022 +0800 Merge branch 'master' of github.com:apache/iotdb into transform-filter-planner .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 67 +- .../resources/conf/iotdb-confignode.properties | 179 +++-- confignode/src/assembly/resources/conf/logback.xml | 2 +- ...lientPool.java => AsyncDataNodeClientPool.java} | 11 +- .../client/SyncConfigNodeClientPool.java | 107 +++ .../iotdb/confignode/conf/ConfigNodeConf.java | 126 +-- .../iotdb/confignode/conf/ConfigNodeConfCheck.java | 155 ---- .../iotdb/confignode/conf/ConfigNodeConstant.java | 6 +- .../confignode/conf/ConfigNodeDescriptor.java | 62 +- .../confignode/conf/ConfigNodeStartupCheck.java | 356 +++++++++ .../consensus/request/ConfigRequest.java | 38 +- .../consensus/request/ConfigRequestType.java | 37 +- .../consensus/request/auth/AuthorReq.java | 68 +- .../request/read/GetDataPartitionReq.java | 9 +- .../request/read/GetSchemaPartitionReq.java | 5 +- ...torageGroupReq.java => ApplyConfigNodeReq.java} | 32 +- .../request/write/CreateDataPartitionReq.java | 13 +- .../consensus/request/write/CreateRegionsReq.java | 4 +- .../request/write/CreateSchemaPartitionReq.java | 8 +- .../consensus/request/write/DeleteRegionsReq.java | 4 +- .../request/write/RegisterDataNodeReq.java | 4 +- .../request/write/SetStorageGroupReq.java | 4 +- .../response/DataNodeConfigurationResp.java | 11 +- .../statemachine/PartitionRegionStateMachine.java | 4 +- .../confignode/manager/ClusterSchemaManager.java | 12 +- .../iotdb/confignode/manager/ConfigManager.java | 83 +- .../iotdb/confignode/manager/ConsensusManager.java | 67 +- .../apache/iotdb/confignode/manager/Manager.java | 28 +- .../{DataNodeManager.java => NodeManager.java} | 74 +- .../iotdb/confignode/persistence/AuthorInfo.java | 22 +- .../confignode/persistence/ClusterSchemaInfo.java | 2 + .../{DataNodeInfo.java => NodeInfo.java} | 126 ++- .../executor/ConfigRequestExecutor.java | 49 +- .../iotdb/confignode/service/ConfigNode.java | 30 +- .../confignode/service/ConfigNodeCommandLine.java | 24 +- .../thrift/ConfigNodeRPCServiceProcessor.java | 37 +- .../consensus/request/ConfigRequestSerDeTest.java | 62 +- .../thrift/ConfigNodeRPCServiceProcessorTest.java | 16 +- .../org/apache/iotdb/consensus/IStateMachine.java | 40 +- .../org/apache/iotdb/consensus/common/Peer.java | 5 + .../ratis/ApplicationStateMachineProxy.java | 36 +- .../iotdb/consensus/ratis/RatisConsensus.java | 53 +- .../org/apache/iotdb/consensus/ratis/Utils.java | 47 +- .../apache/iotdb/consensus/EmptyStateMachine.java | 2 +- .../iotdb/consensus/ratis/RatisConsensusTest.java | 13 +- .../apache/iotdb/consensus/ratis/SnapshotTest.java | 2 +- .../apache/iotdb/consensus/ratis/TestUtils.java | 37 +- .../apache/iotdb/consensus/ratis/UtilsTest.java | 4 +- .../standalone/StandAloneConsensusTest.java | 2 +- .../IoTDBSyntaxConventionStringLiteralIT.java | 8 +- .../IoTDBDeletionVersionAdaptionIT.java | 2 + .../IoTDBQueryVersionAdaptionIT.java | 2 + .../iotdb/commons/consensus/ConsensusGroupId.java | 4 + .../org/apache/iotdb/commons/path/PartialPath.java | 2 + .../apache/iotdb/commons/utils/CommonUtils.java | 59 -- .../apache/iotdb/commons/utils/NodeUrlUtils.java | 188 +++++ .../commons/utils/ThriftCommonsSerDeUtils.java | 27 +- .../commons/utils/ThriftConfigNodeSerDeUtils.java | 24 +- .../iotdb/commons/utils/NodeUrlUtilsTest.java | 62 ++ .../commons/utils/ThriftCommonsSerDeUtilsTest.java | 28 +- .../utils/ThriftConfigNodeSerDeUtilsTest.java | 18 +- server/src/assembly/resources/sbin/stop-server.sh | 47 +- .../apache/iotdb/db/client/ConfigNodeClient.java | 5 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 8 + .../consensus/statemachine/BaseStateMachine.java | 2 +- .../statemachine/SchemaRegionStateMachine.java | 5 +- .../compaction/cross/CrossSpaceCompactionTask.java | 19 +- .../compaction/inner/InnerSpaceCompactionTask.java | 7 +- .../iotdb/db/engine/memtable/AbstractMemTable.java | 28 +- .../iotdb/db/engine/storagegroup/DataRegion.java | 14 + .../iotdb/db/metadata/LocalSchemaProcessor.java | 5 +- .../db/metadata/cache/DataNodeSchemaCache.java | 151 +--- .../iotdb/db/metadata/cache/SchemaCacheEntity.java | 114 --- .../iotdb/db/metadata/cache/SchemaCacheEntry.java | 58 ++ .../iotdb/db/metadata/mtree/MTreeAboveSG.java | 4 +- .../iotdb/db/metadata/path/MeasurementPath.java | 4 + .../iotdb/db/mpp/common/header/ColumnHeader.java | 81 +- .../iotdb/db/mpp/common/header/DatasetHeader.java | 2 +- .../db/mpp/common/schematree/DeviceSchemaInfo.java | 76 +- .../db/mpp/common/schematree/PathPatternTree.java | 35 +- .../iotdb/db/mpp/common/schematree/SchemaTree.java | 74 +- .../common/schematree/node/SchemaInternalNode.java | 7 +- .../execution/datatransfer/DataBlockManager.java | 41 +- .../db/mpp/execution/datatransfer/SinkHandle.java | 71 +- .../mpp/execution/datatransfer/SourceHandle.java | 78 +- .../operator/process/DeviceMergeOperator.java | 274 +++++++ .../operator/process/DeviceViewOperator.java | 8 +- .../operator/process/TimeJoinOperator.java | 36 +- .../operator/process/merge/AscTimeComparator.java | 4 +- .../operator/process/merge/ColumnMerger.java | 4 +- .../operator/process/merge/DescTimeComparator.java | 4 +- .../operator/process/merge/MultiColumnMerger.java | 4 +- .../merge/NonOverlappedMultiColumnMerger.java | 87 +++ .../operator/process/merge/SingleColumnMerger.java | 28 +- .../operator/process/merge/TimeComparator.java | 4 +- .../operator/schema/DevicesSchemaScanOperator.java | 2 +- ...Operator.java => SchemaFetchMergeOperator.java} | 8 +- ...hOperator.java => SchemaFetchScanOperator.java} | 6 +- ...Operator.java => SchemaQueryMergeOperator.java} | 4 +- ...nOperator.java => SchemaQueryScanOperator.java} | 4 +- .../schema/TimeSeriesSchemaScanOperator.java | 2 +- .../operator/source/AlignedSeriesScanOperator.java | 149 ++++ .../operator/source/AlignedSeriesScanUtil.java | 10 +- .../execution/operator/source/SeriesScanUtil.java | 20 +- .../apache/iotdb/db/mpp/plan/analyze/Analysis.java | 138 +++- .../apache/iotdb/db/mpp/plan/analyze/Analyzer.java | 656 ++++++++++++++-- .../db/mpp/plan/analyze/ClusterSchemaFetcher.java | 276 ++++++- .../plan/analyze/ColumnPaginationController.java | 73 ++ .../db/mpp/plan/analyze/ConcatPathRewriter.java | 135 ++++ .../db/mpp/plan/analyze/ExpressionAnalyzer.java | 854 +++++++++++++++++++++ .../iotdb/db/mpp/plan/analyze/ExpressionUtils.java | 242 ++++++ .../mpp/plan/analyze/GroupByLevelController.java | 144 ++++ .../iotdb/db/mpp/plan/analyze/SchemaValidator.java | 2 +- .../iotdb/db/mpp/plan/analyze/TypeProvider.java | 23 +- .../db/mpp/plan/execution/IQueryExecution.java | 4 +- .../db/mpp/plan/execution/QueryExecution.java | 50 +- .../mpp/plan/execution/config/ConfigExecution.java | 15 +- .../iotdb/db/mpp/plan/parser/ASTVisitor.java | 686 +++-------------- .../db/mpp/plan/parser/StatementGenerator.java | 21 +- .../db/mpp/plan/planner/DistributionPlanner.java | 82 +- .../db/mpp/plan/planner/LocalExecutionPlanner.java | 149 +++- .../db/mpp/plan/planner/LogicalPlanBuilder.java | 53 +- .../iotdb/db/mpp/plan/planner/LogicalPlanner.java | 60 +- .../planner/SimpleFragmentParallelPlanner.java | 6 +- .../plan/planner/WriteFragmentParallelPlanner.java | 6 +- .../db/mpp/plan/planner/plan/FragmentInstance.java | 15 +- .../mpp/plan/planner/plan/node/PlanNodeType.java | 18 +- .../db/mpp/plan/planner/plan/node/PlanVisitor.java | 17 +- .../plan/node/metedata/read/DevicesCountNode.java | 2 +- .../node/metedata/read/DevicesSchemaScanNode.java | 2 +- .../metedata/read/LevelTimeSeriesCountNode.java | 2 +- ...emaFetchNode.java => SchemaFetchMergeNode.java} | 45 +- ...hemaFetchNode.java => SchemaFetchScanNode.java} | 55 +- ...emaMergeNode.java => SchemaQueryMergeNode.java} | 20 +- ...chemaScanNode.java => SchemaQueryScanNode.java} | 12 +- .../node/metedata/read/TimeSeriesCountNode.java | 2 +- .../metedata/read/TimeSeriesSchemaScanNode.java | 2 +- .../plan/planner/plan/node/process/FillNode.java | 33 +- .../source/AlignedSeriesAggregationScanNode.java | 5 +- .../plan/node/source/AlignedSeriesScanNode.java | 4 +- .../node/source/SeriesAggregationScanNode.java | 5 +- .../planner/plan/node/source/SeriesScanNode.java | 4 +- .../plan/node/write/InsertMultiTabletsNode.java | 11 +- .../plan/planner/plan/node/write/InsertNode.java | 176 +++-- .../planner/plan/node/write/InsertRowNode.java | 378 +++++---- .../planner/plan/node/write/InsertRowsNode.java | 11 +- .../plan/node/write/InsertRowsOfOneDeviceNode.java | 11 +- .../planner/plan/node/write/InsertTabletNode.java | 482 ++++++------ .../planner/plan/parameter/FillDescriptor.java | 30 +- .../plan/parameter/FilterNullParameter.java | 14 +- .../plan/parameter/GroupByTimeParameter.java | 11 + .../plan/planner/plan/parameter/OutputColumn.java | 2 +- .../plan/rewriter/ColumnPaginationController.java | 145 ---- .../db/mpp/plan/rewriter/ConcatPathRewriter.java | 190 ----- .../db/mpp/plan/rewriter/WildcardsRemover.java | 375 --------- .../db/mpp/plan/scheduler/ClusterScheduler.java | 14 +- .../scheduler/SimpleFragInstanceDispatcher.java | 1 - .../mpp/plan/scheduler/SimpleQueryTerminator.java | 28 +- .../db/mpp/plan/statement/StatementVisitor.java | 35 - .../plan/statement/component/FillComponent.java | 25 +- .../statement/component/GroupByLevelComponent.java | 20 - .../component/GroupByLevelController.java | 247 ------ .../mpp/plan/statement/component/ResultColumn.java | 113 +-- .../plan/statement/component/SelectComponent.java | 105 +-- .../plan/statement/component/WhereCondition.java | 16 +- .../statement/crud/AggregationQueryStatement.java | 129 ---- .../plan/statement/crud/FillQueryStatement.java | 79 -- .../statement/crud/GroupByFillQueryStatement.java | 49 -- .../plan/statement/crud/GroupByQueryStatement.java | 61 -- .../plan/statement/crud/LastQueryStatement.java | 74 -- .../db/mpp/plan/statement/crud/QueryStatement.java | 213 ++--- .../plan/statement/crud/UDAFQueryStatement.java | 97 --- .../plan/statement/crud/UDTFQueryStatement.java | 34 - .../literal/BooleanLiteral.java} | 44 +- .../mpp/plan/statement/literal/DoubleLiteral.java | 42 +- .../db/mpp/plan/statement/literal/Literal.java | 59 ++ .../db/mpp/plan/statement/literal/LongLiteral.java | 42 +- .../db/mpp/plan/statement/literal/NullLiteral.java | 34 +- .../mpp/plan/statement/literal/StringLiteral.java | 38 +- .../iotdb/db/qp/constant/FilterConstant.java | 11 + .../iotdb/db/qp/logical/crud/InOperator.java | 4 + .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 451 +++++------ .../dataset/RawQueryDataSetWithValueFilter.java | 6 +- .../iotdb/db/query/expression/Expression.java | 16 +- .../iotdb/db/query/expression/ResultColumn.java | 12 +- .../query/expression/binary/BinaryExpression.java | 42 +- .../db/query/expression/leaf/ConstantOperand.java | 20 +- .../query/expression/leaf/TimeSeriesOperand.java | 23 - .../db/query/expression/leaf/TimestampOperand.java | 17 - .../query/expression/multi/FunctionExpression.java | 35 - .../db/query/expression/unary/InExpression.java | 8 + .../db/query/expression/unary/LikeExpression.java | 8 + .../query/expression/unary/RegularExpression.java | 8 + .../db/query/expression/unary/UnaryExpression.java | 26 - .../apache/iotdb/db/service/IoTDBShutdownHook.java | 7 + .../service/thrift/impl/InternalServiceImpl.java | 16 +- .../db/sync/receiver/collector/Collector.java | 1 + .../iotdb/db/sync/receiver/load/SchemaLoader.java | 37 +- .../db/sync/sender/manager/SchemaSyncManager.java | 4 +- .../java/org/apache/iotdb/db/utils/MemUtils.java | 6 +- .../apache/iotdb/db/utils/QueryDataSetUtils.java | 6 +- .../apache/iotdb/db/wal/utils/WALWriteUtils.java | 17 + .../db/metadata/cache/DataNodeSchemaCacheTest.java | 105 ++- .../db/mpp/common/schematree/SchemaTreeTest.java | 3 +- .../db/mpp/execution/ConfigExecutionTest.java | 23 +- .../mpp/execution/datatransfer/SinkHandleTest.java | 3 +- .../execution/datatransfer/SourceHandleTest.java | 1 + .../operator/AlignedSeriesScanOperatorTest.java | 748 ++++++++++++++++++ .../execution/operator/AlignedSeriesTestUtil.java | 260 +++++++ .../operator/DeviceMergeOperatorTest.java | 547 +++++++++++++ .../execution/operator/DeviceViewOperatorTest.java | 8 +- .../NonOverlappedMultiColumnMergerTest.java | 230 ++++++ .../execution/operator/TimeJoinOperatorTest.java | 2 +- ...rTest.java => SchemaFetchScanOperatorTest.java} | 12 +- ...rTest.java => SchemaQueryScanOperatorTest.java} | 6 +- .../{AnalyzerTest.java => AnalyzeFailTest.java} | 7 +- .../{AnalyzerTest.java => AnalyzeTest.java} | 37 +- .../db/mpp/plan/plan/DistributionPlannerTest.java | 4 +- .../iotdb/db/mpp/plan/plan/LogicalPlannerTest.java | 6 +- .../read/DeviceSchemaScanNodeSerdeTest.java | 5 +- .../metadata/read/SchemaFetchScanNodeTest.java | 51 ++ .../read/TimeSeriesSchemaScanNodeSerdeTest.java | 5 +- .../plan/plan/node/process/FillNodeSerdeTest.java | 8 +- .../write/InsertMultiTabletsNodeSerdeTest.java | 10 +- .../plan/node/write/InsertRowNodeSerdeTest.java | 17 +- .../plan/node/write/InsertRowsNodeSerdeTest.java | 2 +- .../write/InsertRowsOfOneDeviceNodeSerdeTest.java | 2 +- .../plan/node/write/InsertTabletNodeSerdeTest.java | 16 +- .../org/apache/iotdb/db/wal/io/WALFileTest.java | 114 +++ .../java/org/apache/iotdb/rpc/TSStatusCode.java | 5 +- .../java/org/apache/iotdb/session/Session.java | 19 +- .../src/main/thrift/confignode.thrift | 48 +- thrift/src/main/thrift/mpp.thrift | 1 + .../iotdb/tsfile/read/common/block/TsBlock.java | 100 ++- .../java/org/apache/iotdb/tsfile/utils/BitMap.java | 23 + .../java/org/apache/iotdb/tsfile/utils/Pair.java | 8 + .../tsfile/write/record/datapoint/DataPoint.java | 10 +- 237 files changed, 9395 insertions(+), 5388 deletions(-) diff --cc server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanner.java index 031cbdad61,27a84b4838..9fe53fb9e1 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanner.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanner.java @@@ -76,8 -87,8 +87,9 @@@ import org.apache.iotdb.db.mpp.plan.pla import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.OffsetNode; import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.SortNode; import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.TimeJoinNode; +import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.TransformNode; import org.apache.iotdb.db.mpp.plan.planner.plan.node.sink.FragmentSinkNode; + import org.apache.iotdb.db.mpp.plan.planner.plan.node.source.AlignedSeriesScanNode; import org.apache.iotdb.db.mpp.plan.planner.plan.node.source.SeriesAggregationScanNode; import org.apache.iotdb.db.mpp.plan.planner.plan.node.source.SeriesScanNode; import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.InputLocation;
