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 5f081de325e compact compatibility with alter column datatype (#15010)
add ee8b308d922 Fix resetPeerListTest for unstable port binding #15038
add ce47273ba7f Subscription: let subscription module fully manage the
parsing process of the insert node event (#15012)
add ea4322722f3 Fix some issue in auth model.
add 5bb6803e999 Pipe: Implemented runtime permission check (#14885)
add 3b246f1f551 [Fix](query) Fix the calc logic of dispatch read time
(#15036)
add 55dc0478376 Fix division by zero error when flush memtable (#15045)
add 59c1a8ef114 Load: Fix memory size counting on cases when query
engine's memory is not sufficient (#15049)
add af11a09648f Pipe: Fix tsfile resource deserialize failed (#15052)
(#15053)
add d7dbf41d95b Pipe: Fixed the pipe parsing bug for logical view (#15055)
add cc0a99a456f Pipe: Optimize realtime performace when pipe starts after
long time stop with heavy data backlog (#15048) (#15057)
add f4fd9666876 Introduce User-defined Polymorphic Table Function
add a7ebfa82873 DAL: Fix deletion buffer oom & enable DAL direct memory
management
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 07e0d21478a [opt](query) Improve the logic to calculate
TRegionReplicaSets for devices (#15102)
add 98acf8e5090 Optimized the query logic to make schema or weak data
query read from local first & random if without local (#15106)
add a637327f31d fix create region group (#15108)
add 19067243d0c Subscription IT: fix
IoTDBConsumer2With1TopicShareProcessTsfileIT (#15110)
add 010843f8933 Optimized the show/query devices logic to only return
required attributes & Reduced unnecessary CPU usage in schema tsBlock building
(#15109)
add ec06abee8fc Fix template extension with null value (#15103)
add 35377c69004 Make error msg be semantic when the functionality is not
supported
add 385d0df5f9f Enhance remove unexisted confignode error message #15117
add c09bb166883 Optimize query execution in easy count(*) cases
add 5ab0c1adbfd Try to compatiable with 1.3.X view
add c6d1f493b0d Fix the wrong time index type check in
CrossSpaceCompaction (#15095)
add 93197a426ea fix mods file metrics (#15107)
add 93ec99d7ad0 Make removed confignode can rejoin cluster without
deleting data dir (#15118)
add 411f45f99a2 feat: move costTime to execute finished
add 8e650cbb1e1 Pipe: Reduced the log of epoch switching & Optimized the
memory calculation of insertion event & Refactor & Optimized the memory
reservation logic of tsFile parser provider & Added the missing parsing logic +
Fixed the wrong listening types to table meta sync & Skipped the file parsing
in privilege for empty file and root user & Subscription IT: assertGte for
received tsfile count (#15068)
add 0e395feb01c Pipe: Added memory control for receiver insert statements
(#15046)
add ab784fbfabb Revert "Optimized the query logic to make schema or weak
data query read from local first & random if without local (#15106)" (#15127)
add 50a48ce42b3 Load & Region Migrate: Notify all DNs before and after RM
(#15032)
add db614fb8eda IoTConsensusV2: Fix concurrency bug when client traffic is
extremely high (#15129)
add c792db04207 Trim port in stop scripts & data dir (#15134)
add f76c2c98251 Enhance remove unexisted datanode error message #15138
add f4e6660f06d Fix duplicate recovery of RelationalInsertTabletNode
(#15105)
add da246d7ae06 perf: various types of iterator for multiple tvlists in
memchunk (#15114)
add 90e3cb1fc97 Merge branch 'master' into force_ci/alter_column_datatype
No new revisions were added by this update.
Summary of changes:
.../iotdb/udf/table/ExcludeColumnExample.java | 108 ++
.../org/apache/iotdb/udf/table/RepeatExample.java | 125 ++
.../org/apache/iotdb/udf/table/SplitExample.java | 114 ++
.../example/relational/MyErrorTableFunction.java | 114 ++
.../udf/example/relational/MyExcludeColumn.java | 89 ++
.../udf/example/relational/MyRepeatWithIndex.java | 102 ++
.../example/relational/MyRepeatWithoutIndex.java | 99 ++
.../db/query/udf/example/relational/MySplit.java | 98 ++
.../org/apache/iotdb/ainode/it/AINodeBasicIT.java | 15 +-
.../it/cluster/IoTDBClusterNodeGetterIT.java | 2 +-
.../iotdb/db/it/auth/IoTDBRelationalAuthIT.java | 55 +-
.../iotdb/db/it/schema/IoTDBExtendTemplateIT.java | 7 +
.../org/apache/iotdb/db/it/utils/TestUtils.java | 1 -
.../pipe/it/dual/tablemodel/TableModelUtils.java | 6 +
.../manual/basic/IoTDBPipeDataSinkIT.java | 6 +
.../manual/basic/IoTDBPipeExtractorIT.java | 7 +
.../manual/basic/IoTDBPipeLifeCycleIT.java | 10 +
.../manual/basic/IoTDBPipePermissionIT.java | 226 ++++
.../manual/basic/IoTDBPipeProtocolIT.java | 4 +
.../manual/basic/IoTDBPipeSwitchStatusIT.java | 4 +
.../tablemodel/manual/basic/IoTDBPipeSyntaxIT.java | 1 +
.../manual/basic/IoTDBPipeWithLoadIT.java | 4 +
.../manual/basic/IoTDBTablePatternFormatIT.java | 7 +
.../manual/enhanced/IoTDBPipeAutoConflictIT.java | 4 +
.../manual/enhanced/IoTDBPipeAutoDropIT.java | 2 +
.../manual/enhanced/IoTDBPipeClusterIT.java | 13 +
.../enhanced/IoTDBPipeConnectorCompressionIT.java | 12 +-
.../enhanced/IoTDBPipeConnectorParallelIT.java | 2 +
.../manual/enhanced/IoTDBPipeIdempotentIT.java | 1 +
.../manual/enhanced/IoTDBPipeMetaIT.java | 4 +
.../manual/enhanced/IoTDBPipeNullValueIT.java | 1 +
.../pipe/it/single/IoTDBPipePermissionIT.java | 157 +++
.../it/db/it/IoTDBFlushQueryTableIT.java | 30 +-
.../db/it/IoTDBMultiTAGsWithAttributesTableIT.java | 16 +-
.../it/db/it/udf/IoTDBSQLFunctionManagementIT.java | 22 +-
.../db/it/udf/IoTDBUserDefinedTableFunctionIT.java | 272 ++++
.../scalar/IoTDBFormatFunctionTableIT.java | 2 +-
.../it/query/old/query/IoTDBArithmeticTableIT.java | 12 +
.../it/query/recent/IoTDBColumnsMatchTableIT.java | 354 +++++
.../IoTDBCorrelatedExistsSubqueryIT.java | 24 +-
.../relational/it/schema/IoTDBDatabaseIT.java | 6 +-
.../IoTDBDefaultPullConsumerDataSetIT.java | 28 +-
...TDBConsumer2With1TopicShareProcessTsfileIT.java | 14 +-
.../IoTDBPathLooseDeviceTsfilePushConsumerIT.java | 10 +-
.../IoTDBTimeLooseTsfilePushConsumerIT.java | 10 +-
.../IoTDBTSPatternTsfilePushConsumerIT.java | 2 +-
.../time/IoTDBRealTimeDBTsfilePushConsumerIT.java | 8 +-
.../time/IoTDBTimeRangeDBTsfilePushConsumerIT.java | 22 +-
...ensusRetryWithIncreasingIntervalException.java} | 4 +-
.../iotdb/udf/api/relational/TableFunction.java | 83 +-
.../iotdb/udf/api/relational/access/Record.java | 2 +
.../relational/table/TableFunctionAnalysis.java | 89 ++
.../table/TableFunctionProcessorProvider.java | 43 +
.../api/relational/table/argument/Argument.java | 33 +-
.../relational/table/argument/DescribedSchema.java | 89 ++
.../relational/table/argument/ScalarArgument.java | 155 +++
.../relational/table/argument/TableArgument.java | 177 +++
.../processor/TableFunctionDataProcessor.java | 64 +
.../processor/TableFunctionLeafProcessor.java | 31 +-
.../specification/ParameterSpecification.java | 77 ++
.../ScalarParameterSpecification.java | 76 ++
.../specification/TableParameterSpecification.java | 98 ++
.../java/org/apache/iotdb/udf/api/type/Type.java | 38 +
.../java/org/apache/iotdb/cli/AbstractCli.java | 22 +-
.../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 +-
.../assembly/resources/sbin/stop-confignode.bat | 25 +-
.../src/assembly/resources/sbin/stop-confignode.sh | 4 +
.../confignode/client/CnToCnNodeRequestType.java | 2 +-
.../client/async/CnToDnAsyncRequestType.java | 1 +
.../CnToDnInternalServiceAsyncRequestManager.java | 6 +
.../rpc/DataNodeAsyncRequestRPCHandler.java | 1 +
.../client/sync/SyncConfigNodeClientPool.java | 6 +-
.../write/pipe/payload/PipeDeleteDevicesPlan.java | 44 +-
.../request/write/table/AbstractTablePlan.java | 15 +-
.../confignode/manager/PermissionManager.java | 4 +
.../iotdb/confignode/manager/ProcedureManager.java | 2 +-
.../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 +-
.../pipe/event/PipeConfigRegionSnapshotEvent.java | 14 +-
.../pipe/event/PipeConfigRegionWritePlanEvent.java | 26 +-
.../extractor/ConfigRegionListeningFilter.java | 3 +-
.../pipe/extractor/IoTDBConfigRegionExtractor.java | 108 ++
...ConfigPhysicalPlanTablePatternParseVisitor.java | 62 +-
...nfigPhysicalPlanTablePrivilegeParseVisitor.java | 382 ++++++
...eConfigPhysicalPlanTreePatternParseVisitor.java | 2 +-
.../receiver/protocol/IoTDBConfigNodeReceiver.java | 37 +-
.../iotdb/confignode/persistence/AuthorInfo.java | 4 +
.../procedure/env/ConfigNodeProcedureEnv.java | 20 +-
.../impl/node/RemoveConfigNodeProcedure.java | 8 +-
.../impl/pipe/task/AlterPipeProcedureV2.java | 66 +-
.../impl/pipe/task/CreatePipeProcedureV2.java | 97 ++
.../impl/region/CreateRegionGroupsProcedure.java | 35 +-
.../region/NotifyRegionMigrationProcedure.java | 137 ++
.../impl/region/RegionMigrateProcedure.java | 2 +
.../impl/schema/UnsetTemplateProcedure.java | 146 +-
...eState.java => NotifyRegionMigrationState.java} | 5 +-
.../procedure/state/RemoveConfigNodeState.java | 2 +-
.../procedure/store/ProcedureFactory.java | 7 +
.../confignode/procedure/store/ProcedureType.java | 1 +
.../thrift/ConfigNodeRPCServiceProcessor.java | 10 +-
...igPhysicalPlanTablePatternParseVisitorTest.java | 9 +
...figPhysicalPlanTreePatternParseVisitorTest.java | 2 +-
.../consensus/iot/client/DispatchLogHandler.java | 27 +-
.../pipe/consensuspipe/ConsensusPipeManager.java | 8 +-
.../apache/iotdb/consensus/iot/StabilityTest.java | 49 +-
.../src/assembly/resources/conf/datanode-env.sh | 3 +
.../src/assembly/resources/sbin/stop-datanode.bat | 23 +-
.../src/assembly/resources/sbin/stop-datanode.sh | 4 +
.../ArithmeticBinaryColumnTransformer.ftl | 11 +
.../org/apache/iotdb/db/auth/AuthorityChecker.java | 2 +
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 3 +
.../template/NoTemplateOnMNodeException.java | 34 -
.../db/pipe/agent/task/PipeDataNodeTaskAgent.java | 54 +-
.../agent/task/connection/PipeEventCollector.java | 24 +-
.../agent/task/stage/PipeTaskProcessorStage.java | 4 +-
.../PipeRealtimePriorityBlockingQueue.java | 49 +-
.../subtask/processor/PipeProcessorSubtask.java | 3 +
.../protocol/opcda/OpcDaServerHandle.java | 4 +-
.../connector/protocol/opcua/OpcUaNameSpace.java | 4 +-
.../async/IoTDBDataRegionAsyncConnector.java | 41 +-
.../async/handler/PipeTransferTsFileHandler.java | 15 +-
.../protocol/writeback/WriteBackConnector.java | 83 +-
.../deletion/persist/PageCacheDeletionBuffer.java | 9 +-
.../db/pipe/event/UserDefinedEnrichedEvent.java | 14 +-
.../db/pipe/event/common/PipeInsertionEvent.java | 17 +-
.../common/deletion/PipeDeleteDataNodeEvent.java | 31 +-
.../event/common/heartbeat/PipeHeartbeatEvent.java | 15 +-
.../schema/PipeSchemaRegionSnapshotEvent.java | 16 +-
.../schema/PipeSchemaRegionWritePlanEvent.java | 18 +-
.../tablet/PipeInsertNodeTabletInsertionEvent.java | 69 +-
.../common/tablet/PipeRawTabletInsertionEvent.java | 22 +-
.../tablet/parser/TabletInsertionEventParser.java | 15 +-
.../event/common/terminate/PipeTerminateEvent.java | 13 +-
.../common/tsfile/PipeTsFileInsertionEvent.java | 123 +-
.../parser/TsFileInsertionEventParserProvider.java | 24 +-
.../table/TsFileInsertionEventTableParser.java | 22 +-
.../db/pipe/event/realtime/PipeRealtimeEvent.java | 28 +-
.../event/realtime/PipeRealtimeEventFactory.java | 22 +-
.../dataregion/IoTDBDataRegionExtractor.java | 2 +-
...oricalDataRegionTsFileAndDeletionExtractor.java | 24 +-
.../realtime/PipeRealtimeDataRegionExtractor.java | 20 +
.../PipeRealtimeDataRegionHybridExtractor.java | 19 +-
.../realtime/assigner/PipeDataRegionAssigner.java | 8 +
.../realtime/epoch/TsFileEpochManager.java | 8 +-
.../listener/PipeInsertionDataNodeListener.java | 6 +
.../matcher/CachedSchemaPatternMatcher.java | 40 +-
.../realtime/matcher/PipeDataRegionMatcher.java | 3 +
.../schemaregion/IoTDBSchemaRegionExtractor.java | 78 ++
...ava => PipePlanTablePrivilegeParseVisitor.java} | 46 +-
.../schemaregion/PipeStatementToPlanVisitor.java | 48 +
.../pipeconsensus/PipeConsensusReceiver.java | 49 +-
.../protocol/thrift/IoTDBDataNodeReceiver.java | 52 +-
...leStatementDataTypeConvertExecutionVisitor.java | 1 +
.../resource/memory/InsertNodeMemoryEstimator.java | 319 +----
.../db/pipe/resource/memory/PipeMemoryManager.java | 31 +-
.../pipe/resource/tsfile/PipeTsFileResource.java | 6 +-
.../iotdb/db/protocol/client/ConfigNodeClient.java | 4 +-
.../v1/handler/StatementConstructionHandler.java | 2 +-
.../impl/DataNodeInternalRPCServiceImpl.java | 112 +-
.../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 | 70 +-
.../fragment/FragmentInstanceExecution.java | 18 +-
.../fragment/FragmentInstanceManager.java | 24 +-
.../execution/fragment/QueryStatistics.java | 10 +
.../operator/process/AssignUniqueIdOperator.java | 2 +-
.../operator/process/CollectOperator.java | 7 +
.../operator/process/EnforceSingleRowOperator.java | 2 +-
.../operator/process/ai/InferenceOperator.java | 42 +-
.../process/function/PartitionRecognizer.java | 179 +++
.../function/TableFunctionLeafOperator.java | 111 ++
.../process/function/TableFunctionOperator.java | 269 ++++
.../process/function/partition/PartitionState.java | 62 +
.../operator/process/function/partition/Slice.java | 183 +++
.../process/function/partition/SliceCache.java | 106 ++
.../process/window/TableWindowOperator.java | 2 +-
.../schema/source/DeviceAttributeUpdater.java | 10 +-
.../schema/source/DeviceBlackListConstructor.java | 11 +-
.../schema/source/DevicePredicateFilter.java | 13 +-
.../schema/source/DevicePredicateHandler.java | 22 +-
.../operator/schema/source/DeviceUpdater.java | 13 +-
.../schema/source/SchemaSourceFactory.java | 4 +-
.../schema/source/TableDeviceQuerySource.java | 21 +-
.../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 -
.../plan/analyze/schema/TemplateSchemaFetcher.java | 11 +-
.../queryengine/plan/execution/QueryExecution.java | 5 +
.../execution/config/TableConfigTaskVisitor.java | 80 +-
.../config/executor/ClusterConfigTaskExecutor.java | 34 +-
.../config/metadata/ShowFunctionsTask.java | 6 +
.../db/queryengine/plan/parser/ASTVisitor.java | 3 +
.../plan/parser/StatementGenerator.java | 4 +-
.../plan/planner/LogicalPlanBuilder.java | 1 +
.../plan/planner/LogicalPlanVisitor.java | 2 +-
.../plan/planner/OperatorTreeGenerator.java | 1 +
.../plan/planner/TableOperatorGenerator.java | 113 +-
.../SimpleFragmentParallelPlanner.java | 2 +-
.../plan/planner/plan/PlanFragment.java | 22 +-
.../plan/planner/plan/node/PlanGraphPrinter.java | 54 +
.../plan/planner/plan/node/PlanNodeType.java | 9 +-
.../plan/planner/plan/node/PlanVisitor.java | 10 +
.../plan/node/process/AI/InferenceNode.java | 18 +-
.../plan/relational/analyzer/Analysis.java | 27 +-
.../relational/analyzer/ExpressionAnalyzer.java | 6 +
.../relational/analyzer/StatementAnalyzer.java | 1392 +++++++++++++++++++-
.../tablefunction/ArgumentAnalysis.java} | 29 +-
.../tablefunction/ArgumentsAnalysis.java} | 54 +-
.../tablefunction/TableArgumentAnalysis.java | 152 +++
.../TableFunctionInvocationAnalysis.java | 68 +
.../relational/metadata/AlignedDeviceEntry.java | 20 +-
.../plan/relational/metadata/DeviceEntry.java | 26 +-
.../plan/relational/metadata/Metadata.java | 3 +
.../metadata/NonAlignedAlignedDeviceEntry.java | 20 +-
.../relational/metadata/TableMetadataImpl.java | 15 +-
.../plan/relational/metadata/TableSchema.java | 2 +-
.../fetcher/DeviceInCacheFilterVisitor.java | 4 +-
.../metadata/fetcher/SchemaPredicateUtil.java | 10 +-
.../metadata/fetcher/TableDeviceSchemaFetcher.java | 21 +-
.../planner/DataOrganizationSpecification.java | 106 ++
.../plan/relational/planner/QueryPlanner.java | 20 +
.../plan/relational/planner/RelationPlanner.java | 137 ++
.../relational/planner/TableLogicalPlanner.java | 15 +-
.../planner/distribute/AddExchangeNodes.java | 36 +-
.../distribute/TableDistributedPlanGenerator.java | 178 ++-
.../distribute/TableDistributedPlanner.java | 12 +-
.../distribute/TableModelQueryFragmentPlanner.java | 17 +-
.../plan/relational/planner/ir/IrUtils.java | 13 +-
.../rule/ImplementTableFunctionSource.java | 163 +++
.../rule/PruneTableFunctionProcessorColumns.java | 86 ++
.../PruneTableFunctionProcessorSourceColumns.java | 96 ++
.../plan/relational/planner/node/ExchangeNode.java | 6 +-
.../plan/relational/planner/node/OutputNode.java | 2 +
.../plan/relational/planner/node/Patterns.java | 13 +-
.../relational/planner/node/TableFunctionNode.java | 358 +++++
.../planner/node/TableFunctionProcessorNode.java | 274 ++++
.../optimizations/LogicalOptimizeFactory.java | 6 +
.../PushLimitOffsetIntoTableScan.java | 11 +
.../optimizations/PushPredicateIntoTableScan.java | 3 +-
.../planner/optimizations/SymbolMapper.java | 7 +
.../optimizations/UnaliasSymbolReferences.java | 107 ++
.../plan/relational/security/AccessControl.java | 12 +
.../relational/security/AccessControlImpl.java | 23 +-
.../relational/security/AllowAllAccessControl.java | 10 +
.../relational/security/ITableAuthChecker.java | 3 +
.../relational/security/ITableAuthCheckerImpl.java | 18 +
.../sql/ast/AbstractQueryDeviceWithCache.java | 33 +-
.../relational/sql/ast/AbstractTraverseDevice.java | 11 +-
.../plan/relational/sql/ast/AstVisitor.java | 17 +
.../sql/ast/{NotExpression.java => Columns.java} | 51 +-
.../plan/relational/sql/ast/DeleteDevice.java | 19 +-
.../plan/relational/sql/ast/ShowDevice.java | 10 +-
.../plan/relational/sql/ast/SingleColumn.java | 21 +
.../ast/{Table.java => TableFunctionArgument.java} | 53 +-
.../{Table.java => TableFunctionInvocation.java} | 53 +-
.../sql/ast/TableFunctionTableArgument.java | 119 ++
.../queryengine/plan/relational/sql/ast/Trim.java | 2 +-
.../plan/relational/sql/parser/AstBuilder.java | 165 ++-
.../relational/sql/util/ExpressionFormatter.java | 6 +
.../plan/relational/sql/util/SqlFormatter.java | 75 ++
.../scheduler/FragmentInstanceDispatcherImpl.java | 54 +-
.../scheduler/load/LoadTsFileDispatcherImpl.java | 27 +-
.../plan/scheduler/load/LoadTsFileScheduler.java | 34 +-
.../plan/statement/crud/InsertBaseStatement.java | 46 +-
.../crud/InsertMultiTabletsStatement.java | 16 +
.../plan/statement/crud/InsertRowStatement.java | 13 +
.../crud/InsertRowsOfOneDeviceStatement.java | 16 +
.../plan/statement/crud/InsertRowsStatement.java | 16 +
.../plan/statement/crud/InsertTabletStatement.java | 18 +
.../plan/statement/crud/QueryStatement.java | 9 +
.../attribute/update/UpdateDetailContainer.java | 2 +-
.../schemaregion/impl/SchemaRegionMemoryImpl.java | 29 +-
.../read/resp/info/impl/ShowDevicesResult.java | 2 +-
.../db/schemaengine/table/DataNodeTableCache.java | 28 +-
.../template/TemplateInternalRPCUpdateType.java | 5 +-
.../iotdb/db/service/RegionMigrateService.java | 18 +
.../buffer/TimeSeriesMetadataCache.java | 23 +-
.../db/storageengine/dataregion/DataRegion.java | 11 +-
.../dataregion/VirtualDataRegion.java | 2 +-
.../task/InsertionCrossSpaceCompactionTask.java | 10 +-
.../execute/utils/MultiTsFileDeviceIterator.java | 5 +-
.../writer/AbstractCrossCompactionWriter.java | 25 +-
.../utils/writer/FastCrossCompactionWriter.java | 12 +
.../memtable/AlignedReadOnlyMemChunk.java | 248 ++--
.../memtable/AlignedWritableMemChunk.java | 166 +--
.../dataregion/memtable/ReadOnlyMemChunk.java | 160 +--
.../dataregion/memtable/WritableMemChunk.java | 164 +--
.../read/reader/chunk/MemAlignedChunkReader.java | 154 +--
.../read/reader/chunk/MemAlignedPageReader.java | 22 +-
.../read/reader/chunk/MemChunkReader.java | 111 +-
.../read/reader/chunk/MemPageReader.java | 23 +-
.../dataregion/tsfile/TsFileResource.java | 68 +-
.../dataregion/tsfile/TsFileResourceBlockType.java | 3 +
.../tsfile/timeindex/ArrayDeviceTimeIndex.java | 15 +-
.../dataregion/tsfile/timeindex/FileTimeIndex.java | 2 +-
.../wal/recover/file/TsFilePlanRedoer.java | 27 +-
.../dataregion/wal/utils/WALEntryHandler.java | 4 +-
.../dataregion/wal/utils/WALInsertNodeCache.java | 11 +-
...leStatementDataTypeConvertExecutionVisitor.java | 1 +
.../load/memory/LoadTsFileMemoryManager.java | 27 +-
.../rescon/memory/TimePartitionManager.java | 4 +-
.../db/tools/schema/SRStatementGenerator.java | 23 +-
.../apache/iotdb/db/utils/ErrorHandlingUtils.java | 3 +-
.../db/utils/datastructure/AlignedTVList.java | 464 +++++--
.../{SortKey.java => MemPointIterator.java} | 12 +-
.../datastructure/MemPointIteratorFactory.java | 381 ++++++
.../MergeSortAlignedTVListIterator.java | 194 ---
.../MergeSortMultiAlignedTVListIterator.java | 176 +++
.../MergeSortMultiTVListIterator.java | 83 ++
.../datastructure/MergeSortTVListIterator.java | 180 ---
.../datastructure/MultiAlignedTVListIterator.java | 241 ++++
.../utils/datastructure/MultiTVListIterator.java | 179 +++
.../OrderedMultiAlignedTVListIterator.java | 116 ++
...TVList.java => OrderedMultiTVListIterator.java} | 43 +-
.../iotdb/db/utils/datastructure/TVList.java | 215 ++-
.../db/pipe/consensus/DeletionResourceTest.java | 7 +-
.../pipe/event/TsFileInsertionEventParserTest.java | 4 +-
.../db/pipe/extractor/PipeRealtimeExtractTest.java | 5 +
.../pattern/CachedSchemaPatternMatcherTest.java | 53 +-
.../process/tvf/TableFunctionOperatorTest.java | 302 +++++
.../plan/analyze/FakePartitionFetcherImpl.java | 5 -
.../db/queryengine/plan/function/Exclude.java | 89 ++
.../iotdb/db/queryengine/plan/function/Repeat.java | 106 ++
.../iotdb/db/queryengine/plan/function/Split.java | 98 ++
.../plan/parser/StatementGeneratorTest.java | 2 +-
.../plan/planner/distribution/Util.java | 5 -
.../plan/planner/distribution/Util2.java | 5 -
.../plan/relational/analyzer/AggregationTest.java | 305 ++---
.../plan/relational/analyzer/AnalyzerTest.java | 152 +--
.../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 | 35 +-
.../relational/analyzer/TableFunctionTest.java | 311 +++++
.../plan/relational/analyzer/TestMatadata.java | 39 +-
.../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 | 24 +-
.../planner/assertions/PlanMatchingVisitor.java | 12 +-
.../planner/assertions/SpecificationProvider.java | 79 ++
.../assertions/TableFunctionProcessorMatcher.java | 303 +++++
.../compaction/CompactionWithMinTimestampTest.java | 136 ++
.../FastCrossCompactionPerformerTest.java | 78 ++
.../dataregion/memtable/TsFileProcessorTest.java | 28 +-
.../reader/chunk/AlignedMemPageReaderTest.java | 8 +-
.../reader/chunk/MemAlignedChunkLoaderTest.java | 12 +-
.../read/reader/chunk/MemChunkLoaderTest.java | 58 +-
.../read/reader/chunk/MemPageReaderTest.java | 4 +-
.../wal/recover/file/TsFilePlanRedoerTest.java | 69 +
.../commons/auth/authorizer/BasicAuthorizer.java | 35 +-
.../iotdb/commons/auth/authorizer/IAuthorizer.java | 10 +-
.../org/apache/iotdb/commons/auth/entity/Role.java | 4 +
.../iotdb/commons/auth/user/BasicUserManager.java | 12 +-
.../apache/iotdb/commons/conf/CommonConfig.java | 56 +-
.../iotdb/commons/conf/CommonDescriptor.java | 33 +-
.../consensus/index/impl/HybridProgressIndex.java | 4 +-
.../apache/iotdb/commons/memory/IMemoryBlock.java | 3 -
.../commons/pipe/agent/task/PipeTaskAgent.java | 2 +-
.../task/subtask/PipeAbstractConnectorSubtask.java | 4 +-
.../agent/task/subtask/PipeReportableSubtask.java | 13 +-
.../iotdb/commons/pipe/config/PipeConfig.java | 34 +-
.../config/constant/PipeConnectorConstant.java | 4 +
.../config/constant/PipeExtractorConstant.java | 12 +
.../queue/ConcurrentIterableLinkedQueue.java | 30 +
.../iotdb/commons/pipe/event/EnrichedEvent.java | 28 +
.../commons/pipe/event/PipeSnapshotEvent.java | 4 +
.../commons/pipe/event/PipeWritePlanEvent.java | 4 +
.../commons/pipe/event/ProgressReportEvent.java | 25 +-
.../commons/pipe/extractor/IoTDBExtractor.java | 48 +-
.../extractor/IoTDBNonDataRegionExtractor.java | 74 +-
.../pipe/receiver/PipeReceiverStatusHandler.java | 8 +
.../schema/table/column/TsTableColumnCategory.java | 2 +-
.../commons/schema/view/LogicalViewSchema.java | 13 +-
.../multi/FunctionViewExpression.java | 14 +
.../viewExpression/unary/LikeViewExpression.java | 84 +-
.../iotdb/commons/service/metric/enums/Metric.java | 1 +
.../commons/subscription/meta/topic/TopicMeta.java | 3 +
.../iotdb/commons/udf/access/RecordIterator.java | 141 +-
.../relational/TableBuiltinTableFunction.java | 50 +-
.../builtin/relational/tvf/HOPTableFunction.java | 153 +++
.../org/apache/iotdb/commons/utils/RetryUtils.java | 8 +
.../iotdb/commons/utils/TimePartitionUtils.java | 7 +-
.../ConcurrentIterableLinkedQueueTest.java | 1 +
.../schema/LikeViewExpreesionSerDeTest.java | 48 +
.../db/relational/grammar/sql/RelationalSql.g4 | 32 +-
.../src/main/thrift/confignode.thrift | 4 +-
.../src/main/thrift/datanode.thrift | 11 +-
418 files changed, 16782 insertions(+), 4498 deletions(-)
create mode 100644
example/udf/src/main/java/org/apache/iotdb/udf/table/ExcludeColumnExample.java
create mode 100644
example/udf/src/main/java/org/apache/iotdb/udf/table/RepeatExample.java
create mode 100644
example/udf/src/main/java/org/apache/iotdb/udf/table/SplitExample.java
create mode 100644
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/relational/MyErrorTableFunction.java
create mode 100644
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/relational/MyExcludeColumn.java
create mode 100644
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/relational/MyRepeatWithIndex.java
create mode 100644
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/relational/MyRepeatWithoutIndex.java
create mode 100644
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/relational/MySplit.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/manual/basic/IoTDBPipePermissionIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/pipe/it/single/IoTDBPipePermissionIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/udf/IoTDBUserDefinedTableFunctionIT.java
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%)
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/TableFunctionAnalysis.java
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/TableFunctionProcessorProvider.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/FunctionKind.java
=>
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/argument/Argument.java
(58%)
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/argument/DescribedSchema.java
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/argument/ScalarArgument.java
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/argument/TableArgument.java
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/processor/TableFunctionDataProcessor.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Literal.java
=>
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/processor/TableFunctionLeafProcessor.java
(58%)
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/specification/ParameterSpecification.java
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/specification/ScalarParameterSpecification.java
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/specification/TableParameterSpecification.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/extractor/PipeConfigPhysicalPlanTablePrivilegeParseVisitor.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/NotifyRegionMigrationProcedure.java
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/{RemoveAINodeState.java
=> NotifyRegionMigrationState.java} (93%)
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/pipe/extractor/schemaregion/{PipePlanTablePatternParseVisitor.java
=> PipePlanTablePrivilegeParseVisitor.java} (59%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/schemaregion/PipeStatementToPlanVisitor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/PartitionRecognizer.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/TableFunctionLeafOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/TableFunctionOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/partition/PartitionState.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/partition/Slice.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/partition/SliceCache.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/{type/TypeNotFoundException.java
=> analyzer/tablefunction/ArgumentAnalysis.java} (53%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/{sql/ast/ShowConfigNodes.java
=> analyzer/tablefunction/ArgumentsAnalysis.java} (50%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/tablefunction/TableArgumentAnalysis.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/tablefunction/TableFunctionInvocationAnalysis.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/DataOrganizationSpecification.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementTableFunctionSource.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneTableFunctionProcessorColumns.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneTableFunctionProcessorSourceColumns.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/TableFunctionNode.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/TableFunctionProcessorNode.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{NotExpression.java
=> Columns.java} (64%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{Table.java
=> TableFunctionArgument.java} (57%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{Table.java
=> TableFunctionInvocation.java} (58%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/TableFunctionTableArgument.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/{SortKey.java
=> MemPointIterator.java} (82%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/MemPointIteratorFactory.java
delete mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/MergeSortAlignedTVListIterator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/MergeSortMultiAlignedTVListIterator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/MergeSortMultiTVListIterator.java
delete mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/MergeSortTVListIterator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/MultiAlignedTVListIterator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/MultiTVListIterator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/OrderedMultiAlignedTVListIterator.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/{TimAlignedTVList.java
=> OrderedMultiTVListIterator.java} (50%)
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/tvf/TableFunctionOperatorTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/function/Exclude.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/function/Repeat.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/function/Split.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TableFunctionTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/SpecificationProvider.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/TableFunctionProcessorMatcher.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/CompactionWithMinTimestampTest.java
copy
integration-test/src/main/java/org/apache/iotdb/itbase/constant/BuiltinAggregationFunctionEnum.java
=>
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/relational/TableBuiltinTableFunction.java
(53%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/HOPTableFunction.java
create mode 100644
iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/schema/LikeViewExpreesionSerDeTest.java