This is an automated email from the ASF dual-hosted git repository.
rong pushed a change to branch make-sure-no-frame-size-problem
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from a7e2ab46372 Update PipeTransferSliceReqHandler.java
add 9c4db44aacf config
add a1e6fab0cdf [region migration] Enable SchemaRegion write retry when
migrating region concurrently (#13261)
add e5b87219c08 [region migration] Ratis delete local peer when
resetPeerList is called and myself not in correct peer list #13282
add 124a25e0efe Support update attribute on standalone version & Enable
cache update / mlog writing of createOrUpdate device & Improved the performance
/ semantic of schema device query & Introduce limit/offset of show device
add de28b7ef466 date_bin scalar function
add 87f765b426f [Fix] Add another retryPolicy for RatisClient (#13286)
add b28374ea69a Enable cpp client CI on Windows-2019 with visual studio
2019 (#13289)
add dc55eb06d32 Update DataNodeSpaceQuotaManager.java
add bc3b4d32c11 Introduce AINode to IoTDB (#13254)
add 7a2a0b4bb2c Fixed the NPE of failed internal create timeseries (#13253)
add e94c2c1ff71 Add subquery UT and IT, Remove some wrong implementation
code
add 4c7682f9d91 Merge branch 'master' of https://github.com/apache/iotdb
into make-sure-no-frame-size-problem
add 974ede65f39 Update IoTDBDataNodeReceiver.java
No new revisions were added by this update.
Summary of changes:
.github/workflows/multi-language-client.yml | 12 +-
.../db/it/IoTDBMultiIDsWithAttributesTableIT.java | 99 +--
.../scalar/IoTDBScalarFunctionTableIT.java | 54 ++
...{IoTDBDeviceQueryIT.java => IoTDBDeviceIT.java} | 58 +-
iotdb-client/client-cpp/README.md | 17 +-
.../java/org/apache/iotdb/rpc/TSStatusCode.java | 11 +-
iotdb-core/ainode/.gitignore | 11 +
.../pom.xml => iotdb-core/ainode/README.md | 21 +-
.../pom.xml => iotdb-core/ainode/README_ZH.md | 21 +-
iotdb-core/ainode/ainode.xml | 62 ++
.../ainode}/iotdb/__init__.py | 0
.../ainode/iotdb/ainode}/__init__.py | 0
iotdb-core/ainode/iotdb/ainode/attribute.py | 669 +++++++++++++++++++++
iotdb-core/ainode/iotdb/ainode/client.py | 285 +++++++++
iotdb-core/ainode/iotdb/ainode/config.py | 276 +++++++++
iotdb-core/ainode/iotdb/ainode/constant.py | 247 ++++++++
.../ainode/iotdb/ainode/encryption.py | 0
iotdb-core/ainode/iotdb/ainode/exception.py | 123 ++++
iotdb-core/ainode/iotdb/ainode/factory.py | 272 +++++++++
iotdb-core/ainode/iotdb/ainode/handler.py | 118 ++++
iotdb-core/ainode/iotdb/ainode/inference.py | 165 +++++
iotdb-core/ainode/iotdb/ainode/log.py | 134 +++++
iotdb-core/ainode/iotdb/ainode/parser.py | 191 ++++++
iotdb-core/ainode/iotdb/ainode/script.py | 102 ++++
iotdb-core/ainode/iotdb/ainode/serde.py | 564 +++++++++++++++++
iotdb-core/ainode/iotdb/ainode/service.py | 139 +++++
iotdb-core/ainode/iotdb/ainode/storage.py | 318 ++++++++++
iotdb-core/ainode/iotdb/ainode/util.py | 79 +++
iotdb-core/ainode/pom.xml | 347 +++++++++++
iotdb-core/ainode/pyproject.toml | 66 ++
iotdb-core/ainode/resources/conf/ainode-env.bat | 128 ++++
iotdb-core/ainode/resources/conf/ainode-env.sh | 138 +++++
.../ainode/resources/conf/iotdb-ainode.properties | 60 ++
iotdb-core/ainode/resources/sbin/remove-ainode.bat | 107 ++++
iotdb-core/ainode/resources/sbin/remove-ainode.sh | 112 ++++
iotdb-core/ainode/resources/sbin/start-ainode.bat | 77 +++
iotdb-core/ainode/resources/sbin/start-ainode.sh | 78 +++
iotdb-core/ainode/resources/sbin/stop-ainode.bat | 61 ++
iotdb-core/ainode/resources/sbin/stop-ainode.sh | 73 +++
.../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 | 7 +
.../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 43 ++
.../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 28 +
iotdb-core/confignode/pom.xml | 5 +
.../async/AsyncAINodeHeartbeatClientPool.java | 62 ++
.../handlers/heartbeat/AINodeHeartbeatHandler.java | 57 ++
.../iotdb/confignode/conf/ConfigNodeConstant.java | 1 +
.../consensus/request/ConfigPhysicalPlanType.java | 15 +-
.../read/ainode/GetAINodeConfigurationPlan.java | 74 +++
.../request/read/model/GetModelInfoPlan.java | 80 +++
.../request/read/model/ShowModelPlan.java | 90 +++
.../request/write/ainode/RegisterAINodePlan.java | 76 +++
.../request/write/ainode/RemoveAINodePlan.java | 79 +++
.../request/write/ainode/UpdateAINodePlan.java | 79 +++
.../request/write/model/CreateModelPlan.java | 79 +++
.../request/write/model/DropModelInNodePlan.java | 70 +++
.../request/write/model/DropModelPlan.java | 79 +++
.../request/write/model/UpdateModelInfoPlan.java | 118 ++++
.../response/ainode/AINodeConfigurationResp.java | 57 ++
.../response/ainode/AINodeRegisterResp.java | 67 +++
.../consensus/response/model/GetModelInfoResp.java | 71 +++
.../consensus/response/model/ModelTableResp.java | 55 ++
.../iotdb/confignode/manager/ConfigManager.java | 140 ++++-
.../apache/iotdb/confignode/manager/IManager.java | 67 +++
.../iotdb/confignode/manager/ModelManager.java | 126 ++++
.../iotdb/confignode/manager/ProcedureManager.java | 30 +
.../iotdb/confignode/manager/load/LoadManager.java | 6 +-
.../confignode/manager/load/cache/LoadCache.java | 18 +-
...artbeatCache.java => AINodeHeartbeatCache.java} | 49 +-
.../load/cache/node/DataNodeHeartbeatCache.java | 2 +-
.../load/cache/node/NodeHeartbeatSample.java | 15 +-
.../manager/load/service/HeartbeatService.java | 35 ++
.../manager/node/ClusterNodeStartUtils.java | 49 ++
.../iotdb/confignode/manager/node/NodeManager.java | 154 +++++
.../iotdb/confignode/persistence/ModelInfo.java | 382 ++++++++++++
.../persistence/executor/ConfigPlanExecutor.java | 45 +-
.../confignode/persistence/node/NodeInfo.java | 178 ++++++
.../procedure/impl/model/CreateModelProcedure.java | 250 ++++++++
.../procedure/impl/model/DropModelProcedure.java | 196 ++++++
.../procedure/impl/node/RemoveAINodeProcedure.java | 160 +++++
.../procedure/state/RemoveAINodeState.java} | 22 +-
.../procedure/state/model/CreateModelState.java} | 22 +-
.../procedure/state/model/DropModelState.java} | 22 +-
.../procedure/store/ProcedureFactory.java | 18 +
.../confignode/procedure/store/ProcedureType.java | 5 +
.../thrift/ConfigNodeRPCServiceProcessor.java | 78 +++
.../org/apache/iotdb/consensus/IConsensus.java | 4 +-
.../apache/iotdb/consensus/iot/IoTConsensus.java | 3 +-
.../apache/iotdb/consensus/ratis/RatisClient.java | 28 +-
.../iotdb/consensus/ratis/RatisConsensus.java | 32 +-
.../iotdb/consensus/simple/SimpleConsensus.java | 3 +-
iotdb-core/datanode/pom.xml | 5 +
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 24 +-
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 13 +
.../schemaregion/SchemaExecutionVisitor.java | 26 +-
.../ainode/GetModelInfoException.java} | 23 +-
.../ainode/ModelException.java} | 26 +-
.../ainode/ModelNotFoundException.java} | 23 +-
.../runtime/ModelInferenceProcessException.java} | 22 +-
.../protocol/thrift/IoTDBDataNodeReceiver.java | 4 +-
.../iotdb/db/protocol/client/ConfigNodeClient.java | 64 ++
.../iotdb/db/protocol/session/IClientSession.java | 8 +-
.../handler/AINodeRPCServiceThriftHandler.java | 60 ++
.../protocol/thrift/impl/AINodeRPCServiceImpl.java | 187 ++++++
.../impl/DataNodeInternalRPCServiceImpl.java | 2 +-
.../thrift/impl/IAINodeRPCServiceWithHandler.java} | 21 +-
.../iotdb/db/queryengine/common/SessionInfo.java | 27 +-
.../common/header/ColumnHeaderConstant.java | 22 +
.../common/header/DatasetHeaderFactory.java | 8 +
.../execution/executor/RegionWriteExecutor.java | 21 +-
.../fragment/FragmentInstanceManager.java | 11 +
.../operator/process/AI/InferenceOperator.java | 337 +++++++++++
.../operator/process/FilterAndProjectOperator.java | 6 +-
.../operator/schema/SchemaQueryScanOperator.java | 73 +--
.../schema/source/DeviceAttributeUpdater.java | 158 +++++
.../schema/source/DevicePredicateFilter.java | 52 +-
.../schema/source/DevicePredicateHandler.java | 132 ++++
.../schema/source/TableDeviceQuerySource.java | 59 +-
.../ainode/BottomInferenceWindowParameter.java | 72 +++
.../window/ainode/CountInferenceWindow.java} | 29 +-
.../ainode/CountInferenceWindowParameter.java | 82 +++
.../window/ainode/HeadInferenceWindow.java} | 26 +-
.../operator/window/ainode/InferenceWindow.java} | 25 +-
.../window/ainode/InferenceWindowParameter.java | 63 ++
.../window/ainode/InferenceWindowType.java} | 24 +-
.../window/ainode/TailInferenceWindow.java} | 25 +-
.../relational/ColumnTransformerBuilder.java | 12 +
.../db/queryengine/plan/analyze/Analysis.java | 19 +
.../queryengine/plan/analyze/AnalyzeVisitor.java | 176 ++++++
.../plan/analyze/IModelFetcher.java} | 22 +-
.../db/queryengine/plan/analyze/ModelFetcher.java | 81 +++
.../analyze/schema/AutoCreateSchemaExecutor.java | 20 +-
.../execution/config/TreeConfigTaskVisitor.java | 33 +
.../config/executor/ClusterConfigTaskExecutor.java | 93 +++
.../config/executor/IConfigTaskExecutor.java | 11 +
.../config/metadata/ShowClusterDetailsTask.java | 62 ++
.../execution/config/metadata/ShowClusterTask.java | 15 +
.../config/metadata/model/CreateModelTask.java | 45 ++
.../config/metadata/model/DropModelTask.java} | 31 +-
.../config/metadata/model/ShowAINodesTask.java | 80 +++
.../config/metadata/model/ShowModelsTask.java | 112 ++++
.../TableModelStatementMemorySourceVisitor.java | 6 +-
.../db/queryengine/plan/parser/ASTVisitor.java | 101 ++++
.../plan/parser/StatementGenerator.java | 5 +
.../plan/planner/LogicalPlanBuilder.java | 14 +
.../plan/planner/LogicalPlanVisitor.java | 4 +
.../plan/planner/OperatorTreeGenerator.java | 47 ++
.../plan/planner/TableOperatorGenerator.java | 55 +-
.../plan/planner/plan/node/PlanNodeType.java | 17 +-
.../plan/planner/plan/node/PlanVisitor.java | 21 +-
.../read/AbstractTableDeviceQueryNode.java | 7 +-
.../read/TableDeviceAttributeUpdateNode.java | 355 +++++++++++
.../metadata/read/TableDeviceQueryScanNode.java | 40 +-
.../node/metadata/write/CreateTimeSeriesNode.java | 4 +-
.../plan/node/process/AI/InferenceNode.java | 133 ++++
.../parameter/model/ModelInferenceDescriptor.java | 204 +++++++
.../plan/relational/analyzer/Analysis.java | 4 +-
.../relational/analyzer/StatementAnalyzer.java | 165 +++--
.../schema/CheckSchemaPredicateVisitor.java | 4 +-
.../schema/ExtractPredicateColumnNameVisitor.java | 28 +-
.../relational/metadata/TableMetadataImpl.java | 18 +-
.../metadata/fetcher/TableDeviceSchemaFetcher.java | 49 +-
.../fetcher/TableDeviceSchemaValidator.java | 133 ++--
.../fetcher/cache/TableDeviceCacheEntry.java | 19 +-
.../fetcher/cache/TableDeviceSchemaCache.java | 39 +-
.../plan/relational/planner/LogicalPlanner.java | 53 +-
.../plan/relational/planner/PredicateUtils.java | 217 -------
.../iterative/rule/PushLimitThroughProject.java | 9 +
...ode.java => CreateOrUpdateTableDeviceNode.java} | 38 +-
.../PushLimitOffsetIntoTableScan.java | 188 ++----
.../planner/optimizations/SortElimination.java | 7 +-
.../optimizations/TransformSortToStreamSort.java | 18 +
.../sql/ast/AbstractQueryDeviceWithCache.java | 24 +-
.../relational/sql/ast/AbstractTraverseDevice.java | 83 ++-
.../plan/relational/sql/ast/AstVisitor.java | 2 +-
.../plan/relational/sql/ast/CountDevice.java | 8 +-
...CreateDevice.java => CreateOrUpdateDevice.java} | 6 +-
.../plan/relational/sql/ast/ShowDevice.java | 59 +-
.../plan/relational/sql/ast/Update.java | 62 +-
.../plan/relational/sql/ast/UpdateAssignment.java | 32 +-
.../plan/relational/sql/parser/AstBuilder.java | 116 ++--
.../plan/relational/sql/util/SqlFormatter.java | 2 +-
.../plan/statement/StatementVisitor.java | 21 +
.../plan/statement/crud/QueryStatement.java | 64 ++
.../metadata/model/CreateModelStatement.java | 85 +++
.../metadata/model/DropModelStatement.java | 71 +++
.../metadata/model/ShowAINodesStatement.java} | 30 +-
.../metadata/model/ShowModelsStatement.java | 79 +++
.../scalar/DateBinFunctionColumnTransformer.java | 158 +++++
.../unary/scalar/TableBuiltinScalarFunction.java | 1 +
.../schemaengine/schemaregion/ISchemaRegion.java | 11 +-
.../schemaregion/SchemaRegionPlanType.java | 4 +
.../schemaregion/SchemaRegionPlanVisitor.java | 55 +-
.../attribute/DeviceAttributeStore.java | 13 +-
.../attribute/IDeviceAttributeStore.java | 13 +-
.../schemaregion/impl/SchemaRegionMemoryImpl.java | 558 ++++++++++-------
.../schemaregion/impl/SchemaRegionPBTreeImpl.java | 21 +-
.../visitor/SchemaRegionPlanDeserializer.java | 109 ++--
.../visitor/SchemaRegionPlanSerializer.java | 182 +++---
.../mtree/impl/mem/MTreeBelowSGMemoryImpl.java | 24 +-
.../write/req/SchemaRegionWritePlanFactory.java | 6 +
.../apache/iotdb/db/service/AINodeRPCService.java | 94 +++
.../AINodeRPCServiceMBean.java} | 21 +-
.../java/org/apache/iotdb/db/service/DataNode.java | 4 +
.../rescon/quotas/DataNodeSpaceQuotaManager.java | 89 ++-
.../apache/iotdb/db/tools/schema/MLogParser.java | 1 +
.../org/apache/iotdb/db/utils/DateTimeUtils.java | 2 +-
.../SchemaRegionSimpleRecoverTest.java | 81 +++
.../schemaRegion/SchemaRegionTestUtil.java | 30 +-
.../analyzer/LimitOffsetPushDownTest.java | 16 +
.../plan/relational/analyzer/SortTest.java | 94 +--
.../plan/relational/analyzer/SubQueryTest.java | 477 +++++++++++++++
.../fetcher/cache/TableDeviceSchemaCacheTest.java | 40 +-
.../planner/assertions/OffsetMatcher.java | 6 +
.../relational/planner/assertions/PlanAssert.java | 3 +-
.../planner/assertions/PlanMatchPattern.java | 5 +
.../column/unary/scalar/DateBinFunctionTest.java | 101 ++++
iotdb-core/node-commons/pom.xml | 6 +
.../iotdb/commons/client/ClientPoolFactory.java | 52 ++
.../iotdb/commons/client/ainode/AINodeClient.java | 237 ++++++++
.../ainode/AINodeClientManager.java} | 30 +-
.../iotdb/commons/client/ainode/AINodeInfo.java} | 24 +-
.../client/ainode/AsyncAINodeServiceClient.java | 143 +++++
.../org/apache/iotdb/commons/cluster/NodeType.java | 3 +-
.../iotdb/commons/concurrent/ThreadName.java | 2 +
.../apache/iotdb/commons/conf/CommonConfig.java | 39 ++
.../iotdb/commons/conf/CommonDescriptor.java | 6 +
.../exception/ainode/LoadModelException.java} | 23 +-
.../iotdb/commons/model/ModelHyperparameter.java | 81 +++
.../iotdb/commons/model/ModelInformation.java | 364 +++++++++++
.../apache/iotdb/commons/model/ModelStatus.java} | 27 +-
.../org/apache/iotdb/commons/model/ModelTable.java | 94 +++
.../org/apache/iotdb/commons/model/ModelType.java} | 23 +-
.../model/exception/ModelManagementException.java} | 23 +-
.../iotdb/commons/partition/SchemaPartition.java | 1 +
.../iotdb/commons/pipe/config/PipeConfig.java | 8 +
.../pipe/connector/client/IoTDBSyncClient.java | 13 +-
.../apache/iotdb/commons/service/ServiceType.java | 1 +
.../commons/utils/ThriftCommonsSerDeUtils.java | 59 ++
iotdb-core/pom.xml | 8 +
.../db/relational/grammar/sql/RelationalSql.g4 | 2 +
iotdb-protocol/pom.xml | 1 +
iotdb-protocol/thrift-ainode/pom.xml | 69 +++
.../thrift-ainode/src/main/thrift/ainode.thrift | 91 +++
.../thrift-commons/src/main/thrift/common.thrift | 30 +
.../src/main/thrift/confignode.thrift | 128 +++-
.../src/main/thrift/datanode.thrift | 58 +-
pom.xml | 2 +-
247 files changed, 15998 insertions(+), 1913 deletions(-)
rename
integration-test/src/test/java/org/apache/iotdb/relational/it/schema/{IoTDBDeviceQueryIT.java
=> IoTDBDeviceIT.java} (74%)
create mode 100644 iotdb-core/ainode/.gitignore
copy iotdb-protocol/pom.xml => iotdb-core/ainode/README.md (51%)
copy iotdb-protocol/pom.xml => iotdb-core/ainode/README_ZH.md (51%)
create mode 100644 iotdb-core/ainode/ainode.xml
copy {iotdb-client/client-py => iotdb-core/ainode}/iotdb/__init__.py (100%)
copy {iotdb-client/client-py/iotdb =>
iotdb-core/ainode/iotdb/ainode}/__init__.py (100%)
create mode 100644 iotdb-core/ainode/iotdb/ainode/attribute.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/client.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/config.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/constant.py
copy iotdb-client/client-py/iotdb/__init__.py =>
iotdb-core/ainode/iotdb/ainode/encryption.py (100%)
create mode 100644 iotdb-core/ainode/iotdb/ainode/exception.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/factory.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/handler.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/inference.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/log.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/parser.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/script.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/serde.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/service.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/storage.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/util.py
create mode 100644 iotdb-core/ainode/pom.xml
create mode 100644 iotdb-core/ainode/pyproject.toml
create mode 100644 iotdb-core/ainode/resources/conf/ainode-env.bat
create mode 100644 iotdb-core/ainode/resources/conf/ainode-env.sh
create mode 100644 iotdb-core/ainode/resources/conf/iotdb-ainode.properties
create mode 100644 iotdb-core/ainode/resources/sbin/remove-ainode.bat
create mode 100755 iotdb-core/ainode/resources/sbin/remove-ainode.sh
create mode 100644 iotdb-core/ainode/resources/sbin/start-ainode.bat
create mode 100644 iotdb-core/ainode/resources/sbin/start-ainode.sh
create mode 100644 iotdb-core/ainode/resources/sbin/stop-ainode.bat
create mode 100644 iotdb-core/ainode/resources/sbin/stop-ainode.sh
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/async/AsyncAINodeHeartbeatClientPool.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/heartbeat/AINodeHeartbeatHandler.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/ainode/GetAINodeConfigurationPlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/model/GetModelInfoPlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/model/ShowModelPlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/ainode/RegisterAINodePlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/ainode/RemoveAINodePlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/ainode/UpdateAINodePlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/model/CreateModelPlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/model/DropModelInNodePlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/model/DropModelPlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/model/UpdateModelInfoPlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/ainode/AINodeConfigurationResp.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/ainode/AINodeRegisterResp.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/model/GetModelInfoResp.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/model/ModelTableResp.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ModelManager.java
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/cache/node/{DataNodeHeartbeatCache.java
=> AINodeHeartbeatCache.java} (60%)
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/ModelInfo.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/model/CreateModelProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/model/DropModelProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/node/RemoveAINodeProcedure.java
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=>
confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/RemoveAINodeState.java}
(60%)
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=>
confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/model/CreateModelState.java}
(60%)
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=>
confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/model/DropModelState.java}
(60%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=> exception/ainode/GetModelInfoException.java} (60%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=> exception/ainode/ModelException.java} (61%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=> exception/ainode/ModelNotFoundException.java} (60%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=> exception/runtime/ModelInferenceProcessException.java} (60%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/handler/AINodeRPCServiceThriftHandler.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/AINodeRPCServiceImpl.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=> protocol/thrift/impl/IAINodeRPCServiceWithHandler.java} (61%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/AI/InferenceOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DeviceAttributeUpdater.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DevicePredicateHandler.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/window/ainode/BottomInferenceWindowParameter.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=> queryengine/execution/operator/window/ainode/CountInferenceWindow.java}
(61%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/window/ainode/CountInferenceWindowParameter.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=> queryengine/execution/operator/window/ainode/HeadInferenceWindow.java} (61%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=> queryengine/execution/operator/window/ainode/InferenceWindow.java} (61%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/window/ainode/InferenceWindowParameter.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=> queryengine/execution/operator/window/ainode/InferenceWindowType.java} (60%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=> queryengine/execution/operator/window/ainode/TailInferenceWindow.java} (61%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=> queryengine/plan/analyze/IModelFetcher.java} (60%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ModelFetcher.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/model/CreateModelTask.java
copy
iotdb-core/{node-commons/src/main/java/org/apache/iotdb/commons/cluster/NodeType.java
=>
datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/model/DropModelTask.java}
(52%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/model/ShowAINodesTask.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/model/ShowModelsTask.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/TableDeviceAttributeUpdateNode.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/AI/InferenceNode.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/model/ModelInferenceDescriptor.java
rename
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/{CreateTableDeviceNode.java
=> CreateOrUpdateTableDeviceNode.java} (88%)
rename
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{CreateDevice.java
=> CreateOrUpdateDevice.java} (95%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/CreateModelStatement.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/DropModelStatement.java
copy
iotdb-core/{node-commons/src/main/java/org/apache/iotdb/commons/cluster/NodeType.java
=>
datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/ShowAINodesStatement.java}
(54%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/ShowModelsStatement.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DateBinFunctionColumnTransformer.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/AINodeRPCService.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=> service/AINodeRPCServiceMBean.java} (60%)
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/SubQueryTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DateBinFunctionTest.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/client/ainode/AINodeClient.java
copy
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/{cluster/NodeType.java
=> client/ainode/AINodeClientManager.java} (54%)
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/client/ainode/AINodeInfo.java}
(60%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/client/ainode/AsyncAINodeServiceClient.java
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/exception/ainode/LoadModelException.java}
(60%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/model/ModelHyperparameter.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/model/ModelInformation.java
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=> node-commons/src/main/java/org/apache/iotdb/commons/model/ModelStatus.java}
(60%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/model/ModelTable.java
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=> node-commons/src/main/java/org/apache/iotdb/commons/model/ModelType.java}
(60%)
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/model/exception/ModelManagementException.java}
(60%)
create mode 100644 iotdb-protocol/thrift-ainode/pom.xml
create mode 100644 iotdb-protocol/thrift-ainode/src/main/thrift/ainode.thrift