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