This is an automated email from the ASF dual-hosted git repository. chenyz pushed a change to branch udtf-optimize in repository https://gitbox.apache.org/repos/asf/iotdb.git
from de0bf7b7cde resolve conflict add 8d50c9bcfd0 Sae add f3b40fadf0e save add 40dd0315408 change next to nextWithTimer (#15071) add b2bacd3f284 Fix Memory Statistic in TimePartionInfoManager (#15073) add 5b917560d6d Fix the display of current database during switching between table and tree model add 24a93f578e9 Fixed the concurrency bug of create timeseries / set(unset) template & Optimized the table log & Removed the useless timeseries/table lock (#15062) add f16252d8105 [AINode] Support output time column for model inference add 3cab8602ebd IoTConsensusV2: Fix borrow tsfileWriter and delete tsfileWriter's file concurrency bug #15072 add d756afb335f Timestamp of Long.MIN_VALUE may be deleted by ttl in compaction task (#15067) add e320964de18 Fix the exception handle of InsertionCompactionTask (#15074) add ce5cfed4cf7 Update DataNodeRegionManager.java (#15076) add 3f9778a6004 Compatibility modification for LikeViewExpression deserialization add df9dc4900fb Add exchange node for every children of MultiChildProcessNode add 1dcf94262f8 fix: memory cost for aligned tvlist (#15079) add 8aaaf8ea0c1 [feat](query) Implement column name match when query in TableModel (#14928) add 591fc141534 Try fix error inconsistent bug add 6a0815577c2 Modify the error message for when parameters do not match add 06c0911adca [RTO/RPO] Phi logging/concurrency Improvement (#15092) add 69fca073930 Pipe: Fix pipe executor stuck by unlimited file event memory allocation retries & Pipe: Fix IO triggered in disruptor & Pipe: Fix forceAllocateIfSufficient & Load: Remove RM detect logic during the second phase (#15085) (#15091) add 2d0ba711075 Int + Date and Long + Date do not check if the date exceeds the range add bcb18d24a01 IoTConsensusV2: Retry with power-increasing interval when follower is read-only (#15075) add 98f397c4c49 Optimize the logic of get ReplicaSets for devices add 8f15cceca31 Refactor DeviceEntry's attributeValues from List<Binary> to Binary[] to reduce the cost of ramBytesUsed() add a8e5080fc9c Remove useless metrics in AggTableScan and make the TimeseriesMetadataCache get time as FI level add 79a6e12b486 Close Session In ImportDataTable (#15065) add d3bd5c7bec3 Omitted the useless distinct logic for device when determined predicate does not contain "OR" add 49b52854d17 Merge branch 'master' into udtf-optimize add 3327dfa7809 Save No new revisions were added by this update. Summary of changes: .../org/apache/iotdb/ainode/it/AINodeBasicIT.java | 15 +- .../scalar/IoTDBFormatFunctionTableIT.java | 2 +- .../it/query/old/query/IoTDBArithmeticTableIT.java | 12 + .../it/query/recent/IoTDBColumnsMatchTableIT.java | 354 ++++++++ .../IoTDBDefaultPullConsumerDataSetIT.java | 28 +- ...ensusRetryWithIncreasingIntervalException.java} | 4 +- .../java/org/apache/iotdb/cli/AbstractCli.java | 20 +- .../org/apache/iotdb/tool/common/Constants.java | 3 +- .../org/apache/iotdb/tool/common/OptionsUtil.java | 3 - .../org/apache/iotdb/tool/data/ExportData.java | 11 +- .../apache/iotdb/tool/data/ExportDataTable.java | 192 ++--- .../org/apache/iotdb/tool/data/ExportDataTree.java | 185 ++--- .../org/apache/iotdb/tool/data/ImportData.java | 2 +- .../apache/iotdb/tool/data/ImportDataTable.java | 16 +- .../load/cache/detector/PhiAccrualDetector.java | 4 +- .../load/cache/node/AINodeHeartbeatCache.java | 35 +- .../load/cache/node/ConfigNodeHeartbeatCache.java | 24 +- .../load/cache/node/DataNodeHeartbeatCache.java | 37 +- .../manager/load/cache/region/RegionCache.java | 24 +- .../impl/schema/UnsetTemplateProcedure.java | 146 ++-- .../consensus/iot/client/DispatchLogHandler.java | 27 +- .../ArithmeticBinaryColumnTransformer.ftl | 11 + .../template/NoTemplateOnMNodeException.java | 34 - .../async/handler/PipeTransferTsFileHandler.java | 15 +- .../common/tsfile/PipeTsFileInsertionEvent.java | 4 +- .../pipeconsensus/PipeConsensusReceiver.java | 32 +- .../db/pipe/resource/memory/PipeMemoryManager.java | 31 +- .../pipe/resource/tsfile/PipeTsFileResource.java | 6 +- .../impl/DataNodeInternalRPCServiceImpl.java | 90 +- .../db/queryengine/execution/driver/Driver.java | 15 +- .../execution/exchange/SharedTsBlockQueue.java | 11 + .../execution/exchange/sink/ISinkChannel.java | 2 + .../execution/exchange/sink/LocalSinkChannel.java | 21 +- .../execution/exchange/sink/ShuffleSinkHandle.java | 3 + .../execution/exchange/sink/SinkChannel.java | 3 +- .../exchange/source/LocalSourceHandle.java | 12 +- .../execution/executor/RegionWriteExecutor.java | 18 +- .../fragment/FragmentInstanceContext.java | 32 +- .../fragment/FragmentInstanceExecution.java | 18 +- .../fragment/FragmentInstanceManager.java | 24 +- .../execution/fragment/QueryStatistics.java | 10 + .../operator/process/AssignUniqueIdOperator.java | 2 +- .../operator/process/EnforceSingleRowOperator.java | 2 +- .../operator/process/ai/InferenceOperator.java | 42 +- .../process/function/PartitionRecognizer.java | 28 +- .../operator/process/function/partition/Slice.java | 9 +- .../process/window/TableWindowOperator.java | 2 +- .../operator/sink/ShuffleHelperOperator.java | 2 +- .../relational/AbstractAggTableScanOperator.java | 17 +- .../relational/AbstractMergeSortJoinOperator.java | 4 +- .../relational/AbstractTableScanOperator.java | 2 +- .../relational/LastQueryAggTableScanOperator.java | 6 +- .../relational/aggregation/TableAggregator.java | 9 +- .../execution/schedule/AbstractDriverThread.java | 27 +- .../execution/schedule/DriverScheduler.java | 2 +- .../metric/SeriesScanCostMetricSet.java | 40 +- .../queryengine/plan/analyze/AnalyzeVisitor.java | 49 +- .../plan/analyze/ClusterPartitionFetcher.java | 5 - .../plan/analyze/IPartitionFetcher.java | 4 - .../plan/analyze/lock/SchemaLockType.java | 13 - .../queryengine/plan/execution/QueryExecution.java | 5 + .../db/queryengine/plan/parser/ASTVisitor.java | 3 + .../plan/planner/LogicalPlanBuilder.java | 1 + .../plan/planner/LogicalPlanVisitor.java | 2 +- .../plan/planner/OperatorTreeGenerator.java | 1 + .../plan/planner/TableOperatorGenerator.java | 3 + .../plan/planner/plan/node/PlanGraphPrinter.java | 2 +- .../plan/node/process/AI/InferenceNode.java | 18 +- .../relational/analyzer/ExpressionAnalyzer.java | 6 + .../relational/analyzer/StatementAnalyzer.java | 910 ++++++++++++++++++++- .../relational/metadata/AlignedDeviceEntry.java | 20 +- .../plan/relational/metadata/DeviceEntry.java | 26 +- .../metadata/NonAlignedAlignedDeviceEntry.java | 20 +- .../relational/metadata/TableMetadataImpl.java | 2 +- .../fetcher/DeviceInCacheFilterVisitor.java | 4 +- .../metadata/fetcher/SchemaPredicateUtil.java | 10 +- .../metadata/fetcher/TableDeviceSchemaFetcher.java | 16 +- .../relational/planner/TableLogicalPlanner.java | 13 +- .../distribute/TableDistributedPlanGenerator.java | 123 ++- .../plan/relational/planner/ir/IrUtils.java | 13 +- .../plan/relational/planner/node/ExchangeNode.java | 6 +- .../plan/relational/planner/node/GroupNode.java | 2 +- .../plan/relational/planner/node/OutputNode.java | 2 + .../planner/optimizations/ParallelizeGrouping.java | 82 +- .../relational/sql/ast/AbstractTraverseDevice.java | 2 + .../plan/relational/sql/ast/AstVisitor.java | 4 + .../sql/ast/{NotExpression.java => Columns.java} | 51 +- .../plan/relational/sql/ast/SingleColumn.java | 21 + .../queryengine/plan/relational/sql/ast/Trim.java | 2 +- .../plan/relational/sql/parser/AstBuilder.java | 11 + .../relational/sql/util/ExpressionFormatter.java | 6 + .../scheduler/load/LoadTsFileDispatcherImpl.java | 27 +- .../plan/scheduler/load/LoadTsFileScheduler.java | 24 +- .../plan/statement/crud/QueryStatement.java | 9 + .../read/resp/info/impl/ShowDevicesResult.java | 2 +- .../db/schemaengine/table/DataNodeTableCache.java | 28 +- .../template/TemplateInternalRPCUpdateType.java | 5 +- .../buffer/TimeSeriesMetadataCache.java | 20 +- .../task/InsertionCrossSpaceCompactionTask.java | 10 +- .../execute/utils/MultiTsFileDeviceIterator.java | 5 +- .../tsfile/timeindex/ArrayDeviceTimeIndex.java | 3 +- .../dataregion/tsfile/timeindex/FileTimeIndex.java | 2 +- .../dataregion/wal/utils/WALEntryHandler.java | 4 +- .../dataregion/wal/utils/WALInsertNodeCache.java | 10 +- .../rescon/memory/TimePartitionManager.java | 4 +- .../db/utils/datastructure/AlignedTVList.java | 10 +- .../plan/analyze/FakePartitionFetcherImpl.java | 5 - .../plan/planner/distribution/Util.java | 5 - .../plan/planner/distribution/Util2.java | 5 - .../plan/relational/analyzer/AggregationTest.java | 305 +++---- .../plan/relational/analyzer/AnalyzerTest.java | 142 ++-- .../plan/relational/analyzer/DistinctTest.java | 48 +- .../plan/relational/analyzer/JoinTest.java | 94 ++- .../analyzer/LimitOffsetPushDownTest.java | 183 ++--- .../analyzer/MockTableModelDataPartition.java | 63 +- .../plan/relational/analyzer/SortTest.java | 288 +++---- .../plan/relational/analyzer/SubQueryTest.java | 44 +- .../plan/relational/analyzer/TSBSMetadata.java | 29 +- .../relational/analyzer/TableFunctionTest.java | 111 ++- .../plan/relational/analyzer/TestMatadata.java | 19 +- .../plan/relational/analyzer/TestUtils.java | 26 + .../plan/relational/analyzer/TreeViewTest.java | 72 +- .../plan/relational/planner/ExampleTest.java | 34 +- .../planner/UncorrelatedSubqueryTest.java | 164 ++-- .../planner/assertions/ExchangeNodeMatcher.java | 8 +- .../planner/assertions/PlanMatchPattern.java | 9 +- .../planner/assertions/PlanMatchingVisitor.java | 12 +- .../compaction/CompactionWithMinTimestampTest.java | 136 +++ .../dataregion/memtable/TsFileProcessorTest.java | 28 +- .../apache/iotdb/commons/memory/IMemoryBlock.java | 3 - .../task/subtask/PipeAbstractConnectorSubtask.java | 4 +- .../agent/task/subtask/PipeReportableSubtask.java | 13 +- .../pipe/receiver/PipeReceiverStatusHandler.java | 8 + .../viewExpression/unary/LikeViewExpression.java | 53 +- .../iotdb/commons/service/metric/enums/Metric.java | 1 + .../org/apache/iotdb/commons/utils/RetryUtils.java | 8 + .../db/relational/grammar/sql/RelationalSql.g4 | 1 + .../src/main/thrift/datanode.thrift | 1 - 138 files changed, 3343 insertions(+), 1930 deletions(-) create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBColumnsMatchTableIT.java copy iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/exception/{PipeStrategyNotValidException.java => PipeConsensusRetryWithIncreasingIntervalException.java} (84%) delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/template/NoTemplateOnMNodeException.java copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{NotExpression.java => Columns.java} (64%) create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/CompactionWithMinTimestampTest.java