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

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

commit d32ac2b3139268c273712ee304189823484827f0
Merge: 5e7bc0af915 72e72dd2c4e
Author: shuwenwei <[email protected]>
AuthorDate: Fri Jun 12 11:20:28 2026 +0800

    Merge branch 'iotdb_master' into read_tsfile_table_function

 .codex/hooks.json                                  |  17 +
 .github/workflows/compile-check.yml                |  67 --
 .github/workflows/daily-it.yml                     |   4 +-
 .github/workflows/daily-ut.yml                     |  15 +-
 .github/workflows/multi-language-client.yml        |  15 +
 .gitignore                                         |   2 +-
 CLAUDE.md                                          |   2 +-
 CONTRIBUTING.md                                    |   2 +-
 Jenkinsfile                                        |   2 +-
 LICENSE-binary                                     |  43 +-
 README.md                                          |   4 +-
 README_ZH.md                                       |   4 +-
 dependencies.json                                  | 318 ++++----
 example/jdbc/pom.xml                               |   4 +-
 example/pipe-count-point-processor/pom.xml         |   4 +-
 example/pom.xml                                    |   4 +-
 external-service-impl/mqtt/pom.xml                 |   4 +-
 external-service-impl/pom.xml                      |   4 +-
 external-service-impl/rest-openapi/pom.xml         |  28 +-
 external-service-impl/rest/pom.xml                 |  20 +-
 .../java/org/apache/iotdb/rest/RestService.java    |   8 +-
 .../rest/protocol/filter/ApiOriginFilter.java      |  15 +-
 .../rest/protocol/filter/AuthorizationFilter.java  |  36 +-
 .../rest/protocol/filter/BasicSecurityContext.java |   2 +-
 .../protocol/handler/AuthorizationHandler.java     |   4 +-
 .../rest/protocol/impl/PingApiServiceImpl.java     |   4 +-
 .../table/v1/handler/ExceptionHandler.java         |   2 +-
 .../table/v1/handler/QueryDataSetHandler.java      |   2 +-
 .../protocol/table/v1/impl/RestApiServiceImpl.java |   4 +-
 .../rest/protocol/v1/handler/ExceptionHandler.java |   2 +-
 .../protocol/v1/handler/QueryDataSetHandler.java   |   2 +-
 .../protocol/v1/impl/GrafanaApiServiceImpl.java    |   4 +-
 .../rest/protocol/v1/impl/RestApiServiceImpl.java  |   4 +-
 .../rest/protocol/v2/handler/ExceptionHandler.java |   2 +-
 .../rest/protocol/v2/handler/FastLastHandler.java  |   2 +-
 .../protocol/v2/handler/QueryDataSetHandler.java   |   3 +-
 .../protocol/v2/impl/GrafanaApiServiceImpl.java    |   4 +-
 .../rest/protocol/v2/impl/RestApiServiceImpl.java  |   4 +-
 .../iotdb/it/env/cluster/config/MppBaseConfig.java |   3 +-
 .../it/env/cluster/config/MppCommonConfig.java     |   7 +
 .../env/cluster/config/MppSharedCommonConfig.java  |   7 +
 .../it/env/remote/config/RemoteCommonConfig.java   |   5 +
 .../org/apache/iotdb/itbase/env/CommonConfig.java  |   2 +
 .../iotdb/cli/it/ExplainJsonCliOutputIT.java       | 345 +++++++++
 .../removedatanode/IoTDBRemoveLastDataNodeIT.java  | 111 +++
 .../it/IoTDBSyntaxConventionStringLiteralIT.java   |   2 +-
 ...DBSingleMeasurementCheckCachePerformanceIT.java | 207 +++++
 .../db/it/schema/IoTDBAlterTimeSeriesTypeIT.java   |   2 +-
 .../IoTDBPipeTsFileDecompositionWithModsIT.java    |  24 +-
 .../manual/IoTDBPipeTypeConversionISessionIT.java  |   2 +-
 .../it/insertquery/IoTDBInsertQueryIT.java         |   4 +-
 .../it/query/recent/IoTExplainJsonFormatIT.java    | 855 +++++++++++++++++++++
 .../it/schema/IoTDBAlterColumnTypeIT.java          |   2 +-
 .../java/org/apache/iotdb/cli/AbstractCli.java     |  46 +-
 .../java/org/apache/iotdb/cli/AbstractCliTest.java |  83 +-
 iotdb-client/client-cpp/README.md                  |   5 +-
 iotdb-client/client-cpp/pom.xml                    |   8 +-
 iotdb-client/jdbc/README.md                        |   4 +-
 .../src/test/resources/iotdb-common.properties     |   2 +-
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   9 +
 iotdb-core/calc-commons/pom.xml                    |   5 +
 .../org/apache/iotdb/calc/i18n/CalcMessages.java   |  10 +
 .../org/apache/iotdb/calc/i18n/CalcMessages.java   |   9 +
 .../fill/filter/FixedIntervalFillFilter.java       |  10 +-
 .../relational/aggregation/ExtremeAccumulator.java |  32 +-
 .../grouped/GroupedExtremeAccumulator.java         |  70 +-
 .../queue/IndexedBlockingReserveQueue.java         |  36 +-
 .../calc/plan/planner/TableOperatorGenerator.java  |  98 ++-
 .../fill/filter/FixedIntervalFillFilterTest.java}  |  24 +-
 .../aggregation/ExtremeAccumulatorTest.java        | 150 ++++
 .../iotdb/confignode/i18n/ManagerMessages.java     |   8 +-
 .../iotdb/confignode/i18n/ProcedureMessages.java   |   5 +
 .../iotdb/confignode/i18n/ManagerMessages.java     |  14 +-
 .../iotdb/confignode/i18n/ProcedureMessages.java   |   5 +
 .../confignode/conf/ConfigNodeDescriptor.java      |  10 +-
 .../consensus/response/cq/ShowCQResp.java          |   2 +-
 .../externalservice/ShowExternalServiceResp.java   |   2 +-
 .../balancer/router/leader/HashLeaderBalancer.java |   2 +-
 .../manager/partition/PartitionManager.java        |  18 +
 .../agent/runtime/PipeConfigNodeRuntimeAgent.java  |  17 +-
 .../pipe/agent/task/PipeConfigNodeSubtask.java     |  21 +-
 .../pipe/coordinator/runtime/PipeMetaSyncer.java   |  26 +-
 .../runtime/heartbeat/PipeHeartbeatParser.java     |  43 +-
 .../runtime/heartbeat/PipeHeartbeatScheduler.java  |   7 +-
 .../pipe/coordinator/task/PipeTaskCoordinator.java |   8 +-
 .../coordinator/task/PipeTaskCoordinatorLock.java  |  10 +-
 .../receiver/protocol/IoTDBConfigNodeReceiver.java |   4 +-
 .../schema/ClusterSchemaQuotaStatistics.java       |   2 +-
 .../confignode/persistence/pipe/PipeTaskInfo.java  |   9 +-
 .../mnode/container/ConfigMNodeContainer.java      |   2 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |   7 +-
 .../procedure/env/RemoveDataNodeHandler.java       |  52 +-
 .../runtime/PipeHandleLeaderChangeProcedure.java   |  36 +-
 .../runtime/PipeHandleMetaChangeProcedure.java     |  33 +-
 .../impl/pipe/runtime/PipeMetaSyncProcedure.java   |   6 +-
 .../impl/region/CreateRegionGroupsProcedure.java   |  10 +-
 .../router/leader/HashLeaderBalancerTest.java      |  65 ++
 .../pipe/sink/PipeConfigNodeThriftRequestTest.java | 212 +++++
 iotdb-core/consensus/pom.xml                       |   4 +-
 .../iot/client/AsyncIoTConsensusServiceClient.java |   2 +-
 iotdb-core/datanode/pom.xml                        |   8 +-
 .../iotdb/db/i18n/DataNodeQueryMessages.java       |   9 -
 .../iotdb/db/i18n/DataNodeQueryMessages.java       |   9 -
 .../org/apache/iotdb/db/audit/DNAuditLogger.java   |   2 +-
 .../apache/iotdb/db/conf/DataNodeMemoryConfig.java |  18 +
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   2 +-
 .../iotdb/db/conf/rest/IoTDBRestServiceConfig.java |   2 +-
 .../agent/runtime/PipeDataNodeRuntimeAgent.java    |  14 +-
 .../db/pipe/event/common/PipeInsertionEvent.java   |   2 +-
 .../tablet/parser/TabletInsertionEventParser.java  | 123 ++-
 .../scan/AlignedSinglePageWholeChunkReader.java    |   2 +-
 .../parser/scan/SinglePageWholeChunkReader.java    |   2 +-
 .../downsampling/changing/ChangingValueFilter.java |  20 +-
 .../sdt/SwingingDoorTrendingFilter.java            |  19 +-
 .../tumbling/TumblingTimeSamplingProcessor.java    |   7 +-
 .../exchange/sender/TwoStageAggregateSender.java   |   2 +-
 .../protocol/thrift/IoTDBDataNodeReceiver.java     |   6 +-
 .../statement/PipeConvertedInsertRowStatement.java |   9 +
 .../resource/log/PipePeriodicalLogReducer.java     |  93 ---
 .../resource/memory/InsertNodeMemoryEstimator.java |  15 +-
 .../resource/memory/PipeDynamicMemoryBlock.java    |   2 +-
 .../tsfile/PipeTsFileResourceSegmentLock.java      |  10 +-
 .../request/PipeTransferTabletRawReq.java          |  89 ++-
 .../pipe/sink/util/TabletStatementConverter.java   |  31 +-
 .../db/queryengine/common/MPPQueryContext.java     |  10 +
 .../db/queryengine/execution/StateMachine.java     |   8 +-
 .../execution/aggregation/ExtremeAccumulator.java  |  32 +-
 .../SlidingWindowAggregatorFactory.java            |  36 +-
 .../execution/operator/ExplainAnalyzeOperator.java |  70 +-
 .../execution/operator/window/SessionWindow.java   |  24 +-
 .../operator/window/SessionWindowManager.java      |   2 +-
 .../execution/schedule/DriverScheduler.java        |  15 +-
 .../multilevelqueue/MultilevelPriorityQueue.java   |  10 +
 .../execution/schedule/task/DriverTask.java        |  13 +
 .../execution/schedule/task/DriverTaskId.java      |   2 +-
 .../metric/DriverSchedulerMetricSet.java           |  13 +
 .../iotdb/db/queryengine/plan/Coordinator.java     |  17 +-
 .../db/queryengine/plan/analyze/AnalyzeUtils.java  |  34 +-
 .../plan/analyze/schema/NormalSchemaFetcher.java   |   4 +-
 .../plan/execution/config/ConfigExecution.java     |   2 +-
 .../TableModelStatementMemorySourceVisitor.java    |  54 +-
 .../plan/expression/unary/InExpression.java        |   2 +-
 .../planner/DataNodeTableOperatorGenerator.java    |   9 +-
 .../plan/AbstractFragmentParallelPlanner.java      |   3 +-
 .../planner/plan/node/PlanGraphJsonPrinter.java    | 225 ++++++
 .../metadata/read/LevelTimeSeriesCountNode.java    |   2 +-
 .../node/metadata/read/TimeSeriesCountNode.java    |   2 +-
 .../metadata/read/TimeSeriesSchemaScanNode.java    |   2 +-
 .../plan/planner/plan/node/write/InsertNode.java   |  70 +-
 .../planner/plan/node/write/InsertRowNode.java     | 216 ++++--
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |   5 +-
 .../planner/plan/node/write/InsertTabletNode.java  | 351 ++++++---
 .../plan/node/write/RelationalInsertRowNode.java   |  63 +-
 .../plan/node/write/RelationalInsertRowsNode.java  |  45 +-
 .../node/write/RelationalInsertTabletNode.java     | 111 ++-
 .../relational/analyzer/StatementAnalyzer.java     |   2 +
 .../fetcher/cache/TreeDeviceNormalSchema.java      |   4 +-
 .../cache/TreeDeviceSchemaCacheManager.java        |   9 +-
 .../plan/relational/planner/CteMaterializer.java   |   1 +
 .../plan/relational/planner/RelationPlanner.java   |  25 +-
 .../relational/planner/TableLogicalPlanner.java    |   3 +-
 .../distribute/TableDistributedPlanner.java        |  16 +-
 ...ithUncorrelatedScalarSubqueryReconstructor.java |   2 +
 .../planner/node/ExplainAnalyzeNode.java           |  39 +-
 .../optimizations/UnaliasSymbolReferences.java     |   3 +-
 .../plan/relational/sql/ast/Explain.java           |  28 +-
 .../plan/relational/sql/ast/ExplainAnalyze.java    |  37 +-
 .../relational/sql/ast/ExplainOutputFormat.java}   |  32 +-
 .../plan/relational/sql/ast/InsertRow.java         |   5 +-
 .../plan/relational/sql/ast/InsertRows.java        |  14 +-
 .../plan/relational/sql/ast/InsertTablet.java      |  13 +-
 .../plan/relational/sql/ast/PipeEnriched.java      |   2 +-
 .../relational/sql/ast/WrappedInsertStatement.java |  22 +-
 .../plan/relational/sql/parser/AstBuilder.java     |  35 +-
 .../plan/statement/crud/InsertBaseStatement.java   | 210 +++--
 .../plan/statement/crud/InsertRowStatement.java    | 128 ++-
 .../crud/InsertRowsOfOneDeviceStatement.java       |  12 +
 .../plan/statement/crud/InsertTabletStatement.java | 161 +++-
 .../FragmentInstanceStatisticsJsonDrawer.java      | 372 +++++++++
 .../logfile/FakeCRC32Deserializer.java             |   3 +-
 .../schemaregion/logfile/SchemaLogReader.java      |   2 +-
 .../mem/mnode/container/MemMNodeContainer.java     |   2 +-
 .../mnode/container/CachedMNodeContainer.java      |   3 +-
 .../buffer/TimeSeriesMetadataCache.java            |  43 +-
 .../db/storageengine/dataregion/DataRegion.java    |   3 +-
 .../compaction/schedule/CompactionWorker.java      |   2 +-
 .../dataregion/memtable/AbstractMemTable.java      | 120 +--
 .../memtable/AbstractWritableMemChunk.java         |  17 +
 .../memtable/AlignedWritableMemChunk.java          |   7 +-
 .../dataregion/memtable/TsFileProcessor.java       | 162 ++--
 .../dataregion/memtable/WritableMemChunk.java      |   7 +-
 .../dataregion/memtable/WritableMemChunkGroup.java |   2 +-
 .../dataregion/snapshot/SnapshotLoader.java        |  15 +
 .../consensus/ConsensusLogToTabletConverter.java   |  70 +-
 .../SubscriptionPipeEventBatchSegmentLock.java     |   4 +-
 .../db/trigger/executor/TriggerFireVisitor.java    |  53 +-
 .../java/org/apache/iotdb/db/utils/MemUtils.java   |  71 +-
 .../pipe/event/PipeTabletInsertionEventTest.java   |  81 ++
 .../changing/ChangingValueFilterTest.java          |  55 ++
 .../sdt/SwingingDoorTrendingFilterTest.java        |  56 ++
 .../TumblingTimeSamplingProcessorTest.java         | 192 +++++
 .../PipeConvertedInsertRowStatementTest.java       |  55 ++
 .../memory/InsertNodeMemoryEstimatorTest.java      |  12 +
 .../tsfile/PipeTsFileResourceSegmentLockTest.java  |  71 ++
 .../pipe/sink/PipeDataNodeThriftRequestTest.java   | 505 ++++++++++++
 .../sink/util/TabletStatementConverterTest.java    |  64 ++
 .../execution/aggregation/AccumulatorTest.java     |  46 ++
 .../SlidingWindowAggregatorFactoryTest.java        |  41 +
 .../operator/ExplainAnalyzeOperatorTest.java       |  96 +++
 .../operator/window/SessionWindowTest.java         |  70 ++
 .../schedule/DefaultDriverSchedulerTest.java       |  41 +
 .../queryengine/plan/analyze/AnalyzeUtilsTest.java |  74 ++
 ...TableModelStatementMemorySourceVisitorTest.java |  88 +++
 .../planner/node/PlanGraphJsonPrinterTest.java     | 573 ++++++++++++++
 .../planner/node/write/InsertRowNodeSerdeTest.java | 127 +++
 .../node/write/InsertRowsNodeSerdeTest.java        |  35 +
 .../write/InsertRowsOfOneDeviceNodeSerdeTest.java  |  34 +
 .../node/write/InsertTabletNodeSerdeTest.java      | 130 ++++
 .../planner/node/write/WritePlanNodeSplitTest.java |  41 +
 .../write/InsertNodeIsMeasurementFailedTest.java   | 255 ++++++
 .../relational/planner/CteMaterializerTest.java    |   1 +
 .../plan/relational/planner/CteSubqueryTest.java   |   1 +
 .../plan/relational/sql/ExplainFormatTest.java     | 186 +++++
 .../crud/InsertStatementPartialInsertTest.java     | 320 ++++++++
 .../FragmentInstanceStatisticsJsonDrawerTest.java  | 594 ++++++++++++++
 .../buffer/TimeSeriesMetadataCacheTest.java        | 280 +++++++
 .../storageengine/dataregion/DataRegionTest.java   |  30 +-
 .../AbstractMemTablePartialInsertTest.java         | 113 +++
 .../memtable/MemChunkDeserializeTest.java          |  23 +
 .../dataregion/memtable/TsFileProcessorTest.java   | 172 +++++
 .../ConsensusLogToTabletConverterTest.java         |  58 ++
 .../SubscriptionPipeEventBatchSegmentLockTest.java |  50 ++
 .../org/apache/iotdb/db/utils/MemUtilsTest.java    | 127 +++
 .../src/test/resources/iotdb-common.properties     |   2 +-
 .../src/test/resources/iotdb-system.properties     |   2 +-
 .../conf/iotdb-system.properties.template          |  13 +-
 .../async/AsyncAINodeInternalServiceClient.java    |   2 +-
 .../AsyncConfigNodeInternalServiceClient.java      |   2 +-
 .../async/AsyncDataNodeExternalServiceClient.java  |   2 +-
 .../async/AsyncDataNodeInternalServiceClient.java  |   2 +-
 .../AsyncDataNodeMPPDataExchangeServiceClient.java |   2 +-
 .../async/AsyncIoTConsensusV2ServiceClient.java    |   2 +-
 .../async/AsyncPipeDataTransferServiceClient.java  |   2 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |  10 +
 .../iotdb/commons/conf/CommonDescriptor.java       |   9 +
 .../commons/pipe/resource/log/PipeLogger.java      |  18 +-
 .../resource/log/PipePeriodicalLogReducer.java     |  76 ++
 .../thrift/request/PipeTransferFileSealReqV2.java  |   8 +
 .../plan/planner/plan/node/PlanNodeType.java       |   2 +
 .../schema/table/InsertNodeMeasurementInfo.java    |   9 +-
 .../org/apache/iotdb/commons/utils/PathUtils.java  |  56 +-
 .../commons/pipe/resource/PipeLoggerTest.java      |  83 ++
 .../common/PipeTransferSliceReqBuilderTest.java    |  32 +
 .../thrift/request/PipeRequestTypeTest.java        |  61 ++
 .../request/PipeTransferCompressedReqTest.java     | 112 +++
 .../request/PipeTransferFileSealReqV2Test.java     |  65 ++
 .../table/InsertNodeMeasurementInfoTest.java       |  83 ++
 .../db/relational/grammar/sql/RelationalSql.g4     |   4 +-
 library-udf/pom.xml                                |   4 +-
 pom.xml                                            | 117 ++-
 scripts/conf/confignode-env.sh                     |  61 +-
 scripts/conf/datanode-env.sh                       |  70 +-
 scripts/sbin/start-cli.sh                          |  13 +-
 scripts/sbin/windows/start-cli.bat                 |  23 +-
 scripts/sbin/windows/start-confignode.bat          |  20 +-
 scripts/sbin/windows/start-datanode.bat            |  19 +-
 scripts/tools/ops/health_check.sh                  |   2 +-
 scripts/tools/windows/ops/health_check.bat         |   4 +-
 268 files changed, 11339 insertions(+), 1547 deletions(-)

diff --cc 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java
index 68d2de1c2a7,6ef5804fac8..a19e72f41dd
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java
@@@ -41,7 -39,7 +41,8 @@@ import org.apache.iotdb.db.queryengine.
  import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
  import org.apache.iotdb.db.queryengine.plan.analyze.lock.SchemaLockType;
  import 
org.apache.iotdb.db.queryengine.plan.planner.memory.NotThreadSafeMemoryReservationManager;
 +import 
org.apache.iotdb.db.queryengine.plan.relational.function.tvf.readTsFile.ExternalTsFileQueryResource;
+ import 
org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ExplainOutputFormat;
  import org.apache.iotdb.db.queryengine.statistics.QueryPlanStatistics;
  
  import com.google.common.collect.ImmutableList;

Reply via email to