You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by sh...@apache.org on 2026/06/15 02:48:34 UTC
(iotdb) 03/04: Merge branch 'iotdb_master' into read_tsfile_table_function
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 <s1...@gmail.com>
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;