You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2023/04/07 08:36:41 UTC

[iotdb] branch python_cache_leader updated (7568f55562 -> b8f7b2958a)

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

haonan pushed a change to branch python_cache_leader
in repository https://gitbox.apache.org/repos/asf/iotdb.git


    from 7568f55562 fix session_id error
     add d0ad0defb0 [IOTDB-5731] Reconstructs the cli to support printing the enterprise logo when connecting to the Enterprise Edition (#9462)
     add 7f9c9ff29b [IOTDB-5732] Add Device Schema Statistics (#9466)
     add f3b1e86e37 [IOTDB-5725] Make internal report recording measurements asynchronous (#9439)
     add 4087107755 [IOTDB-5722] Fix wrong default execution branch in PlanVisitor (#9464)
     add 960808fc40 [IOTDB-5121] Fix download link of library-udf (#9468)
     add 1c77a2064a [IOTDB-5121] Fix download link of Library-UDF (#9471)
     add 8ae4dbb187 [IOTDB-5714] Fix some IoTDB C++ SDK bugs (#9409)
     add c723079e30 Catch NPE in CompactionSchedulerTest and print its stack
     add 147a54303e [IOTDB-5687][REST Service] OpenAPI v2 interface (#9472)
     add 94620929bb [IOTDB-5586] Reduce the scope of lock in MemoryPool Version2
     add a7fe96937a [IOTDB-5738] Retain 2 copies of snapshot (#9474)
     add af8f6afaad [IOTDB-5683] Add special case process for aggregation function Mode
     add 0fd9ebe7dc [IOTDB-5743] Fix: pipe plugin directory creates at the shell running directory (#9482)
     add 1bfcab297f [IOTDB-5678] Introduce machine learning algorithm libraries on MLNode (#9338)
     add f6f4728cfd [IOTDB-5680] Implement the basic data loader on MLNode (#9372)
     add 810bf11dfe [IOTDB-5675] Recover template activation statistics when redoing MLog (#9483)
     add 0750fa6f49 [IOTDB-5728] Implement config parser & model/dataset factory on MLNode (#9458)
     add c49e307114 [IOTDB-5373] Implement PipeSubTask and PipeExecutor (#9480)
     add dadffb3814 [DOCS] remove invalid <br> tags in Aggregation.md (#9499)
     add b42b533f7c Fix template type check on ClusterTemplateManager (#9494)
     add 5505de1e87 Bump jackson-databind from 2.13.4.1 to 2.13.4.2 (#9497)
     add 1df73ab327 feat(docs):site img move to alioss (#9505)
     add ab88514f74 Update v1.1.0 download links (#9507)
     add 5b3d89f362 [IOTDB-5709] [IOTDB-5658] [IoTDB ML] Implement MLNodeInternalService on DataNode (#9398)
     add 79f7507a09 [IOTDB-5080] [IoTDB ML] Support model management SQL on DataNode (#9429)
     add d7bda4a7ef Update markdown table format and benchmark link address (#9520)
     add c596df709d Update benchmark link (#9519)
     add 831b96516e [IOTDB-5091] add space quota (#9506)
     add 2752fb0e7e [ISSUE-9508] Fix the bug of UDF Median and Percentile
     add 8208e783d0 Make DeviceId as KeyWords
     add d2f66d0f42 [IOTDB-5736] remove old syntax of the string function substring and beginPosition must be greater than 0
     add 44f046c972 [IOTDB-5755] Fix the problem that token DURATION_INTERVAL can not be used in Identifier (#9521)
     add b398cbd4d5 [IOTDB-5707] Rename CreateTimeseriesOfSchemaTemplate to CreateTimeseriesUsingSchemaTemplate (#9489)
     add 6d30aa2022 Fix a memory free bug and delete useless O(N^2) check in DriverContext
     add 661430f00c Update Jenkinsfile for nightly build
     add 69f2693995 Fix Context release source NPE
     add e6f0355d45 docker deploy for v1.1.0, update docs and docker-compose files (#9528)
     add 6a146449fc [IOTDB-5466] Refactor RaftLog disk monitor to avoid unnecessary snapshots (#9515)
     add d7d493e5c2 [IOTDB-5757] Fix Not Supported Exception when use like 's3 || false' in where even Type of s3 is Boolean
     add 7787399aa2 [IOTDB-5756] NPE when where predicate is NotEqualExpression and one of subExpression is not exist
     add 2b77bd4fcd Fix mlnode CI error (#9552)
     add 33843b6e2a [IOTDB-5742][UserGuide]Modify the output type of the mode function in userguide
     add 6bec16ff55 [IOTDB-5204 ] Add last task rather than first task to timeoutQueue
     add ad04cbaaf0 [IOTDB-5638] Support CASE WHEN expression
     add c6fad19e9d [IOTDB-5761] Open channel of ShuffleSinkHandle after the drivertask begins
     add aa00056ec0 Adapt insert data by 0.13 client (#9557)
     add e6ec5fcd14 [IOTDB-5760] Query is blocked because of no memory
     add 947dc773ef Bump httpcore from 4.4.15 to 4.4.16 (#9498)
     add b8f7b2958a Merge branch 'master' of https://github.com/apache/iotdb into python_cache_leader

No new revisions were added by this update.

Summary of changes:
 Jenkinsfile                                        |   6 +-
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |  12 +-
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   | 567 +++++++------
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |  39 +
 .../java/org/apache/iotdb/cli/AbstractCli.java     |  17 +-
 cli/src/main/java/org/apache/iotdb/cli/Cli.java    |   2 +-
 client-cpp/src/main/Session.cpp                    | 486 +++++++++---
 client-cpp/src/main/Session.h                      | 114 ++-
 client-cpp/src/test/cpp/sessionIT.cpp              | 220 +++++-
 compile-tools/README.md                            |   2 +-
 .../confignode/client/DataNodeRequestType.java     |   5 +-
 .../client/async/AsyncDataNodeClientPool.java      |   7 +
 .../heartbeat/DataNodeHeartbeatHandler.java        |  20 +-
 .../consensus/request/ConfigPhysicalPlan.java      |   4 +
 .../consensus/request/ConfigPhysicalPlanType.java  |   5 +-
 .../request/write/quota/SetSpaceQuotaPlan.java     | 101 +++
 .../confignode/manager/ClusterQuotaManager.java    | 222 ++++++
 .../iotdb/confignode/manager/ConfigManager.java    |  38 +-
 .../apache/iotdb/confignode/manager/IManager.java  |  11 +
 .../iotdb/confignode/manager/node/NodeManager.java |  16 +-
 .../manager/partition/PartitionManager.java        |   9 +
 .../iotdb/confignode/persistence/ModelInfo.java    |  14 +-
 .../persistence/executor/ConfigPlanExecutor.java   |  12 +-
 .../partition/DatabasePartitionTable.java          |  20 +
 .../persistence/partition/PartitionInfo.java       |  17 +
 .../confignode/persistence/quota/QuotaInfo.java    | 162 ++++
 .../procedure/impl/model/CreateModelProcedure.java |   2 +-
 .../procedure/impl/model/DropModelProcedure.java   |  27 +-
 .../procedure/state/model/DropModelState.java      |   1 -
 .../procedure/store/ProcedureFactory.java          |  16 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |  17 +
 .../request/ConfigPhysicalPlanSerDeTest.java       |  16 +
 .../confignode/persistence/QuotaInfoTest.java      |  82 ++
 .../org/apache/iotdb/consensus/common/Utils.java   |  32 -
 .../iot/logdispatcher/IndexController.java         |   2 +-
 .../ratis/ApplicationStateMachineProxy.java        |   1 +
 .../iotdb/consensus/ratis/RatisConsensus.java      |  35 +-
 .../iotdb/consensus/ratis/ResponseMessage.java     |   1 +
 .../iotdb/consensus/ratis/SnapshotStorage.java     |  11 +-
 .../ratis/metrics/IoTDBMetricRegistry.java         |   2 +-
 .../consensus/ratis/utils/RatisLogMonitor.java     |  87 ++
 .../iotdb/consensus/ratis/{ => utils}/Utils.java   |   4 +-
 .../iot/logdispatcher/IndexControllerTest.java     |   2 +-
 .../apache/iotdb/consensus/ratis/SnapshotTest.java |  54 +-
 .../apache/iotdb/consensus/ratis/UtilsTest.java    |   1 +
 .../DockerCompose/docker-compose-cluster-1c2d.yml  |   6 +-
 .../DockerCompose/docker-compose-host-3c3d.yml     |   4 +-
 .../DockerCompose/docker-compose-standalone.yml    |   3 +-
 docker/src/main/Dockerfile-1.0.0-datanode          |   3 +-
 docs/Download/README.md                            |  22 +-
 docs/UserGuide/API/InfluxDB-Protocol.md            |  10 +-
 docs/UserGuide/API/Programming-Java-Native-API.md  |  93 +--
 docs/UserGuide/API/Programming-MQTT.md             |   4 +-
 .../UserGuide/API/Programming-Python-Native-API.md |   2 +-
 .../API/{RestService.md => RestServiceV1.md}       |  46 +-
 .../API/{RestService.md => RestServiceV2.md}       |  50 +-
 docs/UserGuide/Cluster/Cluster-Concept.md          |   4 +-
 docs/UserGuide/Cluster/Cluster-Maintenance.md      |   2 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |   4 +-
 docs/UserGuide/Data-Concept/Schema-Template.md     |   6 +-
 docs/UserGuide/Data-Concept/Time-Partition.md      |   2 +-
 docs/UserGuide/Ecosystem-Integration/DBeaver.md    |  16 +-
 .../Ecosystem-Integration/Grafana-Connector.md     |   6 +-
 .../Ecosystem-Integration/Grafana-Plugin.md        |  58 +-
 .../UserGuide/Ecosystem-Integration/Spark-IoTDB.md |   2 +-
 .../Ecosystem-Integration/Spark-TsFile.md          |   6 +-
 .../Ecosystem-Integration/Writing-Data-on-HDFS.md  |   2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |   8 +-
 .../Edge-Cloud-Collaboration/Sync-Tool.md          |   2 +-
 docs/UserGuide/IoTDB-Introduction/Architecture.md  |   2 +-
 docs/UserGuide/IoTDB-Introduction/Publication.md   |   2 +-
 docs/UserGuide/IoTDB-Introduction/Scenario.md      |  14 +-
 docs/UserGuide/Maintenance-Tools/JMX-Tool.md       |   4 +-
 docs/UserGuide/Maintenance-Tools/Log-Tool.md       |   6 +-
 docs/UserGuide/Monitor-Alert/Alerting.md           |   2 +-
 docs/UserGuide/Monitor-Alert/Metric-Tool.md        |  10 +-
 .../Operate-Metadata/Auto-Create-MetaData.md       |   2 +-
 docs/UserGuide/Operate-Metadata/Template.md        |   6 +-
 docs/UserGuide/Operate-Metadata/Timeseries.md      |   2 +-
 docs/UserGuide/Operators-Functions/Aggregation.md  |  30 +-
 docs/UserGuide/Operators-Functions/Conditional.md  | 351 +++++++++
 docs/UserGuide/Operators-Functions/Conversion.md   |   2 +-
 docs/UserGuide/Operators-Functions/Sample.md       |   6 +-
 .../Operators-Functions/User-Defined-Function.md   |  10 +-
 docs/UserGuide/Query-Data/Continuous-Query.md      |   8 +-
 docs/UserGuide/Query-Data/Group-By.md              |   6 +-
 docs/UserGuide/Query-Data/Overview.md              |   2 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |  24 +-
 docs/UserGuide/QuickStart/WayToGetIoTDB.md         |  13 +-
 docs/UserGuide/Reference/Common-Config-Manual.md   |   9 +
 docs/UserGuide/Reference/Keywords.md               |   1 +
 docs/UserGuide/Reference/TSDB-Comparison.md        |  16 +-
 docs/UserGuide/Write-Data/REST-API.md              |   2 +-
 docs/zh/Download/README.md                         |  22 +-
 docs/zh/UserGuide/API/InfluxDB-Protocol.md         |  10 +-
 .../UserGuide/API/Programming-Java-Native-API.md   |  83 +-
 docs/zh/UserGuide/API/Programming-MQTT.md          |   4 +-
 .../UserGuide/API/Programming-Python-Native-API.md |   2 +-
 .../API/{RestService.md => RestServiceV1.md}       |  46 +-
 .../API/{RestService.md => RestServiceV2.md}       |  50 +-
 docs/zh/UserGuide/Cluster/Cluster-Concept.md       |   4 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |   4 +-
 docs/zh/UserGuide/Data-Concept/Schema-Template.md  |   6 +-
 docs/zh/UserGuide/Data-Concept/Time-Partition.md   |   2 +-
 docs/zh/UserGuide/Ecosystem-Integration/DBeaver.md |  16 +-
 .../Ecosystem-Integration/Grafana-Connector.md     |   6 +-
 .../Ecosystem-Integration/Grafana-Plugin.md        |  58 +-
 .../Ecosystem-Integration/Spark-TsFile.md          |  24 +-
 .../UserGuide/Ecosystem-Integration/Workbench.md   |  82 +-
 .../Ecosystem-Integration/Writing-Data-on-HDFS.md  |   2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |   8 +-
 .../Edge-Cloud-Collaboration/Sync-Tool.md          |   2 +-
 .../UserGuide/IoTDB-Introduction/Architecture.md   |   2 +-
 .../zh/UserGuide/IoTDB-Introduction/Publication.md |   2 +-
 docs/zh/UserGuide/IoTDB-Introduction/Scenario.md   |  14 +-
 docs/zh/UserGuide/Maintenance-Tools/JMX-Tool.md    |   4 +-
 docs/zh/UserGuide/Maintenance-Tools/Log-Tool.md    |   6 +-
 docs/zh/UserGuide/Monitor-Alert/Alerting.md        |   2 +-
 docs/zh/UserGuide/Monitor-Alert/Metric-Tool.md     |   6 +-
 docs/zh/UserGuide/Operate-Metadata/Template.md     |   6 +-
 docs/zh/UserGuide/Operate-Metadata/Timeseries.md   |   2 +-
 .../UserGuide/Operators-Functions/Aggregation.md   |  30 +-
 .../UserGuide/Operators-Functions/Conditional.md   | 347 ++++++++
 .../zh/UserGuide/Operators-Functions/Conversion.md |   2 +-
 docs/zh/UserGuide/Operators-Functions/Overview.md  |  10 +-
 docs/zh/UserGuide/Operators-Functions/Sample.md    |   6 +-
 .../Operators-Functions/User-Defined-Function.md   |   2 +-
 docs/zh/UserGuide/Query-Data/Continuous-Query.md   |   8 +-
 docs/zh/UserGuide/Query-Data/Group-By.md           |   6 +-
 docs/zh/UserGuide/Query-Data/Overview.md           |   2 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |  24 +-
 docs/zh/UserGuide/QuickStart/WayToGetIoTDB.md      |  11 +-
 .../zh/UserGuide/Reference/Common-Config-Manual.md |   9 +
 docs/zh/UserGuide/Reference/Keywords.md            |   1 +
 docs/zh/UserGuide/Reference/TSDB-Comparison.md     |  14 +-
 docs/zh/UserGuide/Trigger/Implement-Trigger.md     |   4 +-
 docs/zh/UserGuide/Write-Data/REST-API.md           |   2 +-
 .../src/AlignedTimeseriesSessionExample.cpp        |   8 +-
 example/client-cpp-example/src/SessionExample.cpp  |   9 +-
 grafana-plugin/pkg/plugin/plugin.go                |   8 +-
 .../java/org/apache/iotdb/db/it/IoTDBFilterIT.java |   5 +
 .../db/it/IoTDBSyntaxConventionIdentifierIT.java   |  20 +-
 .../iotdb/db/it/aggregation/IoTDBModeIT.java       |  24 +-
 .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java  | 108 +++
 .../scalar/IoTDBSubStringFunctionIT.java           |  82 +-
 .../iotdb/db/it/query/IoTDBCaseWhenThenIT.java     | 876 +++++++++++++++++++++
 .../iotdb/db/it/query/IoTDBNullOperandIT.java      |   3 +
 .../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java  |  13 +
 .../db/it/specialwords/IoTDBSpecialWordsIT.java    |  77 ++
 .../session/it/IoTDBSessionSchemaTemplateIT.java   |   6 +-
 .../java/org/apache/iotdb/isession/ISession.java   |   2 +-
 .../apache/iotdb/isession/pool/ISessionPool.java   |   2 +-
 .../iotdb/library/dprofile/util/GKArray.java       |  17 +-
 .../iotdb/metrics/AbstractMetricService.java       |  10 +-
 mlnode/iotdb/mlnode/service.py                     |   2 +-
 mlnode/requirements_dev.txt                        |   4 +-
 .../resources/conf/iotdb-common.properties         |  26 +-
 .../iotdb/commons/concurrent/ThreadName.java       |   8 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |  11 +
 .../iotdb/commons/conf/CommonDescriptor.java       |   3 +
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |  12 +
 .../apache/iotdb/commons/enums/SpaceQuotaType.java |   8 +-
 .../iotdb/commons/model/ModelHyperparameter.java   |  10 +
 .../iotdb/commons/model/ModelInformation.java      |  89 ++-
 .../iotdb/commons/model/TrailInformation.java      |   7 +-
 .../apache/iotdb/commons/service/ServiceType.java  |   3 +-
 .../commons/utils/BasicStructureSerDeUtil.java     |  16 +
 openapi/pom.xml                                    |  56 +-
 openapi/src/main/openapi3/iotdb_rest_common.yaml   |  63 ++
 .../{iotdb-rest.yaml => iotdb_rest_v1.yaml}        |  35 +-
 .../{iotdb-rest.yaml => iotdb_rest_v2.yaml}        |  35 +-
 pom.xml                                            |   4 +-
 .../schemaregion/rocksdb/RSchemaRegion.java        |  10 +
 .../metadata/tagSchemaRegion/TagSchemaRegion.java  |  10 +
 .../src/main/codegen/templates/ModeAccumulator.ftl |  49 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   | 108 ++-
 .../org/apache/iotdb/db/client/MLNodeClient.java   |  18 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  55 ++
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  31 +
 .../org/apache/iotdb/db/engine/StorageEngine.java  |  10 +
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |   2 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |  45 ++
 .../quota/ExceedQuotaException.java}               |  13 +-
 .../runtime/MemoryLeakException.java}              |  11 +-
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |  20 +-
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |  18 +-
 .../db/metadata/mtree/store/CachedMTreeStore.java  |   8 +-
 .../db/metadata/mtree/store/MemMTreeStore.java     |   2 +
 .../metadata/rescon/ISchemaRegionStatistics.java   |   2 +
 .../metadata/rescon/MemSchemaRegionStatistics.java |  15 +
 .../db/metadata/schemaregion/ISchemaRegion.java    |   5 +
 .../db/metadata/schemaregion/SchemaEngine.java     |  30 +
 .../schemaregion/SchemaRegionMemoryImpl.java       |  82 +-
 .../schemaregion/SchemaRegionSchemaFileImpl.java   | 108 ++-
 .../metadata/template/ClusterTemplateManager.java  |  17 +
 .../iotdb/db/mpp/common/FragmentInstanceId.java    |   4 +
 .../apache/iotdb/db/mpp/common/SessionInfo.java    |  14 +
 .../db/mpp/common/header/ColumnHeaderConstant.java |  37 +
 .../db/mpp/common/header/DatasetHeaderFactory.java |  12 +
 .../db/mpp/execution/driver/DriverContext.java     |  28 +-
 .../iotdb/db/mpp/execution/driver/IDriver.java     |   2 +-
 .../execution/exchange/MPPDataExchangeManager.java |  63 +-
 .../mpp/execution/exchange/SharedTsBlockQueue.java |  20 +-
 .../execution/exchange/sink/ShuffleSinkHandle.java |  12 +-
 .../mpp/execution/exchange/sink/SinkChannel.java   |  12 +-
 .../execution/exchange/source/SourceHandle.java    |  12 +-
 .../fragment/FragmentInstanceContext.java          |  19 +-
 .../fragment/FragmentInstanceExecution.java        |  10 +
 .../iotdb/db/mpp/execution/memory/MemoryPool.java  | 250 +++---
 .../operator/process/FilterAndProjectOperator.java |  22 +
 .../operator/source/ExchangeOperator.java          |  13 +
 .../db/mpp/execution/schedule/DriverScheduler.java |  15 +-
 .../db/mpp/execution/schedule/task/DriverTask.java |  18 +-
 .../apache/iotdb/db/mpp/plan/analyze/Analyzer.java |  16 +-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    | 101 ++-
 .../mpp/plan/analyze/ExpressionTypeAnalyzer.java   |  49 ++
 .../iotdb/db/mpp/plan/analyze/ExpressionUtils.java |  26 +
 .../db/mpp/plan/execution/QueryExecution.java      |   7 +-
 .../plan/execution/config/ConfigTaskVisitor.java   |  46 ++
 .../config/executor/ClusterConfigTaskExecutor.java | 178 +++++
 .../config/executor/IConfigTaskExecutor.java       |  18 +
 .../config/metadata/model/CreateModelTask.java     |  42 +
 .../config/metadata/model/DropModelTask.java}      |  28 +-
 .../config/metadata/model/ShowModelsTask.java      |  96 +++
 .../config/metadata/model/ShowTrailsTask.java      |  90 +++
 .../config/sys/quota/SetSpaceQuotaTask.java        |  42 +
 .../config/sys/quota/ShowSpaceQuotaTask.java       | 130 +++
 .../iotdb/db/mpp/plan/expression/Expression.java   |  10 +
 .../db/mpp/plan/expression/ExpressionFactory.java  |  15 +
 .../db/mpp/plan/expression/ExpressionType.java     |   4 +
 .../plan/expression/binary/BinaryExpression.java   |   3 +-
 .../plan/expression/binary/WhenThenExpression.java |  73 ++
 .../builtin/helper/SubStringFunctionHelper.java    |  35 +-
 .../expression/other/CaseWhenThenExpression.java   | 172 ++++
 .../visitor/CartesianProductVisitor.java           |  27 +
 .../plan/expression/visitor/CollectVisitor.java    |   7 +
 .../visitor/ColumnTransformerVisitor.java          |  44 ++
 .../ConcatExpressionWithSuffixPathsVisitor.java    |   3 +-
 .../visitor/ExpressionAnalyzeVisitor.java          |   2 +-
 .../plan/expression/visitor/ExpressionVisitor.java |  10 +
 .../visitor/IntermediateLayerVisitor.java          |   7 +
 .../expression/visitor/ReconstructVisitor.java     |   9 +
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       | 245 +++++-
 .../db/mpp/plan/parser/StatementGenerator.java     |  71 ++
 .../plan/planner/LocalExecutionPlanContext.java    |   4 +
 .../db/mpp/plan/planner/OperatorTreeGenerator.java |   1 +
 .../db/mpp/plan/planner/PipelineDriverFactory.java |  15 +-
 .../db/mpp/plan/planner/plan/node/PlanVisitor.java | 190 +++--
 .../iotdb/db/mpp/plan/statement/StatementType.java |   3 +
 .../db/mpp/plan/statement/StatementVisitor.java    |  31 +
 .../metadata/model/CreateModelStatement.java       | 107 +++
 .../metadata/model/DropModelStatement.java}        |  40 +-
 .../metadata/model/ShowModelsStatement.java}       |  32 +-
 .../metadata/model/ShowTrailsStatement.java        |  57 ++
 .../sys/quota/SetSpaceQuotaStatement.java          | 100 +++
 .../sys/quota/ShowSpaceQuotaStatement.java         |  62 ++
 .../dag/column/CaseWhenThenColumnTransformer.java  | 132 ++++
 .../binary/CompareNonEqualColumnTransformer.java   |   2 +-
 .../binary/LogicBinaryColumnTransformer.java       |   4 +-
 .../db/pipe/agent/runtime/PipeRuntimeAgent.java    |  15 +
 .../PipeConnectorPluginRuntimeWrapper.java         |  44 +-
 .../PipeProcessorPluginRuntimeWrapper.java         |  48 +-
 .../executor/PipeAssignerSubtaskExecutor.java      |  12 +-
 .../executor/PipeConnectorSubtaskExecutor.java     |  12 +-
 .../executor/PipeProcessorSubtaskExecutor.java     |  12 +-
 .../execution/executor/PipeSubtaskExecutor.java    | 122 ++-
 ...kExecutor.java => PipeTaskExecutorManager.java} |  40 +-
 .../scheduler/PipeAssignerSubtaskScheduler.java    |  36 -
 .../scheduler/PipeConnectorSubtaskScheduler.java   |  36 -
 .../scheduler/PipeProcessorSubtaskScheduler.java   |  36 -
 .../execution/scheduler/PipeSubtaskScheduler.java  |  33 -
 .../execution/scheduler/PipeTaskScheduler.java     |  44 +-
 .../org/apache/iotdb/db/pipe/task/PipeTask.java    |  31 +-
 .../DecoratingLock.java}                           |  26 +-
 .../PipeAssignerSubtask.java                       |   6 +-
 .../PipeConnectorSubtask.java                      |  13 +-
 .../PipeProcessorSubtask.java                      |  13 +-
 .../iotdb/db/pipe/task/callable/PipeSubtask.java   | 135 ++++
 .../db/pipe/task/stage/PipeTaskCollectorStage.java |  20 +-
 .../db/pipe/task/stage/PipeTaskConnectorStage.java |  20 +-
 .../db/pipe/task/stage/PipeTaskProcessorStage.java |  20 +-
 .../iotdb/db/pipe/task/stage/PipeTaskStage.java    |  37 +-
 .../rest/handler/AuthorizationHandler.java         |   8 +-
 .../rest/{ => v1}/handler/ExceptionHandler.java    |   4 +-
 .../{ => v1}/handler/ExecuteStatementHandler.java  |   2 +-
 .../rest/{ => v1}/handler/QueryDataSetHandler.java |  24 +-
 .../{ => v1}/handler/RequestValidationHandler.java |  22 +-
 .../handler/StatementConstructionHandler.java      |   6 +-
 .../rest/{ => v1}/impl/GrafanaApiServiceImpl.java  |  25 +-
 .../rest/{ => v1}/impl/RestApiServiceImpl.java     |  20 +-
 .../rest/{ => v2}/handler/ExceptionHandler.java    |   2 +-
 .../{ => v2}/handler/ExecuteStatementHandler.java  |   2 +-
 .../rest/{ => v2}/handler/QueryDataSetHandler.java |  26 +-
 .../{ => v2}/handler/RequestValidationHandler.java |   8 +-
 .../handler/StatementConstructionHandler.java      |   4 +-
 .../rest/{ => v2}/impl/GrafanaApiServiceImpl.java  |  25 +-
 .../rest/{ => v2}/impl/RestApiServiceImpl.java     |  20 +-
 .../iotdb/db/query/control/SessionManager.java     |   6 +-
 .../apache/iotdb/db/quotas/DataNodeSizeStore.java  |  60 ++
 .../iotdb/db/quotas/DataNodeSpaceQuotaManager.java | 153 ++++
 .../java/org/apache/iotdb/db/service/DataNode.java |   4 +
 .../apache/iotdb/db/service/MLNodeRPCService.java  |  98 +++
 .../MLNodeRPCServiceMBean.java}                    |   4 +-
 .../metrics/IoTDBInternalLocalReporter.java        |  66 +-
 .../handler/MLNodeRPCServiceThriftHandler.java     |  56 ++
 .../service/thrift/impl/ClientRPCServiceImpl.java  |   5 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |  40 +-
 .../thrift/impl/IMLNodeRPCServiceWithHandler.java  |  13 +-
 .../service/thrift/impl/MLNodeRPCServiceImpl.java  | 206 +++++
 .../engine/compaction/CompactionSchedulerTest.java |   3 +
 .../schemaRegion/SchemaStatisticsTest.java         |  31 +
 .../db/mpp/execution/memory/MemoryPoolTest.java    |  27 +-
 .../execution/schedule/DriverSchedulerTest.java    |  21 +-
 .../other/CaseWhenThenExpressionTest.java          |  73 ++
 .../executor/PipeAssignerSubtaskExecutorTest.java} |  20 +-
 .../PipeConnectorSubtaskExecutorTest.java}         |  24 +-
 .../PipeProcessorSubtaskExecutorTest.java}         |  24 +-
 .../executor/PipeSubtaskExecutorTest.java          | 158 ++++
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |   5 +-
 .../java/org/apache/iotdb/session/Session.java     |   8 +-
 .../apache/iotdb/session/SessionConnection.java    |   9 +-
 .../org/apache/iotdb/session/pool/SessionPool.java |   4 +-
 site/iotdb-doap.rdf                                |   8 +
 site/src/main/.vuepress/sidebar/V1.1.x/en.ts       |   3 +-
 site/src/main/.vuepress/sidebar/V1.1.x/zh.ts       |   3 +-
 site/src/main/.vuepress/sidebar/en.ts              |   3 +-
 site/src/main/.vuepress/sidebar/zh.ts              |   3 +-
 thrift-commons/src/main/thrift/common.thrift       |  18 +-
 .../src/main/thrift/confignode.thrift              |  19 +
 thrift/src/main/thrift/client.thrift               |   9 +-
 thrift/src/main/thrift/datanode.thrift             |  79 +-
 331 files changed, 9644 insertions(+), 2273 deletions(-)
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/quota/SetSpaceQuotaPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterQuotaManager.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/persistence/quota/QuotaInfo.java
 create mode 100644 confignode/src/test/java/org/apache/iotdb/confignode/persistence/QuotaInfoTest.java
 create mode 100644 consensus/src/main/java/org/apache/iotdb/consensus/ratis/utils/RatisLogMonitor.java
 rename consensus/src/main/java/org/apache/iotdb/consensus/ratis/{ => utils}/Utils.java (98%)
 copy docs/UserGuide/API/{RestService.md => RestServiceV1.md} (93%)
 rename docs/UserGuide/API/{RestService.md => RestServiceV2.md} (94%)
 create mode 100644 docs/UserGuide/Operators-Functions/Conditional.md
 copy docs/zh/UserGuide/API/{RestService.md => RestServiceV1.md} (94%)
 rename docs/zh/UserGuide/API/{RestService.md => RestServiceV2.md} (94%)
 create mode 100644 docs/zh/UserGuide/Operators-Functions/Conditional.md
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBCaseWhenThenIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/specialwords/IoTDBSpecialWordsIT.java
 copy server/src/main/java/org/apache/iotdb/db/pipe/execution/executor/PipeSubtaskExecutor.java => node-commons/src/main/java/org/apache/iotdb/commons/enums/SpaceQuotaType.java (87%)
 create mode 100644 openapi/src/main/openapi3/iotdb_rest_common.yaml
 copy openapi/src/main/openapi3/{iotdb-rest.yaml => iotdb_rest_v1.yaml} (92%)
 rename openapi/src/main/openapi3/{iotdb-rest.yaml => iotdb_rest_v2.yaml} (92%)
 copy server/src/main/java/org/apache/iotdb/db/{pipe/task/runnable/PipeConnectorSubtask.java => exception/quota/ExceedQuotaException.java} (75%)
 copy server/src/main/java/org/apache/iotdb/db/{pipe/execution/executor/PipeSubtaskExecutor.java => exception/runtime/MemoryLeakException.java} (76%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/model/CreateModelTask.java
 copy server/src/main/java/org/apache/iotdb/db/mpp/plan/{expression/visitor/ExpressionAnalyzeVisitor.java => execution/config/metadata/model/DropModelTask.java} (55%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/model/ShowModelsTask.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/model/ShowTrailsTask.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/quota/SetSpaceQuotaTask.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/quota/ShowSpaceQuotaTask.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/WhenThenExpression.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/other/CaseWhenThenExpression.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/model/CreateModelStatement.java
 copy server/src/main/java/org/apache/iotdb/db/mpp/plan/{expression/visitor/ExpressionAnalyzeVisitor.java => statement/metadata/model/DropModelStatement.java} (50%)
 copy server/src/main/java/org/apache/iotdb/db/mpp/plan/{expression/visitor/ExpressionAnalyzeVisitor.java => statement/metadata/model/ShowModelsStatement.java} (51%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/model/ShowTrailsStatement.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/sys/quota/SetSpaceQuotaStatement.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/sys/quota/ShowSpaceQuotaStatement.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/CaseWhenThenColumnTransformer.java
 rename server/src/main/java/org/apache/iotdb/db/pipe/execution/executor/{PipeTaskExecutor.java => PipeTaskExecutorManager.java} (59%)
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/execution/scheduler/PipeAssignerSubtaskScheduler.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/execution/scheduler/PipeConnectorSubtaskScheduler.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/execution/scheduler/PipeProcessorSubtaskScheduler.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/execution/scheduler/PipeSubtaskScheduler.java
 rename server/src/main/java/org/apache/iotdb/db/pipe/task/{runnable/PipeSubtask.java => callable/DecoratingLock.java} (60%)
 rename server/src/main/java/org/apache/iotdb/db/pipe/task/{runnable => callable}/PipeAssignerSubtask.java (89%)
 rename server/src/main/java/org/apache/iotdb/db/pipe/task/{runnable => callable}/PipeConnectorSubtask.java (68%)
 rename server/src/main/java/org/apache/iotdb/db/pipe/task/{runnable => callable}/PipeProcessorSubtask.java (68%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/task/callable/PipeSubtask.java
 copy server/src/main/java/org/apache/iotdb/db/protocol/rest/{ => v1}/handler/ExceptionHandler.java (97%)
 copy server/src/main/java/org/apache/iotdb/db/protocol/rest/{ => v1}/handler/ExecuteStatementHandler.java (97%)
 copy server/src/main/java/org/apache/iotdb/db/protocol/rest/{ => v1}/handler/QueryDataSetHandler.java (92%)
 copy server/src/main/java/org/apache/iotdb/db/protocol/rest/{ => v1}/handler/RequestValidationHandler.java (74%)
 copy server/src/main/java/org/apache/iotdb/db/protocol/rest/{ => v1}/handler/StatementConstructionHandler.java (97%)
 copy server/src/main/java/org/apache/iotdb/db/protocol/rest/{ => v1}/impl/GrafanaApiServiceImpl.java (92%)
 copy server/src/main/java/org/apache/iotdb/db/protocol/rest/{ => v1}/impl/RestApiServiceImpl.java (92%)
 rename server/src/main/java/org/apache/iotdb/db/protocol/rest/{ => v2}/handler/ExceptionHandler.java (98%)
 rename server/src/main/java/org/apache/iotdb/db/protocol/rest/{ => v2}/handler/ExecuteStatementHandler.java (97%)
 rename server/src/main/java/org/apache/iotdb/db/protocol/rest/{ => v2}/handler/QueryDataSetHandler.java (92%)
 rename server/src/main/java/org/apache/iotdb/db/protocol/rest/{ => v2}/handler/RequestValidationHandler.java (89%)
 rename server/src/main/java/org/apache/iotdb/db/protocol/rest/{ => v2}/handler/StatementConstructionHandler.java (98%)
 rename server/src/main/java/org/apache/iotdb/db/protocol/rest/{ => v2}/impl/GrafanaApiServiceImpl.java (92%)
 rename server/src/main/java/org/apache/iotdb/db/protocol/rest/{ => v2}/impl/RestApiServiceImpl.java (92%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/quotas/DataNodeSizeStore.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/quotas/DataNodeSpaceQuotaManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/MLNodeRPCService.java
 rename server/src/main/java/org/apache/iotdb/db/{pipe/task/metrics/PipeTaskRuntimeRecorder.java => service/MLNodeRPCServiceMBean.java} (90%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/thrift/handler/MLNodeRPCServiceThriftHandler.java
 copy confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/model/DropModelState.java => server/src/main/java/org/apache/iotdb/db/service/thrift/impl/IMLNodeRPCServiceWithHandler.java (78%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/thrift/impl/MLNodeRPCServiceImpl.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/mpp/expression/other/CaseWhenThenExpressionTest.java
 copy server/src/{main/java/org/apache/iotdb/db/pipe/execution/executor/PipeAssignerSubtaskExecutor.java => test/java/org/apache/iotdb/db/pipe/execution/executor/PipeAssignerSubtaskExecutorTest.java} (63%)
 copy server/src/{main/java/org/apache/iotdb/db/pipe/execution/executor/PipeAssignerSubtaskExecutor.java => test/java/org/apache/iotdb/db/pipe/execution/executor/PipeConnectorSubtaskExecutorTest.java} (55%)
 copy server/src/{main/java/org/apache/iotdb/db/pipe/execution/executor/PipeAssignerSubtaskExecutor.java => test/java/org/apache/iotdb/db/pipe/execution/executor/PipeProcessorSubtaskExecutorTest.java} (55%)
 create mode 100644 server/src/test/java/org/apache/iotdb/db/pipe/execution/executor/PipeSubtaskExecutorTest.java