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

jiangtian pushed a change to branch force_ci/alter_column_datatype
in repository https://gitbox.apache.org/repos/asf/iotdb.git


    from 2b69da13676 fix tests
     add 0ee458e991f Added retry for insertion when fetch table schema failed 
due to connection error & Improved the retry mechanism of client rpc
     add a6088a28a07 [RTO/RPO] Chore: Fix remaining issues in PR 15014 (#15171)
     add c5d0c397d98 Pipe: Added userName / password logic for alter pipe 
replace statement (#15219)
     add 630a3d255d9 Set safeDeletedSearchIndex for iotv2 to accelerate wal 
deletion #15221
     add 680026eefea Pipe: Prevent Duplicate Time Usage Reporting on Close in 
PipeTsFileToTabletsMetrics (#15220)
     add a8c80ecb140 Load: Batched tablet insertion during conversion (#15125)
     add 08c29635d38 Pipe Plugin: Only Allow Create Model Compatible Plugins 
(#15227)
     add c746da2faec Deleted the useless read lock in getDeviceAttribute
     add 8889255c0c4 Load: Implement region operations cache for load × region 
migration detection (#15210)
     add 7e4e01cc632 Load & Pipe: Support Active Load Table Model TsFiles & 
Support Async Load in SQL & Support Async Load Strategy in Pipe (#15208)
     add bf2eee9ad1e Fix: Null value settings not applying correctly in tablet. 
(#15228)
     add c9ec0fda2d1 Subscription: distinguish between reference count of ack 
and clean in tsfile batch to avoid cleaning before ack (#15229)
     add 4256ea48ad1 Fix BigArray NPE of some aggregation functions (first, 
last, sum, extreme) when groups are more than 1024 in aggregation query
     add 9b406e15353 update description when file_type is csv, sql_dialect is 
table and table is not required (#15232)
     add 1697f545307 Fixed the NullPointerException caused by non-current table 
procedures #15238
     add b6fea634d61 Add some supplementary logs during partition allocation 
(#15234)
     add 4350a56c237 Description add the file name when importing file 
exception (#15237)
     add 46fc1e0a6fa Pipe: Fixed the tsFile parsing & write-back-sink auto 
create db bug (#15240)
     add e237f723974 [Python-Client] Use executeV2 interface to query
     add 304fbab00bd Unifying Exception Messages for Aggregation Functions 
(#15231)
     add b1d4fedb33c Pipe IT: Fixed the issue that the Pipe IT test error log 
could not be printed (#15242)
     add 5f28e331d29 Pipe: Optimized the error log when source/sink's username 
is without password in alter (#15241)
     add c0a642892f7 Pipe: Added memory control for aligned chunk reader in 
TsFileInsertionEventScanParser & TsFileInsertionEventTableParserTabletIterator 
(#15222)
     add 7c301137057 Add GroupNode and parallelize TableFunctionProcessorNode
     add 91d067b161e Pipe: Fix stuck caused by async connector client not 
returned after transferring tsfiles & Fix validateTsFile and 
shouldMarkAsPipeRequest may not be effective (#15245) (#15249)
     add 5ddd4234666 using correct encoding in read chunk compaction (#15250)
     add 9132389e4fd Import/Export schema script adapt table model (#15192)
     add e6713d4f029 IoTV2: Clean receiver files when dropping consensus pipe & 
Improve robustness when cleaning some dirs. (#15252)
     add a4d1a508100 Pipe: Applied the login function to config receiver 
(#15258)
     add e7ce326ca07 [opt](query) Optimize count(1), count(constant expression) 
to count(*)
     add d3d0687b3be Reduce default value of rpcMaxConcurrentClientNum (#15260)
     add 518126ed7ce Enhance remove confignode robustness by increase waiting 
time for new leader #15261
     add fac2e6334bd Harmonizing the case of reported error messages for 
aggregation  (#15251)
     add 838dbab4fb5 Made memory not enough exception cause by schema fetching 
retry-able for insertion & Refactor & Fixed the database name bug when alter 
non-exists database
     add 72aeed2591f Pipe: Optimized insert node cache hit possibility & Pipe: 
Set thread name for pipe receiver (#15263)
     add 82be8be5844 Pipe: Added total floating memory usage for mem-ctrl of 
linked but deleted tsFile resource and insertNode memory (#15205)
     add e4e3c29d274 fix grant all to others.
     add b4abdd2bf34 Pipe: Fixed the meta inclusion between SQL dialects 
(#15278)
     add 961f3581728 Fix the output ordinal of AggTableScanOperator are not 
consistent with OutputSymbols of AggTableScanNode when do single input distinct 
optimize
     add ab6cbaf6f8b rest add support show models (#15287)
     add b466bd1c699 fix: remove mqtt with table auth check (#15288)
     add 7a4c1273151 IoTV2: Fix closing receiver corner case regarding to 
concurrently closing and receiving file. (#15271)
     add eccbcc2a012 fix mods file metrics (#15284)
     add ef8dc52e89f perf: add encodeBatch interface to accelerate flushing for 
sequential insert (#15243)
     add 1d139bdbf45 Get correct TTL in tree model (#15256)
     add b8bba8ff2c8 Bump version to 2.0.4-SNAPSHOT
     add b89318f59db  Remove dn_rpc_min_concurrent_client_num to fix minWorker 
> maxWorker bugs #15296
     add 6145474ac45 Fix the usage of method initOrInvalidateLastCache in table 
last query process. (#15300)
     add b1a0dee36e7 Add retry for inactivePeer of region migration (#15294)
     add 18e55fee245 DAL: Fix deletion channel close exception (#15302)
     add 93671e5a0e3 Check database by show databases (#15299)
     add a3a0c6193f8 Pipe: Converted source database / table name pattern to 
lower case (#15285)
     add 4978d3f4dc9 Subscription: poll heartbeat event when there are no 
consumers (#15307)
     add 40a0e8a0525 Pipe: Fix the inconsistency between the schema registered 
by TsFileWriter and the tablet written (#15304)
     add 11b38c0eae3 [Fix](query) Fix project order in table distributed plan 
generator
     add d1d5f7fc6ac Do not add new compaction mod file in deletion (#15281)
     add 6c9f956515d add some informations to find overlap bug (#15305)
     add 3d5f6606134 Fixed the issue of REST service listing user or role lists 
(#15319)
     add c78546d27ef IoTV2: Receiver aware of pipe restart & Improve condition 
schedule (#15314)
     add 7cb9f171d89 IoTV2: Improve file piece transfer log & resource clean 
#15315
     add 27b3dcbb4d6 IoTV2: Use global singleton ClientManager to avoid too 
many thrift threads which leads to Direct Memory OOM. (#15316)
     add 7477ab9456b IoTV2: Add zombie tsFile writer checker as watch dog to 
prevent sync stuck. (#15317)
     add 74a0d306f81 perf: avoid reading tsfile on distinct aggregation on 
tag/attribute column
     add 5b2aa974ade Fix Greatest's looping logic bug in Boolean types.
     add 3b2657300bf Optimized the NPE error log cause by closing of the 
dataNode & the 301 error in select into cause by permission
     add 75aec475070 Update README.md (#15329)
     add c5ce0a3cb55 Fixed the reuse of time column's comment
     add 5354dee8f8e Fixed the concurrent modification bug of pathPatternTree
     add 5b8e59fd2d7 Get device path from cache (#15290)
     add d01fe7db5c5 pref: Set the maximum number of history records in the 
history file / memory to 1,000 lines. (#15332)
     add db103faa21a Fixed the NPE caused by concurrent alter of SchemaRegion 
#15331
     add 9d7649d990c IoTV2: Improve receiver closed and clean dir logic (#15313)
     add 24c23ce09a8 Support invoke table function without TABLE keyword
     add c60a3b83320 Optimized the dual key cache memory computation
     add 5ec193bf2f1 Throw exception when wal entry is too large
     add 81d12e47353 Separate fully dirty files by partially dirty files task 
(#15341)
     add 88095bc2e52 [RTO/RPO] Fix: NullPointer in ClusterTopology #15347
     add 371bf5c4662 reopen discussion in .asf.yml config (#15335)
     add e545bf0cc50 Pipe: aggregate tablets with different measurements under 
the same device before write into tsfile (#15193)
     add 95ed457dc08 Subscription: detect outdated subscription event for 
better consumer exception control (#15326)
     add 077c3bcae1a Bump netty version to 4.1.119.Final
     add 21b0fb7cea3 Load: check if the DataRegion is Deleted before loading 
the new tsfile (#15346)
     add 3c2b0670e53 Pipe: Fixed the validation logic of OpcDaConnector & 
Optimized the error message when the system is not Windows (#15339)
     add a84bee756a5 Pipe: use mem table to batch write tree data into tsfile 
(#15276)
     add a0497b80cbd Pipe: Fix NPE caused by InsertNodeMemoryEstimator 
estimating Binary array length (#15321)
     add 9e31c84ff99 Pipe: Fixed the IndexOutOfBound exception & Trimmed the 
un-transferred schema region & Refactor for meta transfer (#15337)
     add f5124525914 Load: Supports metrics in the Async Analyzer stage (#15312)
     add b553a6f3670 Pipe/Load: Remove MD5 check for identically named TSFile 
to speed up Active Load (#15311)
     add 858c8b8538b [Bug] When using SubscriptionPullConsumer to consume data, 
an error is reported when configuring ConsumerConstant.NODE_URLS_KEY as the 
cluster address. (#15322)
     add 323b21e3674 Make deserialize of AggregationDescriptor AttributesMap 
use LinkedHashMap
     add 040f3af358c refactor: load max page&chunk configuration in 
ReadOnlyMemchunk and M… (#15309)
     add edbf08ebccd perf: Adapt to Win11(wmic to powershell and compatibility 
adjustment) (#15350)
     add 4ad321576b1 Merge branch 'master' into force_ci/alter_column_datatype

No new revisions were added by this update.

Summary of changes:
 .asf.yaml                                          |   3 +
 .github/workflows/multi-language-client.yml        |  14 +-
 .github/workflows/pipe-it.yml                      |  54 +-
 README.md                                          |   2 +-
 README_ZH.md                                       |   2 +-
 code-coverage/pom.xml                              |   2 +-
 distribution/pom.xml                               |  12 +-
 example/client-cpp-example/pom.xml                 |   2 +-
 example/jdbc/pom.xml                               |   2 +-
 example/mqtt-customize/pom.xml                     |   2 +-
 example/mqtt/pom.xml                               |   2 +-
 example/pipe-count-point-processor/pom.xml         |   2 +-
 example/pipe-opc-ua-sink/pom.xml                   |   2 +-
 example/pom.xml                                    |   2 +-
 example/rest-java-example/pom.xml                  |   2 +-
 example/schema/pom.xml                             |   2 +-
 example/session/pom.xml                            |   2 +-
 example/trigger/pom.xml                            |   2 +-
 example/udf/pom.xml                                |   2 +-
 .../iotdb/udf/table/ExcludeColumnExample.java      |   2 +-
 .../org/apache/iotdb/udf/table/RepeatExample.java  |   2 +-
 .../org/apache/iotdb/udf/table/SplitExample.java   |   2 +-
 integration-test/pom.xml                           |  32 +-
 .../partition/IoTDBPartitionTableAutoCleanIT.java  | 102 +++-
 .../org/apache/iotdb/db/it/IoTDBRestartIT.java     |   3 +-
 .../iotdb/db/it/aggregation/IoTDBCountIfIT.java    |  13 +
 .../iotdb/db/it/auth/IoTDBRelationalAuthIT.java    |  43 ++
 .../pipe/it/dual/tablemodel/TableModelUtils.java   |   8 +-
 .../tablemodel/manual/basic/IoTDBPipeAlterIT.java  |   6 +-
 .../manual/enhanced/IoTDBPipeMetaIT.java           |  52 ++
 .../pipe/it/single/IoTDBPipePermissionIT.java      |  43 ++
 .../it/db/it/IoTDBAuthenticationTableIT.java       |   4 +-
 .../db/it/IoTDBMultiTAGsWithAttributesTableIT.java | 122 +++-
 .../relational/it/db/it/IoTDBWindowTVFIT.java      | 229 ++++++++
 .../udf/IoTDBUserDefinedAggregateFunctionIT.java   |   1 -
 .../db/it/udf/IoTDBUserDefinedTableFunctionIT.java |  80 ++-
 .../query/old/query/IoTDBGreatestLeastTableIT.java |   6 +-
 .../it/query/recent/IoTDBDistinctTagIT.java        | 257 +++++++++
 .../it/query/recent/IoTDBTableAggregationIT.java   |  64 +++
 .../relational/it/rest/it/IoTDBRestServiceIT.java  |  14 +-
 .../relational/it/schema/IoTDBDatabaseIT.java      |  11 +
 .../iotdb/relational/it/schema/IoTDBTableIT.java   |  34 +-
 ...TDBConsumer2With1TopicShareProcessTsfileIT.java |  23 +-
 .../pattern/IoTDBTSPatternPullConsumeTsfileIT.java |   2 -
 ...TDBConsumer2With1TopicShareProcessTsfileIT.java |   8 +-
 .../IoTDBTSPatternTsfilePushConsumerIT.java        |   2 +-
 .../apache/iotdb/tools/it/ExportDataTestIT.java    |  13 +-
 .../apache/iotdb/tools/it/ExportSchemaTestIT.java  |   5 +-
 .../apache/iotdb/tools/it/ImportSchemaTestIT.java  |   8 +-
 iotdb-api/external-api/pom.xml                     |   2 +-
 iotdb-api/pipe-api/pom.xml                         |   2 +-
 .../api/customizer/parameter/PipeParameters.java   |  18 +-
 iotdb-api/pom.xml                                  |   2 +-
 iotdb-api/trigger-api/pom.xml                      |   2 +-
 iotdb-api/udf-api/pom.xml                          |   2 +-
 .../relational/table/TableFunctionAnalysis.java    |  28 +-
 iotdb-client/cli/pom.xml                           |  22 +-
 .../cli/src/assembly/resources/sbin/start-cli.bat  |   3 +
 .../cli/src/assembly/resources/tools/backup.bat    |   7 +-
 .../org/apache/iotdb/cli/utils/JlineUtils.java     |   4 +
 .../org/apache/iotdb/tool/common/Constants.java    |  48 +-
 .../org/apache/iotdb/tool/common/OptionsUtil.java  | 156 +++++-
 .../apache/iotdb/tool/data/AbstractImportData.java |  12 +-
 .../org/apache/iotdb/tool/data/ExportData.java     |   1 -
 .../apache/iotdb/tool/data/ExportDataTable.java    |   2 +-
 .../org/apache/iotdb/tool/data/ExportDataTree.java |   2 +-
 .../org/apache/iotdb/tool/data/ImportData.java     |   6 +
 .../iotdb/tool/schema/AbstractExportSchema.java}   |  14 +-
 .../iotdb/tool/schema/AbstractImportSchema.java    |  94 ++++
 .../iotdb/tool/schema/AbstractSchemaTool.java      | 120 ++--
 .../org/apache/iotdb/tool/schema/ExportSchema.java | 323 +++--------
 .../iotdb/tool/schema/ExportSchemaTable.java       | 292 ++++++++++
 .../apache/iotdb/tool/schema/ExportSchemaTree.java | 116 ++++
 .../org/apache/iotdb/tool/schema/ImportSchema.java | 613 +++------------------
 .../iotdb/tool/schema/ImportSchemaTable.java       | 188 +++++++
 .../{ImportSchema.java => ImportSchemaTree.java}   | 417 ++++----------
 iotdb-client/client-cpp/pom.xml                    |   4 +-
 iotdb-client/client-cpp/src/main/Session.cpp       |  12 +-
 iotdb-client/client-py/iotdb/Session.py            | 324 +++++------
 .../client-py/iotdb/template/MeasurementNode.py    |   2 +-
 iotdb-client/client-py/iotdb/template/Template.py  |   6 +-
 .../{TsFileConstant.py => tsfile_constant.py}      |   0
 .../tsfile/utils/{DateUtils.py => date_utils.py}   |   0
 .../iotdb/tsfile/utils/{Pair.py => pair.py}        |   0
 ...{ReadWriteIOUtils.py => read_write_io_utils.py} |   0
 .../client-py/iotdb/tsfile/utils/tsblock_serde.py  | 266 +++++++++
 iotdb-client/client-py/iotdb/utils/Field.py        |   6 +-
 .../client-py/iotdb/utils/IoTDBRpcDataSet.py       | 463 ----------------
 iotdb-client/client-py/iotdb/utils/NumpyTablet.py  |   2 +-
 .../client-py/iotdb/utils/SessionDataSet.py        |  48 +-
 iotdb-client/client-py/iotdb/utils/Tablet.py       |   2 +-
 .../{IoTDBConnectionException.py => exception.py}  |  20 +
 .../client-py/iotdb/utils/iotdb_rpc_dataset.py     | 396 +++++++++++++
 iotdb-client/client-py/iotdb/utils/rpc_utils.py    |  69 +++
 iotdb-client/client-py/pom.xml                     |   6 +-
 iotdb-client/client-py/resources/pyproject.toml    |   3 +-
 .../tests/integration/test_tablemodel_query.py     | 456 +++++++++++++++
 iotdb-client/isession/pom.xml                      |   8 +-
 iotdb-client/jdbc/pom.xml                          |   8 +-
 iotdb-client/pom.xml                               |   2 +-
 iotdb-client/service-rpc/pom.xml                   |   6 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |   2 +
 .../subscription/payload/poll/ErrorPayload.java    |   4 +
 iotdb-client/session/pom.xml                       |  10 +-
 .../base/AbstractSubscriptionConsumer.java         |  21 +-
 iotdb-core/ainode/pom.xml                          |  10 +-
 iotdb-core/antlr/pom.xml                           |   2 +-
 iotdb-core/confignode/pom.xml                      |  26 +-
 .../src/assembly/resources/conf/confignode-env.bat |  14 +-
 .../assembly/resources/sbin/start-confignode.bat   |   2 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |   2 +-
 .../iotdb/confignode/manager/ProcedureManager.java |  54 +-
 .../manager/load/service/HeartbeatService.java     |  12 +
 .../manager/load/service/TopologyService.java      |  60 +-
 .../iotdb/confignode/manager/node/NodeManager.java |   4 +-
 .../manager/partition/PartitionManager.java        |  67 ++-
 .../receiver/protocol/IoTDBConfigNodeReceiver.java |  12 +-
 .../confignode/persistence/schema/ConfigMTree.java |  22 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |  11 +-
 .../impl/region/RegionMigrateProcedure.java        |   8 +-
 .../impl/schema/DeleteDatabaseProcedure.java       |   4 +-
 iotdb-core/consensus/pom.xml                       |  14 +-
 .../consensus/config/PipeConsensusConfig.java      |  28 -
 .../apache/iotdb/consensus/iot/IoTConsensus.java   |   4 +-
 .../consensus/iot/IoTConsensusServerImpl.java      |  44 +-
 .../apache/iotdb/consensus/pipe/PipeConsensus.java |   6 +-
 iotdb-core/datanode/pom.xml                        |  40 +-
 .../src/assembly/resources/conf/datanode-env.bat   |  14 +-
 .../src/assembly/resources/sbin/start-datanode.bat |   2 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  43 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  38 +-
 .../db/consensus/DataRegionConsensusImpl.java      |   4 -
 .../db/exception/runtime/IntoProcessException.java |  17 +-
 .../db/pipe/agent/task/PipeDataNodeTaskAgent.java  |  58 +-
 .../agent/task/builder/PipeDataNodeBuilder.java    |   4 +-
 .../agent/task/connection/PipeEventCollector.java  |   4 +-
 .../PipeRealtimePriorityBlockingQueue.java         |   9 +
 .../subtask/processor/PipeProcessorSubtask.java    |  15 +-
 .../client/IoTDBDataNodeAsyncClientManager.java    |   6 +-
 .../IoTDBDataNodeCacheLeaderClientManager.java     |   4 +-
 .../batch/PipeTabletEventTsFileBatch.java          |   9 +-
 .../request/PipeTransferSchemaSnapshotSealReq.java |   5 +-
 .../connector/protocol/opcda/OpcDaConnector.java   |   8 +-
 .../pipeconsensus/PipeConsensusAsyncConnector.java |   5 +-
 .../pipeconsensus/PipeConsensusSyncConnector.java  |   5 +-
 .../PipeConsensusTsFileInsertionEventHandler.java  |  27 +-
 .../PipeConsensusTransferBatchReqBuilder.java      |   1 +
 .../async/IoTDBDataRegionAsyncConnector.java       |  12 +-
 .../async/handler/PipeTransferTsFileHandler.java   |  56 +-
 .../thrift/sync/IoTDBSchemaRegionConnector.java    |   8 +-
 .../protocol/writeback/WriteBackConnector.java     |  10 +
 .../util/builder/PipeTableModeTsFileBuilder.java   |  38 +-
 .../util/builder/PipeTreeModelTsFileBuilder.java   |  68 ++-
 .../util/builder/PipeTreeModelTsFileBuilderV2.java | 196 +++++++
 .../connector/util/builder/PipeTsFileBuilder.java  |  24 +-
 .../consensus/ConsensusPipeDataNodeDispatcher.java |   3 -
 .../pipe/consensus/deletion/DeletionResource.java  |   6 +
 .../deletion/DeletionResourceManager.java          |  15 +-
 .../deletion/persist/PageCacheDeletionBuffer.java  |  22 +-
 .../schema/PipeSchemaRegionSnapshotEvent.java      |   4 +-
 .../common/tsfile/PipeTsFileInsertionEvent.java    |   4 +-
 .../tsfile/parser/TsFileInsertionEventParser.java  |   4 +-
 .../parser/TsFileInsertionEventParserProvider.java |   2 +-
 .../scan/TsFileInsertionEventScanParser.java       |  10 +-
 ...ileInsertionEventTableParserTabletIterator.java | 178 +++---
 .../PipeRealtimeDataRegionHybridExtractor.java     |   8 +-
 .../schemaregion/SchemaRegionListeningFilter.java  |  15 +
 .../pipe/metric/overview/PipeResourceMetrics.java  |   2 +-
 .../pipeconsensus/PipeConsensusReceiver.java       | 230 ++++++--
 .../pipeconsensus/PipeConsensusReceiverAgent.java  |  38 +-
 .../protocol/thrift/IoTDBDataNodeReceiver.java     | 102 ++--
 .../resource/memory/InsertNodeMemoryEstimator.java |   4 +
 .../db/pipe/resource/memory/PipeMemoryManager.java |  45 +-
 .../resource/tsfile/PipeTsFileResourceManager.java |   2 +-
 .../db/protocol/client/DataNodeInternalClient.java |   8 +-
 .../iotdb/db/protocol/mqtt/MPPPublishHandler.java  |  45 +-
 .../table/v1/handler/ExecuteStatementHandler.java  |  25 +-
 .../table/v1/handler/RequestValidationHandler.java |   8 -
 .../rest/table/v1/impl/RestApiServiceImpl.java     |  11 +-
 .../rest/v1/handler/ExecuteStatementHandler.java   |   2 +
 .../rest/v1/handler/QueryDataSetHandler.java       |   2 +
 .../rest/v2/handler/ExecuteStatementHandler.java   |   2 +
 .../rest/v2/handler/QueryDataSetHandler.java       |   2 +
 .../protocol/thrift/impl/ClientRPCServiceImpl.java | 111 ++--
 .../impl/DataNodeInternalRPCServiceImpl.java       |  13 +-
 .../execution/executor/RegionWriteExecutor.java    |  94 +++-
 .../operator/process/AbstractIntoOperator.java     |   6 +-
 .../process/function/PartitionRecognizer.java      |  66 ++-
 .../process/function/TableFunctionOperator.java    |  94 ++--
 .../{SliceCache.java => PartitionCache.java}       |  14 +-
 .../operator/process/function/partition/Slice.java |  61 +-
 .../relational/AbstractAggTableScanOperator.java   |  11 +-
 .../AbstractDefaultAggTableScanOperator.java       |   2 +-
 .../relational/LastQueryAggTableScanOperator.java  |   2 -
 .../relational/aggregation/AvgAccumulator.java     |   8 +-
 .../relational/aggregation/CountAccumulator.java   |   4 +-
 .../aggregation/CountAllAccumulator.java           |   4 +-
 .../relational/aggregation/ExtremeAccumulator.java |   2 +-
 .../relational/aggregation/FirstAccumulator.java   |  12 +-
 .../relational/aggregation/FirstByAccumulator.java |  17 +-
 .../relational/aggregation/LastAccumulator.java    |  12 +-
 .../relational/aggregation/LastByAccumulator.java  |  17 +-
 .../relational/aggregation/MaxAccumulator.java     |  12 +-
 .../relational/aggregation/MinAccumulator.java     |  12 +-
 .../relational/aggregation/SumAccumulator.java     |   8 +-
 .../aggregation/TableMaxMinByBaseAccumulator.java  |   9 +-
 .../aggregation/TableVarianceAccumulator.java      |   4 +-
 .../aggregation/grouped/GroupedAvgAccumulator.java |   8 +-
 .../grouped/GroupedExtremeAccumulator.java         |  17 +-
 .../grouped/GroupedFirstAccumulator.java           |  21 +-
 .../grouped/GroupedFirstByAccumulator.java         |  22 +-
 .../grouped/GroupedLastAccumulator.java            |  41 +-
 .../grouped/GroupedLastByAccumulator.java          |  24 +-
 .../aggregation/grouped/GroupedMaxAccumulator.java |  16 +-
 .../grouped/GroupedMaxMinByBaseAccumulator.java    |  34 +-
 .../aggregation/grouped/GroupedMinAccumulator.java |  16 +-
 .../grouped/GroupedModeAccumulator.java            |   6 +-
 .../aggregation/grouped/GroupedSumAccumulator.java |   5 +-
 .../grouped/GroupedVarianceAccumulator.java        |   2 +-
 .../grouped/StreamingAggregationOperator.java      |  32 +-
 .../grouped/StreamingHashAggregationOperator.java  |  32 +-
 .../iotdb/db/queryengine/plan/ClusterTopology.java |   4 +
 .../plan/analyze/ClusterPartitionFetcher.java      |  30 +-
 .../analyze/cache/partition/PartitionCache.java    |   7 +-
 .../cache/schema/dualkeycache/IDualKeyCache.java   |  28 +-
 .../dualkeycache/impl/CacheEntryGroupImpl.java     |  57 +-
 .../cache/schema/dualkeycache/impl/CacheStats.java |  47 +-
 .../schema/dualkeycache/impl/DualKeyCacheImpl.java | 526 ++++++------------
 .../schema/dualkeycache/impl/ICacheEntryGroup.java |  13 +-
 .../plan/analyze/load/LoadTsFileAnalyzer.java      |  83 +++
 .../analyze/load/LoadTsFileTableSchemaCache.java   |   6 +-
 .../analyze/load/LoadTsFileTreeSchemaCache.java    |   6 +-
 .../analyze/schema/AutoCreateSchemaExecutor.java   |  14 +-
 .../analyze/schema/ClusterSchemaFetchExecutor.java |   9 +-
 .../execution/config/TableConfigTaskVisitor.java   | 101 +++-
 .../execution/config/TreeConfigTaskVisitor.java    |  33 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  92 +++-
 .../config/metadata/CreatePipePluginTask.java      |   2 +
 .../execution/config/sys/pipe/AlterPipeTask.java   |   3 +-
 .../plan/planner/LocalExecutionPlanner.java        |  13 +
 .../plan/planner/TableOperatorGenerator.java       |  35 +-
 .../SimpleFragmentParallelPlanner.java             | 126 +----
 .../exceptions/RootFIPlacementException.java       |   2 +-
 .../plan/AbstractFragmentParallelPlanner.java      | 168 ++++++
 .../plan/planner/plan/node/PlanGraphPrinter.java   |  20 +
 .../plan/planner/plan/node/PlanNodeType.java       |   4 +
 .../plan/planner/plan/node/PlanVisitor.java        |   5 +
 .../planner/plan/node/write/InsertTabletNode.java  |   6 +-
 .../node/write/RelationalInsertTabletNode.java     |  14 +-
 .../plan/parameter/AggregationDescriptor.java      |   2 +-
 .../relational/analyzer/ExpressionAnalyzer.java    |   2 +-
 .../relational/analyzer/StatementAnalyzer.java     |  13 +-
 .../TableFunctionInvocationAnalysis.java           |   9 +-
 .../plan/relational/function/FunctionId.java       |   2 +
 .../plan/relational/metadata/ResolvedFunction.java |   1 -
 .../metadata/fetcher/TableDeviceSchemaFetcher.java |  12 +-
 .../fetcher/cache/TableDeviceSchemaCache.java      |  11 +-
 .../plan/relational/planner/RelationPlanner.java   |   3 +-
 .../plan/relational/planner/SymbolAllocator.java   |   4 +
 .../distribute/TableDistributedPlanGenerator.java  | 195 ++++++-
 .../distribute/TableDistributedPlanner.java        |   2 +-
 .../distribute/TableModelQueryFragmentPlanner.java | 167 ++----
 .../TableModelTypeProviderExtractor.java           |   7 +
 .../plan/relational/planner/ir/IrUtils.java        |   7 +
 .../rule/ImplementTableFunctionSource.java         |  78 +--
 .../rule/PruneTableFunctionProcessorColumns.java   |   4 +-
 .../PruneTableFunctionProcessorSourceColumns.java  |   4 +-
 .../iterative/rule/SimplifyCountOverConstant.java  | 145 +++++
 .../rule/SingleDistinctAggregationToGroupBy.java   |   3 +-
 .../planner/node/AggregationTableScanNode.java     |  11 +-
 .../node/{StreamSortNode.java => GroupNode.java}   |  86 ++-
 .../relational/planner/node/TableFunctionNode.java |  20 +-
 .../planner/node/TableFunctionProcessorNode.java   |  42 +-
 .../optimizations/LogicalOptimizeFactory.java      |  10 +-
 .../planner/optimizations/ParallelizeGrouping.java | 266 +++++++++
 .../PushLimitOffsetIntoTableScan.java              |   6 +
 .../TransformAggregationToStreamable.java          |  22 +
 ...mQuantifiedComparisonApplyToCorrelatedJoin.java |  13 +-
 .../optimizations/TransformSortToStreamSort.java   |   6 +
 .../optimizations/UnaliasSymbolReferences.java     |  29 +-
 .../relational/planner/optimizations/Util.java     |   2 +-
 .../relational/security/AccessControlImpl.java     |   7 +-
 .../plan/relational/sql/ast/LoadTsFile.java        |   6 +
 .../plan/relational/sql/parser/AstBuilder.java     |  90 ++-
 .../plan/scheduler/AsyncSendPlanNodeHandler.java   |   2 +-
 .../plan/scheduler/load/LoadTsFileScheduler.java   |   5 +-
 .../plan/statement/crud/LoadTsFileStatement.java   |  10 +
 .../metadata/pipe/AlterPipeStatement.java          |   9 +
 .../metadata/pipe/CreatePipePluginStatement.java   |  10 +
 .../multi/BooleanGreatestColumnTransformer.java    |   2 +-
 .../multi/BooleanLeastColumnTransformer.java       |   2 +-
 .../iotdb/db/service/RegionMigrateService.java     |  69 ++-
 .../iotdb/db/service/metrics/FileMetrics.java      |  10 +
 .../iotdb/db/service/metrics/WritingMetrics.java   |   4 +
 .../db/service/metrics/file/ModsFileMetrics.java   |   4 +-
 .../db/storageengine/dataregion/DataRegion.java    |  32 +-
 .../execute/task/AbstractCompactionTask.java       |   3 +
 .../execute/utils/CompactionPathUtils.java         |  20 +-
 .../execute/utils/MultiTsFileDeviceIterator.java   |  10 +-
 .../fast/FastAlignedSeriesCompactionExecutor.java  |   8 +-
 .../FastNonAlignedSeriesCompactionExecutor.java    |   5 +-
 .../executor/fast/SeriesCompactionExecutor.java    |   7 +-
 .../ReadChunkAlignedSeriesCompactionExecutor.java  |   5 +-
 .../compaction/repair/RepairDataFileScanUtil.java  |   6 +-
 .../compaction/schedule/CompactionScheduler.java   |  16 +-
 .../selector/impl/SettleSelectorImpl.java          | 106 ++--
 .../dataregion/flush/MemTableFlushTask.java        |  25 +-
 .../memtable/AbstractWritableMemChunk.java         |   4 +-
 .../memtable/AlignedReadOnlyMemChunk.java          |   6 +-
 .../memtable/AlignedWritableMemChunk.java          | 160 +++---
 .../dataregion/memtable/IWritableMemChunk.java     |   3 +-
 .../dataregion/memtable/ReadOnlyMemChunk.java      |  19 +-
 .../dataregion/memtable/TsFileProcessor.java       |  97 ++--
 .../dataregion/memtable/WritableMemChunk.java      | 108 +---
 .../dataregion/modification/TreeDeletionEntry.java |   6 +-
 .../dataregion/tsfile/TsFileResource.java          |   1 -
 .../wal/utils/MemoryControlledWALEntryQueue.java   |  14 +
 .../dataregion/wal/utils/WALEntryHandler.java      |  10 +-
 .../dataregion/wal/utils/WALEntryPosition.java     |   4 +-
 .../dataregion/wal/utils/WALInsertNodeCache.java   |   6 +
 .../load/active/ActiveLoadTsFileLoader.java        | 102 ++--
 .../load/config/LoadTsFileConfigurator.java        |  20 +
 ...vertedInsertTabletStatementTSStatusVisitor.java |   7 +
 ...leStatementDataTypeConvertExecutionVisitor.java |   1 +
 ...eeStatementDataTypeConvertExecutionVisitor.java | 186 +++++--
 ...MemoryBlock.java => LoadTsFileMemoryBlock.java} |  13 +-
 .../load/memory/LoadTsFileMemoryManager.java       |  19 +-
 .../load/metrics/LoadTsFileCostMetricsSet.java     |  14 +-
 .../load/metrics/LoadTsFileMemMetricSet.java       |   6 +-
 .../agent/SubscriptionBrokerAgent.java             |   9 +
 .../broker/SubscriptionBlockingPendingQueue.java   |   4 +
 .../db/subscription/broker/SubscriptionBroker.java |  10 +
 .../broker/SubscriptionPrefetchingQueue.java       |  49 +-
 .../broker/SubscriptionPrefetchingQueueStates.java |   2 +-
 .../broker/SubscriptionPrefetchingTabletQueue.java |  10 +
 .../broker/SubscriptionPrefetchingTsFileQueue.java |  10 +
 .../TsFileDeduplicationBlockingPendingQueue.java   |  10 +
 .../batch/SubscriptionPipeTsFileEventBatch.java    |   5 +-
 .../event/cache/SubscriptionPollResponseCache.java |   4 +-
 .../pipe/SubscriptionPipeTsFileBatchEvents.java    |  16 +-
 .../receiver/SubscriptionReceiverV1.java           |  29 +-
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |   8 +-
 .../db/utils/datastructure/AlignedTVList.java      | 162 +++++-
 .../db/utils/datastructure/BatchEncodeInfo.java    |  60 ++
 .../db/utils/datastructure/MemPointIterator.java   |   3 +
 .../datastructure/MemPointIteratorFactory.java     | 194 +++++--
 .../MergeSortMultiAlignedTVListIterator.java       |  94 +++-
 .../MergeSortMultiTVListIterator.java              |  76 ++-
 .../datastructure/MultiAlignedTVListIterator.java  |  14 +-
 .../utils/datastructure/MultiTVListIterator.java   |  24 +-
 .../OrderedMultiAlignedTVListIterator.java         |  21 +-
 .../datastructure/OrderedMultiTVListIterator.java  |  36 +-
 .../iotdb/db/utils/datastructure/TVList.java       | 144 ++++-
 .../cache/dualkeycache/DualKeyCacheTest.java       | 171 ------
 .../db/pipe/consensus/DeletionResourceTest.java    |  38 +-
 .../process/tvf/TableFunctionOperatorTest.java     |   6 +-
 .../analyzer/AggregationCornerCaseTest.java        | 179 ++++++
 .../plan/relational/analyzer/AggregationTest.java  |  45 ++
 .../relational/analyzer/TableFunctionTest.java     | 108 ++--
 .../planner/assertions/PlanMatchPattern.java       |   5 +
 .../compaction/AbstractCompactionTest.java         |   4 +-
 .../compaction/ReadChunkInnerCompactionTest.java   |  70 +++
 ...eCrossSpaceCompactionWithFastPerformerTest.java |  14 +-
 ...sSpaceCompactionWithReadPointPerformerTest.java |  12 -
 ...atchedAlignedSeriesReadChunkCompactionTest.java |   2 +-
 .../InnerSeqCompactionWithFastPerformerTest.java   |   7 +-
 ...nerSeqCompactionWithReadChunkPerformerTest.java |   7 +-
 .../settle/SettleCompactionSelectorTest.java       |  20 +-
 .../reader/chunk/MemAlignedChunkLoaderTest.java    |   5 +-
 .../read/reader/chunk/MemChunkLoaderTest.java      |  19 +-
 iotdb-core/metrics/core/pom.xml                    |   4 +-
 iotdb-core/metrics/interface/pom.xml               |   8 +-
 iotdb-core/metrics/pom.xml                         |   2 +-
 iotdb-core/node-commons/pom.xml                    |  24 +-
 .../conf/iotdb-system.properties.template          |  23 +-
 .../src/assembly/resources/sbin/health_check.bat   |  33 +-
 .../container/PipeConsensusClientMgrContainer.java |  20 +-
 .../iotdb/commons/concurrent/ThreadName.java       |   8 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |  18 +
 .../iotdb/commons/conf/CommonDescriptor.java       |  10 +
 .../apache/iotdb/commons/path/MeasurementPath.java |   4 +
 .../apache/iotdb/commons/path/PathPatternTree.java |  20 +-
 .../commons/pipe/agent/task/PipeTaskAgent.java     |  15 +-
 .../task/connection/BlockingPendingQueue.java      |   4 +
 .../iotdb/commons/pipe/config/PipeConfig.java      |  10 +
 .../options/PipeInclusionOptions.java              | 117 ++--
 .../pipe/datastructure/pattern/TablePattern.java   |   2 +
 .../commons/pipe/extractor/IoTDBExtractor.java     |  15 +-
 .../commons/pipe/receiver/IoTDBFileReceiver.java   |  35 +-
 .../apache/iotdb/commons/schema/ttl/TTLCache.java  |  23 +-
 .../service/AbstractThriftServiceThread.java       |  20 +-
 .../iotdb/commons/service/ThriftServiceThread.java |   2 -
 .../relational/TableBuiltinTableFunction.java      |  17 +-
 .../relational/tvf/CapacityTableFunction.java      |  89 +--
 .../builtin/relational/tvf/HOPTableFunction.java   |  29 +-
 ...ableFunction.java => SessionTableFunction.java} |  88 ++-
 ...leFunction.java => VariationTableFunction.java} | 111 ++--
 .../udf/builtin/relational/tvf/WindowTVFUtils.java |  55 ++
 .../commons/udf/service/UDFManagementService.java  |   3 +
 .../org/apache/iotdb/commons/utils/FileUtils.java  | 139 ++++-
 .../apache/iotdb/commons/utils/StatusUtils.java    |   6 +
 iotdb-core/pom.xml                                 |   2 +-
 iotdb-core/relational-grammar/pom.xml              |   2 +-
 .../db/relational/grammar/sql/RelationalSql.g4     |  13 +-
 iotdb-protocol/openapi/pom.xml                     |   2 +-
 iotdb-protocol/pom.xml                             |   2 +-
 iotdb-protocol/thrift-ainode/pom.xml               |   4 +-
 iotdb-protocol/thrift-commons/pom.xml              |   2 +-
 iotdb-protocol/thrift-confignode/pom.xml           |   4 +-
 iotdb-protocol/thrift-consensus/pom.xml            |   4 +-
 .../src/main/thrift/pipeconsensus.thrift           |   3 +-
 iotdb-protocol/thrift-datanode/pom.xml             |   4 +-
 .../src/main/thrift/datanode.thrift                |   9 +-
 library-udf/pom.xml                                |   4 +-
 pom.xml                                            |   4 +-
 415 files changed, 10089 insertions(+), 5299 deletions(-)
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBWindowTVFIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBDistinctTagIT.java
 copy 
iotdb-client/{session/src/main/java/org/apache/iotdb/session/InsertConsumer.java
 => cli/src/main/java/org/apache/iotdb/tool/schema/AbstractExportSchema.java} 
(71%)
 create mode 100644 
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/schema/AbstractImportSchema.java
 create mode 100644 
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/schema/ExportSchemaTable.java
 create mode 100644 
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/schema/ExportSchemaTree.java
 create mode 100644 
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/schema/ImportSchemaTable.java
 copy 
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/schema/{ImportSchema.java 
=> ImportSchemaTree.java} (53%)
 rename iotdb-client/client-py/iotdb/tsfile/common/constant/{TsFileConstant.py 
=> tsfile_constant.py} (100%)
 rename iotdb-client/client-py/iotdb/tsfile/utils/{DateUtils.py => 
date_utils.py} (100%)
 rename iotdb-client/client-py/iotdb/tsfile/utils/{Pair.py => pair.py} (100%)
 rename iotdb-client/client-py/iotdb/tsfile/utils/{ReadWriteIOUtils.py => 
read_write_io_utils.py} (100%)
 create mode 100644 iotdb-client/client-py/iotdb/tsfile/utils/tsblock_serde.py
 delete mode 100644 iotdb-client/client-py/iotdb/utils/IoTDBRpcDataSet.py
 rename iotdb-client/client-py/iotdb/utils/{IoTDBConnectionException.py => 
exception.py} (64%)
 create mode 100644 iotdb-client/client-py/iotdb/utils/iotdb_rpc_dataset.py
 create mode 100644 iotdb-client/client-py/iotdb/utils/rpc_utils.py
 create mode 100644 
iotdb-client/client-py/tests/integration/test_tablemodel_query.py
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/util/builder/PipeTreeModelTsFileBuilderV2.java
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/partition/{SliceCache.java
 => PartitionCache.java} (86%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/AbstractFragmentParallelPlanner.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SimplifyCountOverConstant.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/{StreamSortNode.java
 => GroupNode.java} (51%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/ParallelizeGrouping.java
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/memory/{LoadTsFileAnalyzeSchemaMemoryBlock.java
 => LoadTsFileMemoryBlock.java} (88%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/BatchEncodeInfo.java
 delete mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/metadata/cache/dualkeycache/DualKeyCacheTest.java
 copy 
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/relational/MyRepeatWithIndex.java
 => 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/CapacityTableFunction.java
 (55%)
 copy 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/{HOPTableFunction.java
 => SessionTableFunction.java} (61%)
 copy 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/{HOPTableFunction.java
 => VariationTableFunction.java} (54%)
 create mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/WindowTVFUtils.java


Reply via email to