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

shuwenwei pushed a commit to branch table_disk_usage_statistics_with_cache
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 8f2de96903ece94025fd2c43c62f1bc558035b88
Merge: 6575e6edfe3 78c1f492b60
Author: shuwenwei <[email protected]>
AuthorDate: Mon Jan 19 16:30:06 2026 +0800

    Merge branch 'iotdb_master' into table_disk_usage_statistics_with_cache

 .gitignore                                         |   3 +
 .../iotdb/ainode/it/AINodeCallInferenceIT.java     |  22 +
 .../ainode/it/AINodeConcurrentForecastIT.java      |   9 +-
 ...lInferenceIT.java => AINodeDeviceManageIT.java} |  65 ++-
 .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java  |  55 +--
 .../treemodel/manual/IoTDBPipePermissionIT.java    |  36 +-
 .../pipe/it/single/IoTDBPipePermissionIT.java      |  51 +++
 .../relational/it/db/it/IoTDBDeletionTableIT.java  | 158 +++++++
 .../it/query/object/IoTDBObjectQuery2IT.java       | 326 --------------
 .../it/query/object/IoTDBObjectQueryIT.java        | 309 -------------
 .../it/query/old/IoTDBSimpleQueryTableIT.java      |  63 +--
 .../relational/it/query/recent/IoTDBCteIT.java     |  31 +-
 .../recent/informationschema/IoTDBServicesIT.java  | 118 +++++
 .../recent/subquery/SubqueryDataSetUtils.java      |   4 +
 .../IoTDBUncorrelatedScalarSubqueryIT.java         |   5 +
 .../view/recent/IoTDBTableViewAddColumnTest.java   |  84 ++++
 .../it/schema/IoTDBAlterColumnTypeIT.java          |   1 +
 .../relational/it/schema/IoTDBDatabaseIT.java      |  12 +-
 .../iotdb/relational/it/schema/IoTDBTableIT.java   | 141 ------
 .../relational/it/session/IoTDBObjectDeleteIT.java | 363 ---------------
 .../relational/it/session/IoTDBObjectInsertIT.java | 339 --------------
 .../it/session/IoTDBObjectInsertIT2.java           | 170 -------
 iotdb-api/external-service-api/pom.xml             |  60 +++
 .../externalservice/api/IExternalService.java      |  33 ++
 iotdb-api/pom.xml                                  |   1 +
 .../src/test/cpp/sessionRelationalIT.cpp           |  12 +-
 iotdb-client/client-py/README.md                   |   2 +
 .../client-py/iotdb/tsfile/utils/tsblock_serde.py  |   4 +-
 iotdb-client/client-py/session_example_date.py     | 109 +++++
 iotdb-client/client-py/session_pool_example.py     |  18 +-
 .../client-py/table_model_session_pool_example.py  |  24 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |   8 +
 iotdb-core/ainode/build_binary.py                  |  54 ++-
 iotdb-core/ainode/iotdb/ainode/core/ai_node.py     |  11 +-
 iotdb-core/ainode/iotdb/ainode/core/constant.py    |   4 +-
 .../ainode/iotdb/ainode/core/device/__init__.py    |  17 +
 .../iotdb/ainode/core/device/backend/__init__.py   |  17 +
 .../iotdb/ainode/core/device/backend/base.py       |  42 ++
 .../ainode/core/device/backend/cpu_backend.py      |  37 ++
 .../ainode/core/device/backend/cuda_backend.py     |  39 ++
 .../iotdb/ainode/core/device/device_utils.py       |  49 +++
 iotdb-core/ainode/iotdb/ainode/core/device/env.py  |  39 ++
 .../ainode/core/inference/batcher/basic_batcher.py |  27 +-
 .../ainode/core/inference/inference_request.py     |  15 +-
 .../core/inference/inference_request_pool.py       |  33 +-
 .../core/inference/pipeline/basic_pipeline.py      |  11 +-
 .../core/inference/pipeline/pipeline_loader.py     |   4 +-
 .../iotdb/ainode/core/inference/pool_controller.py |  88 ++--
 .../pool_scheduler/abstract_pool_scheduler.py      |  12 +-
 .../pool_scheduler/basic_pool_scheduler.py         |  50 +--
 .../iotdb/ainode/core/manager/device_manager.py    | 108 +++++
 .../iotdb/ainode/core/manager/inference_manager.py |  66 ++-
 .../ainode/iotdb/ainode/core/manager/utils.py      |  34 +-
 .../core/model/chronos2/pipeline_chronos2.py       |   2 +-
 .../ainode/iotdb/ainode/core/model/model_loader.py |  14 +-
 .../ainode/core/model/sktime/pipeline_sktime.py    |   2 +-
 .../ainode/core/model/sundial/pipeline_sundial.py  |   2 +-
 .../ainode/core/model/timer_xl/pipeline_timer.py   |   2 +-
 iotdb-core/ainode/iotdb/ainode/core/rpc/handler.py |  62 ++-
 iotdb-core/ainode/iotdb/ainode/core/rpc/service.py |   2 +-
 .../ainode/iotdb/ainode/core/util/gpu_mapping.py   |  93 ----
 iotdb-core/ainode/pom.xml                          |  34 --
 iotdb-core/ainode/pyproject.toml                   |   6 +-
 .../ainode/resources/conf/iotdb-ainode.properties  |   2 +-
 .../ainode/resources/syncPythonVersion.groovy      | 159 -------
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |   3 +
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |  24 +
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |  13 +
 .../client/async/CnToDnAsyncRequestType.java       |   3 +
 .../CnToDnInternalServiceAsyncRequestManager.java  |   5 +
 .../rpc/DataNodeAsyncRequestRPCHandler.java        |   9 +
 .../rpc/GetBuiltInExternalServiceRPCHandler.java   |  82 ++++
 .../confignode/conf/SystemPropertiesUtils.java     |  15 -
 .../consensus/request/ConfigPhysicalPlan.java      |  16 +
 .../consensus/request/ConfigPhysicalPlanType.java  |   6 +
 .../exernalservice/ShowExternalServicePlan.java    |  58 +++
 .../externalservice/CreateExternalServicePlan.java |  89 ++++
 .../externalservice/DropExternalServicePlan.java   |  87 ++++
 .../externalservice/StartExternalServicePlan.java  |  87 ++++
 .../externalservice/StopExternalServicePlan.java   |  87 ++++
 .../externalservice/ShowExternalServiceResp.java   |  53 +++
 .../iotdb/confignode/manager/ConfigManager.java    |  64 +++
 .../apache/iotdb/confignode/manager/IManager.java  |  15 +
 .../externalservice/ExternalServiceInfo.java       | 312 +++++++++++++
 .../externalservice/ExternalServiceManager.java    | 215 +++++++++
 .../iotdb/confignode/manager/node/NodeManager.java |  13 +-
 .../persistence/executor/ConfigPlanExecutor.java   |  22 +
 .../confignode/persistence/schema/ConfigMTree.java |  37 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |  27 ++
 .../persistence/ExternalServiceInfoTest.java       |  93 ++++
 .../persistence/schema/ConfigMTreeTest.java        |  58 +++
 .../test/resources/oldsnapshot/cluster_schema.bin  | Bin 0 -> 121 bytes
 .../resources/oldsnapshot/table_cluster_schema.bin | Bin 0 -> 5177 bytes
 iotdb-core/datanode/pom.xml                        |   5 +
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   9 +
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   9 -
 .../exception/ChunkTypeInconsistentException.java  |  38 +-
 .../db/pipe/agent/runtime/PipeAgentLauncher.java   |   3 +-
 .../subtask/processor/PipeProcessorSubtask.java    |  21 +-
 .../db/pipe/event/common/PipeInsertionEvent.java   |   4 +
 .../common/tsfile/PipeTsFileInsertionEvent.java    |   4 -
 .../scan/TsFileInsertionEventScanParser.java       |   3 +-
 .../table/TsFileInsertionEventTableParser.java     |  16 +-
 .../sink/protocol/writeback/WriteBackSink.java     |  14 +-
 .../iotdb/db/protocol/client/ConfigNodeClient.java |  35 ++
 .../iotdb/db/protocol/mqtt/MPPPublishHandler.java  |  14 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |  20 +-
 .../common/header/DatasetHeaderFactory.java        |   4 +
 .../execution/fragment/QueryStatistics.java        |  10 +-
 .../operator/process/AbstractIntoOperator.java     |   6 +-
 .../operator/process/AbstractTreeIntoOperator.java |   8 +-
 .../operator/process/DeviceViewIntoOperator.java   | 110 ++++-
 .../process/InsertTabletStatementGenerator.java    |   4 +
 .../operator/process/TableIntoOperator.java        |   5 +
 .../operator/process/TreeIntoOperator.java         |  37 +-
 .../execution/operator/source/FileLoaderUtils.java |  12 +-
 .../execution/operator/source/SeriesScanUtil.java  |  40 +-
 .../InformationSchemaContentSupplierFactory.java   |  37 ++
 .../relational/ColumnTransformerBuilder.java       |  36 --
 .../iotdb/db/queryengine/plan/Coordinator.java     |   8 +
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |  21 +-
 .../queryengine/plan/analyze/SelectIntoUtils.java  |  42 +-
 .../execution/config/TableConfigTaskVisitor.java   |  40 ++
 .../execution/config/TreeConfigTaskVisitor.java    |  41 ++
 .../config/executor/ClusterConfigTaskExecutor.java | 114 +++++
 .../config/executor/IConfigTaskExecutor.java       |  10 +
 .../config/metadata/ai/ShowAIDevicesTask.java      |  15 +-
 .../externalservice/CreateExternalServiceTask.java |  52 +++
 .../externalservice/DropExternalServiceTask.java   |  45 ++
 .../externalservice/ShowExternalServiceTask.java   |  56 +++
 .../externalservice/StartExternalServiceTask.java  |  33 +-
 .../externalservice/StopExternalServiceTask.java   |  33 +-
 .../db/queryengine/plan/parser/ASTVisitor.java     |  34 ++
 .../parameter/DeviceViewIntoPathDescriptor.java    |   5 +-
 .../planner/plan/parameter/IntoPathDescriptor.java |   5 +-
 .../plan/relational/analyzer/Scope.java            |   3 +-
 .../relational/analyzer/StatementAnalyzer.java     |  18 +-
 .../function/tvf/ClassifyTableFunction.java        |   2 +-
 .../function/tvf/ForecastTableFunction.java        |   2 +-
 .../relational/metadata/TableMetadataImpl.java     |  18 -
 .../fetcher/TableDeviceSchemaValidator.java        |  13 +-
 ...ithUncorrelatedScalarSubqueryReconstructor.java |  61 +--
 .../DataNodeLocationSupplierFactory.java           |   1 +
 .../security/TreeAccessCheckVisitor.java           |  42 ++
 .../plan/relational/sql/ast/AstVisitor.java        |  20 +
 .../relational/sql/ast/CreateExternalService.java  |  97 ++++
 .../relational/sql/ast/DropExternalService.java    |  91 ++++
 .../relational/sql/ast/ShowExternalService.java    |  34 +-
 .../relational/sql/ast/StartExternalService.java   |  85 ++++
 .../relational/sql/ast/StopExternalService.java    |  85 ++++
 .../plan/relational/sql/parser/AstBuilder.java     |  44 ++
 .../plan/relational/sql/parser/ErrorHandler.java   |  31 +-
 .../plan/relational/sql/rewrite/ShowRewrite.java   |  15 +
 .../plan/relational/sql/util/AstUtil.java          |  30 --
 .../queryengine/plan/statement/StatementType.java  |   7 +
 .../plan/statement/StatementVisitor.java           |  31 ++
 .../CreateExternalServiceStatement.java            |  76 ++++
 .../DropExternalServiceStatement.java              |  76 ++++
 .../ShowExternalServiceStatement.java              |  68 +++
 .../StartExternalServiceStatement.java             |  67 +++
 .../StopExternalServiceStatement.java              |  67 +++
 .../db/queryengine/plan/udf/UDTFForecast.java      |   3 +-
 .../FragmentInstanceStatisticsDrawer.java          |   6 +
 .../binary/ReadObject2ColumnTransformer.java       |  78 ----
 .../ternary/ReadObject3ColumnTransformer.java      |  99 -----
 .../unary/scalar/ReadObjectColumnTransformer.java  | 126 ------
 .../schemaregion/utils/ResourceByPathUtils.java    |  29 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |  30 ++
 .../db/service/ResourcesInformationHolder.java     |  11 +
 .../externalservice/BuiltinExternalServices.java   |  57 +++
 .../ExternalServiceClassLoader.java                |  57 +++
 .../ExternalServiceManagementException.java        |  30 ++
 .../ExternalServiceManagementService.java          | 379 ++++++++++++++++
 .../storageengine/dataregion/Base32ObjectPath.java | 169 -------
 .../db/storageengine/dataregion/DataRegion.java    |  27 +-
 .../db/storageengine/dataregion/IObjectPath.java   |   9 +-
 .../storageengine/dataregion/PlainObjectPath.java  | 126 ------
 .../performer/impl/FastCompactionPerformer.java    |   6 +-
 .../execute/task/AbstractCompactionTask.java       |  13 +
 .../FastNonAlignedSeriesCompactionExecutor.java    |  11 +
 .../readchunk/SingleSeriesCompactionExecutor.java  |   8 +
 .../dataregion/modification/DeletionPredicate.java |   4 +
 .../read/reader/chunk/DiskChunkLoader.java         |   7 +
 .../dataregion/tsfile/TsFileResource.java          |   6 +-
 .../iotdb/db/tools/TsFileResourcePrinter.java      |   5 +-
 .../apache/iotdb/db/tools/TsFileSketchTool.java    |  30 ++
 .../org/apache/iotdb/db/utils/ObjectTypeUtils.java |  26 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     | 297 ++++++++-----
 .../org/apache/iotdb/db/utils/TabletDecoder.java   |   2 +-
 .../db/pipe/pattern/IoTDBTreePatternTest.java      |   1 +
 .../operator/DeviceViewIntoOperatorTest.java       | 487 +++++++++++++++++++++
 .../execution/operator/TreeIntoOperatorTest.java   | 303 +++++++++++++
 .../plan/function/RecordObjectTypeTest.java        | 156 -------
 .../plan/relational/planner/CteSubqueryTest.java   |   2 -
 .../sql/ast/SqlParserErrorHandlerTest.java         |  76 ++++
 .../unary/scalar/ObjectTypeFunctionTest.java       | 186 --------
 .../object/ObjectTypeCompactionTest.java           | 459 -------------------
 .../org/apache/iotdb/db/utils/SchemaUtilsTest.java | 149 ++++++-
 iotdb-core/node-commons/pom.xml                    |   5 +
 .../conf/iotdb-system.properties.template          |  10 -
 .../iotdb/commons/conf/CommonDescriptor.java       |   5 -
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |   1 +
 .../iotdb/commons/externalservice/ServiceInfo.java | 170 +++++++
 .../datastructure/pattern/IoTDBTreePattern.java    |   7 +-
 .../schema/column/ColumnHeaderConstant.java        |  18 +-
 .../commons/schema/table/InformationSchema.java    |  11 +
 .../apache/iotdb/commons/schema/table/TsTable.java |  43 +-
 .../relational/TableBuiltinScalarFunction.java     |   1 -
 .../db/relational/grammar/sql/RelationalSql.g4     |  35 +-
 .../thrift-ainode/src/main/thrift/ainode.thrift    |   4 +-
 .../thrift-commons/src/main/thrift/common.thrift   |  14 +
 .../src/main/thrift/confignode.thrift              |  23 +
 .../src/main/thrift/datanode.thrift                |   7 +
 pom.xml                                            |   2 +-
 214 files changed, 6849 insertions(+), 4385 deletions(-)

diff --cc 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/StatementType.java
index dba02e30ef5,721459ce84d..19e597ef031
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/StatementType.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/StatementType.java
@@@ -192,5 -192,10 +192,12 @@@ public enum StatementType 
  
    FAST_LAST_QUERY,
    SHOW_CONFIGURATION,
+ 
+   CREATE_EXTERNAL_SERVICE,
+   START_EXTERNAL_SERVICE,
+   STOP_EXTERNAL_SERVICE,
+   DROP_EXTERNAL_SERVICE,
+   SHOW_EXTERNAL_SERVICE,
++
 +  SHOW_DISK_USAGE,
  }
diff --cc 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/InformationSchema.java
index 63f95170a07,3c15b2eaa28..5957ea888fa
--- 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/InformationSchema.java
+++ 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/InformationSchema.java
@@@ -419,21 -395,18 +420,31 @@@ public class InformationSchema 
          new AttributeColumnSchema(ColumnHeaderConstant.DATANODE_ID, 
TSDataType.INT32));
      queriesCostsHistogramTable.removeColumnSchema(TsTable.TIME_COLUMN_NAME);
      schemaTables.put(QUERIES_COSTS_HISTOGRAM, queriesCostsHistogramTable);
+ 
+     final TsTable servicesTable = new TsTable(SERVICES);
+     servicesTable.addColumnSchema(
+         new TagColumnSchema(ColumnHeaderConstant.SERVICE_NAME_TABLE_MODEL, 
TSDataType.STRING));
+     servicesTable.addColumnSchema(
+         new 
AttributeColumnSchema(ColumnHeaderConstant.DATA_NODE_ID_TABLE_MODEL, 
TSDataType.INT32));
+     servicesTable.addColumnSchema(
+         new AttributeColumnSchema(ColumnHeaderConstant.STATE_TABLE_MODEL, 
TSDataType.STRING));
+     servicesTable.removeColumnSchema(TsTable.TIME_COLUMN_NAME);
+     schemaTables.put(SERVICES, servicesTable);
    }
  
 +  static {
 +    columnsThatSupportPushDownPredicate.put(
 +        TABLE_DISK_USAGE,
 +        ImmutableSet.of(
 +            ColumnHeaderConstant.DATABASE,
 +            ColumnHeaderConstant.TABLE_NAME_TABLE_MODEL,
 +            ColumnHeaderConstant.DATA_NODE_ID_TABLE_MODEL,
 +            ColumnHeaderConstant.REGION_ID_TABLE_MODEL,
 +            ColumnHeaderConstant.TIME_PARTITION_TABLE_MODEL));
 +
 +    tablesThatSupportPushDownLimitOffset.add(TABLE_DISK_USAGE);
 +  }
 +
    public static Map<String, TsTable> getSchemaTables() {
      return schemaTables;
    }

Reply via email to