You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ch...@apache.org on 2024/12/25 13:58:15 UTC

(iotdb) branch udtf updated (5e6907bbcce -> 6e7f105122c)

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

chenyz pushed a change to branch udtf
in repository https://gitbox.apache.org/repos/asf/iotdb.git


    from 5e6907bbcce save
     add b53e1ba569b Bump jackson-databind to 2.16.2
     add ac18bbf5ca4 Print current trusted_uri_pattern is error msg
     add dbdd736ab34 When the device is missing from the resource, this part of the data may be lost during file repair (#14411)
     add edc318540ff Pipe: Add login logic to receiver handshake (#14401)
     add f68726f8b81 Pipe: Fix "waitHandshakeFinished" may wait forever when asyncClientManager is closed (#14373)
     add e80b9927c9e Subscription: fix ConcurrentModificationException for `ConsumerGroupMeta` & fix the logic of `isTopicSubscribedByConsumerGroup` & avoid consumer from outputting too much content in string form (#14425)
     add 2165bf49beb Add Create Trigger without using uri IT
     add 992abd67952 Add stream mode to iotv2 region migration it (#14417)
     add f62d058a796 [IOTDB-6353] replace cglib to byte-buddy (#14426)
     add 325b8d8fd01 Fix error in MergeSortJoin when some columns exist null values & Support cross join with filters
     add 69fb8dc479b Pipe: fix the reference count leak of events in async connector during restart (#14324)
     add 0d22f2b3f35 Load: flush metadata of generated files to avoid OOM (#14419)
     add eb3f554d654 Load: when table exists in IoTDB, make sure the existing/incoming ID columns are the prefix of the incoming/existing ID columns (#14341)
     add 78ec1c9f825 Load: Fix Memory Allocation and Release Mismatch in LoadTsFileDataCacheMemoryBlock (#14375)
     add 65f3ad46274 [To dev/1.3]Support auto mkdirs in ExportData (#14378) (#14400)
     add 0c444734d50 Load: fix that empty measurement in aligned devices may cause warnings (#14444)
     add fbd17931ebc Pipe: Fixed the bug that the handling logic of return status is not of use in convert execution visitor (#14443)
     add 0d69f7149b8 Pipe: Fix the null pointer exception when the receiver closes the Session (#14446)
     add f6b16ed0aec Pipe: Added permission check for config receiver (#14418)
     add 6a28a0792c3 Pipe: Introduce a minimum restart interval to optimize the restart strategy to avoid frequent restarts & Stay tsfile extraction mode if the task is currently restarted (#14374)
     add d3f63920531 Bump h2-mvstore to 2.3.232 (#14450)
     add 5f7b570aa5d Fix ratis byte limit configuration too small (#14449)
     add aa8e21c664f Fix ThreadPool Metric NPE #14459
     add 9df0030ebca Add TsfileSize column to 'show regions' (#14436)
     add 6efe1125c8f Fix query scan will return duplicated timestamp or unordered timestamp while TsFileResource degrading
     add b5fe66ee754 Add eviction metrics in binary allocator (#14432)
     add 7d6753a81c9 Bump ratis to 3.1.2-a862328-SNAPSHOT
     add addbf964e4a Pipe: Do not stop runtime agent when removing datanode (#14474)
     add ef6a06a2def Subscription: allow generate subsequent events with the same tablet batch to avoid large message & improve poll logic to avoid unnecessary nack (#14452)
     add 59dac3272a6 [TABLE MODEL] Support user-defined aggregate function
     add 876d8469515 fix checkNonAlignedDeviceSeries (#14461)
     add 91b672da649 Allow hot reloading compaction from disabled status (#14470)
     add 067b0b35f51 Initialize compaction schedule even when compaction is not enabled (#14479)
     add 55b37e0d14a Pipe: Fix infinite loop when thread is interrupted in invoking PipeMemoryBlock#close & Avoid throwing new InterruptedException in conditions that can be self-restoring (#14471)
     add 72c803fa981 Table model insertion auto-cast & Fix TVList not removed when all data are deleted. (#14391)
     add 2076bf6b86c Fix setting illegal default_storage_group_level does not report an error (#14477)
     add 2a26c6eb52b Pipe: Fixed the bug that auth plan with system privileges can not be transferred (#14489)
     add 0a8ad9751c6 Add format function in table model
     add c5547b09d6e Pipe & Subscription: support synonym database and table parameters for table model (#14487)
     add 640a0c7ac1b Isolate Show-Queries of TableModel and TreeModel
     add 67cd48da3fb Modify the UDF Time Dimension
     add 96f8c19a80b Subscription: fix NPE when building consumer with missing id & add more checker for topic operations using session (#14493)
     add 61fa8d6f004 Implement schema of 'information_schema' & Make AddLocation plan immune readOnly state
     add d34511a93f3 Fix error in template + sort + offset + limit + align by device
     add a877b82b819 Make the construction method of class TableAggTableScanOperator tidy
     add f013e975933 Remove redundant trim (#14502)
     add a04c752bc24 fix compaction task comparator & fix the conflicts between inner compaction selection conditions (#14495)
     add f215c4225a1 Revert "[IOTDB-6353] replace cglib to byte-buddy (#14426)" (#14497)
     add 81db737e325 Add lock for insertSeparatorToWAL (#14478)
     add 50241423ef8 Apply new configurations in memory before update file (#14500)
     add aee90fb8442 Separate table/tree model database & Added SchemaRegionGroupNum / dataRegionGroupNum in table databases details & Optimized the message for table flush operation with database
     add 1bb5667a549 add Content-Type in prometheus reporter (#14507)
     add 97046f9023c Encountering empty tablets during batch export of tsfile does not affect subsequent export tasks (#14484)
     add fa4f6da8da0 Added the missed separate mTree logic for tree/table database plans (#14509)
     add 4a6a9ed406f fix: docker replace conf sh (#14518)
     add e704935dead reduce useless loops (#14513)
     add c0de204cd35 feat: add DEFAULT_SQL_DIALECT for start-cli (#14519)
     add c059bcc2068 Feature add support for query, nonQuery, and insertTablet interfaces for table models in the REST service (#14165)
     add 5fe299a7c67 Fix error msg of Inpredicate
     add 7d92f475296 [region migration] Make peer list correct when IoTConsensus & IoTConsensusV2 & Ratis starting (#14505)
     add 88e8800487f Bump jinja2 from 3.1.4 to 3.1.5 in /iotdb-core/ainode (#14530)
     add e54e8cc3988 increase the memory used in UT (#14528)
     add 615da741337 Fixed the bug that database "root" in tree model can be created
     add 1ca1f9c0b91 Fixed the bug that nodes with non-trivial wildcards are not correctly handled in mods setting (#12978)
     add 6b53f75482e Fix load data region snapshot miss some writing metrics (#14532)
     add 1464446ca6d DataRegionMetric was not deleted when the DataRegion was removed (#14506)
     add 3ae23550d61 [region migration] Log optimization (#14536)
     add 17729a987b2 [remove datanode] Remove LoadScore sort to fix RegionPriority order (#14527)
     add d2f95b87e65 Pipe: Receiver write table model data type conversion test (#14499)
     add 159e558eadd Subscription: improve `createTopic` API with nullable properties or when if not exists cond is set (#14516)
     add 99221da8ca8 Load: detect region replica set changes due to Region Migration (#14104)
     add 54ab67c2f41 [Py-client] rename table concept (#14531)
     add 4e76b3d1333 Add database name for table model CLI
     add 266c3b08fdc Compaction task can not stopped when abort compaction (#14538)
     add 3238ec257a1 Add the used memory calculation for DescPriorityMergeReader which is missed before (#14548)
     new 6e7f105122c merge master

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/unit-test.yml                    |    2 +-
 .../main/DockerCompose/replace-conf-from-env.sh    |   33 +-
 .../java/org/apache/iotdb/TableHttpExample.java    |  223 ++
 .../java/org/apache/iotdb/TableHttpsExample.java   |  223 ++
 .../it/env/cluster/config/MppCommonConfig.java     |   18 +
 .../env/cluster/config/MppSharedCommonConfig.java  |   21 +
 .../it/env/remote/config/RemoteCommonConfig.java   |   10 +
 .../org/apache/iotdb/itbase/env/CommonConfig.java  |    8 +
 .../IoTDBRegionMigrateNormalITForIoTV2Batch.java}  |    5 +-
 .../IoTDBRegionMigrateOtherITForIoTV2Batch.java}   |    5 +-
 .../IoTDBRegionMigrateNormalITForIoTV2Stream.java} |   19 +-
 .../IoTDBRegionMigrateOtherITForIoTV2Stream.java}  |   19 +-
 ...torCrashWhenRemoveRemotePeerForIoTV2Batch.java} |    4 +-
 ...DBRegionMigrateDataNodeCrashForIoTV2Batch.java} |    4 +-
 ...inalCrashWhenDeleteLocalPeerForIoTV2Batch.java} |    4 +-
 ...nalCrashWhenRemoveRemotePeerForIoTV2Batch.java} |    4 +-
 ...orCrashWhenRemoveRemotePeerForIoTV2Stream.java} |   17 +-
 ...BRegionMigrateDataNodeCrashForIoTV2Stream.java} |   17 +-
 ...nalCrashWhenDeleteLocalPeerForIoTV2Stream.java} |   18 +-
 ...alCrashWhenRemoveRemotePeerForIoTV2Stream.java} |   18 +-
 .../IoTDBRegionMigrateClusterCrashIoTV2Batch.java} |    4 +-
 ...TDBRegionMigrateConfigNodeCrashIoTV2Batch.java} |    4 +-
 ...IoTDBRegionMigrateClusterCrashIoTV2Stream.java} |   17 +-
 ...DBRegionMigrateConfigNodeCrashIoTV2Stream.java} |   18 +-
 .../apache/iotdb/db/it/IoTDBFileTimeIndexIT.java   |  117 +
 .../iotdb/db/it/IoTDBSetConfigurationIT.java       |   60 +
 .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java |    1 -
 .../IoTDBAlignByDeviceWithTemplateIT.java          |   28 +-
 .../db/it/query/IoTDBEncryptionValueQueryIT.java   |    2 +-
 .../iotdb/db/it/schema/IoTDBCreateDatabaseIT.java  |  193 ++
 .../db/it/schema/IoTDBCreateStorageGroupIT.java    |  153 --
 .../db/it/schema/IoTDBDeleteStorageGroupIT.java    |    4 +-
 .../db/it/trigger/IoTDBTriggerManagementIT.java    |   47 +
 .../org/apache/iotdb/db/it/utils/TestUtils.java    |   42 +
 .../iotdb/pipe/it/manual/IoTDBPipeInclusionIT.java |   12 +-
 .../pipe/it/manual/IoTDBPipeMetaHistoricalIT.java  |   12 +-
 .../pipe/it/manual/IoTDBPipePermissionIT.java      |   71 +-
 .../pipe/it/tablemodel/IoTDBPipeClusterIT.java     |    3 +-
 .../IoTDBPipeTypeConversionISessionIT.java         |  497 ++++
 .../it/tablemodel/IoTDBPipeTypeConversionIT.java   |  632 +++++
 .../pipe/it/tablemodel/IoTDBPipeWithLoadIT.java    |  246 ++
 .../it/tablemodel/IoTDBTablePatternFormatIT.java   |    2 +-
 .../it/db/it/IoTDBFlushQueryTableIT.java           |    8 +-
 .../db/it/IoTDBMultiIDsWithAttributesTableIT.java  |  245 +-
 .../it/query/old/IoTDBSimpleQueryTableIT.java      |   20 +-
 .../scalar/IoTDBFormatFunctionTableIT.java         |  190 ++
 .../it/query/recent/IoTDBTableAggregationIT.java   |    3 +-
 .../it/rest/it/IoTDBRestServiceCaseWhenThenIT.java |  492 ++++
 .../it/rest/it/IoTDBRestServiceFlushQueryIT.java   |  311 +++
 .../relational/it/rest/it/IoTDBRestServiceIT.java  |  350 +++
 .../it/IoTDBRestServiceInsertAlignedValuesIT.java  |  366 +++
 .../iotdb/relational/it/rest/it/RestUtils.java     |  128 +
 .../relational/it/schema/IoTDBDatabaseIT.java      |  164 +-
 .../it/session}/IoTDBSessionRelationalIT.java      |  372 ++-
 .../it/local/IoTDBSubscriptionBasicIT.java         |   69 +
 .../param/IoTDBTestParamPullConsumerIT.java        |    8 +-
 .../param/IoTDBTestParamPushConsumerIT.java        |    8 +-
 .../regression/param/IoTDBTestParamTopicIT.java    |   11 +-
 .../apache/iotdb/tools/it/ExportTsFileTestIT.java  |    4 +-
 .../udf/api/relational/AggregateFunction.java      |   16 +-
 .../iotdb/udf/api/relational/access/Record.java    |    3 +-
 .../cli/src/assembly/resources/sbin/start-cli.bat  |   10 +
 .../cli/src/assembly/resources/sbin/start-cli.sh   |   17 +-
 .../java/org/apache/iotdb/cli/AbstractCli.java     |   26 +-
 .../src/main/java/org/apache/iotdb/cli/Cli.java    |    4 +-
 .../org/apache/iotdb/tool/data/ExportData.java     |    5 +-
 .../org/apache/iotdb/tool/tsfile/ExportTsFile.java |   37 +-
 iotdb-client/client-py/iotdb/utils/NumpyTablet.py  |    2 +-
 iotdb-client/client-py/iotdb/utils/Tablet.py       |    6 +-
 .../client-py/table_model_session_example.py       |    2 +-
 .../client-py/table_model_session_pool_example.py  |    2 +-
 .../tests/integration/test_relational_session.py   |    2 +-
 .../tests/integration/test_tablemodel_insert.py    |  156 +-
 .../org/apache/iotdb/jdbc/IoTDBConnection.java     |    4 +
 .../iotdb/rpc/subscription/config/TopicConfig.java |    9 +-
 .../rpc/subscription/config/TopicConstant.java     |    8 +-
 .../session/subscription/SubscriptionSession.java  |   17 +-
 .../consumer/SubscriptionConsumer.java             |   36 +-
 .../consumer/SubscriptionPullConsumer.java         |    7 +-
 .../consumer/SubscriptionPushConsumer.java         |    3 +-
 .../session/subscription/util/CollectionUtils.java |   14 +-
 .../session/subscription/util/IdentifierUtils.java |   10 +-
 iotdb-core/ainode/poetry.lock                      |    8 +-
 .../heartbeat/DataNodeHeartbeatHandler.java        |    3 +
 .../confignode/conf/ConfigNodeDescriptor.java      |  600 ++---
 .../read/ainode/GetAINodeConfigurationPlan.java    |   15 -
 .../request/read/database/CountDatabasePlan.java   |   15 +-
 .../request/read/database/GetDatabasePlan.java     |    7 +-
 .../request/read/model/GetModelInfoPlan.java       |   16 -
 .../request/read/model/ShowModelPlan.java          |   20 -
 .../database/AdjustMaxRegionGroupNumPlan.java      |   20 +-
 .../request/write/quota/SetSpaceQuotaPlan.java     |    2 +-
 .../write/region/CreateRegionGroupsPlan.java       |   39 +-
 .../statemachine/ConfigRegionStateMachine.java     |    4 +-
 .../exception/NoAvailableRegionGroupException.java |    2 +-
 .../confignode/manager/ClusterQuotaManager.java    |    8 +-
 .../iotdb/confignode/manager/ConfigManager.java    |  132 +-
 .../apache/iotdb/confignode/manager/IManager.java  |    6 +-
 .../iotdb/confignode/manager/ProcedureManager.java |   19 +-
 .../iotdb/confignode/manager/load/LoadManager.java |   13 +-
 .../manager/load/balancer/PartitionBalancer.java   |   18 +-
 .../manager/load/balancer/RegionBalancer.java      |   28 +-
 .../manager/load/balancer/RouteBalancer.java       |    7 +-
 .../router/priority/GreedyPriorityBalancer.java    |   42 +-
 .../router/priority/IPriorityBalancer.java         |    5 +-
 .../router/priority/LeaderPriorityBalancer.java    |   21 +-
 .../confignode/manager/load/cache/LoadCache.java   |   29 +-
 .../iotdb/confignode/manager/node/NodeManager.java |    8 +-
 .../manager/partition/PartitionManager.java        |  151 +-
 .../manager/partition/PartitionMetrics.java        |    3 +-
 .../PipeConfigPhysicalPlanPatternParseVisitor.java |   12 +-
 .../receiver/protocol/IoTDBConfigNodeReceiver.java |  131 +
 .../manager/schema/ClusterSchemaManager.java       |  102 +-
 .../persistence/executor/ConfigPlanExecutor.java   |   14 +-
 .../partition/DatabasePartitionTable.java          |    5 +-
 .../persistence/partition/PartitionInfo.java       |   47 +-
 .../confignode/persistence/pipe/PipeTaskInfo.java  |   12 +-
 .../persistence/schema/ClusterSchemaInfo.java      |  318 +--
 .../confignode/persistence/schema/ConfigMTree.java |   57 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |   15 +-
 .../procedure/env/RegionMaintainHandler.java       |   29 +-
 .../impl/region/AddRegionPeerProcedure.java        |   12 +-
 .../impl/region/CreateRegionGroupsProcedure.java   |   51 +-
 .../impl/region/RegionMigrateProcedure.java        |   34 +-
 .../impl/region/RemoveRegionPeerProcedure.java     |   22 +-
 .../impl/schema/AlterLogicalViewProcedure.java     |  110 +-
 .../impl/schema/DeactivateTemplateProcedure.java   |    2 +-
 .../impl/schema/DeleteTimeSeriesProcedure.java     |    2 +-
 .../impl/schema/table/CreateTableProcedure.java    |  119 +-
 .../impl/schema/table/DeleteDevicesProcedure.java  |   33 +-
 .../schema/table/DropTableColumnProcedure.java     |   23 +-
 .../impl/schema/table/DropTableProcedure.java      |   43 +-
 .../procedure/state/schema/CreateTableState.java   |    1 -
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   75 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |   21 +-
 .../router/priority/GreedyPriorityTest.java        |   13 +-
 .../priority/LeaderPriorityBalancerTest.java       |   65 +-
 .../confignode/persistence/PartitionInfoTest.java  |   16 +-
 .../persistence/schema/ClusterSchemaInfoTest.java  |    2 +-
 .../persistence/schema/ConfigMTreeTest.java        |   15 +-
 .../schema/table/AddTableColumnProcedureTest.java  |    2 +-
 .../schema/table/CreateTableProcedureTest.java     |    3 +-
 .../schema/table/DeleteDevicesProcedureTest.java   |    2 +-
 .../schema/table/DropTableColumnProcedureTest.java |    2 +-
 .../impl/schema/table/DropTableProcedureTest.java  |    2 +-
 .../table/RenameTableColumnProcedureTest.java      |    2 +-
 .../table/SetTablePropertiesProcedureTest.java     |    2 +-
 .../org/apache/iotdb/consensus/IConsensus.java     |   21 +-
 .../apache/iotdb/consensus/iot/IoTConsensus.java   |  101 +-
 .../consensus/iot/IoTConsensusServerImpl.java      |   11 +-
 .../service/IoTConsensusRPCServiceProcessor.java   |   15 +-
 .../apache/iotdb/consensus/pipe/PipeConsensus.java |  139 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |   78 +-
 .../apache/iotdb/consensus/ratis/utils/Utils.java  |    3 +-
 .../iotdb/consensus/simple/SimpleConsensus.java    |   12 +-
 .../apache/iotdb/consensus/iot/ReplicateTest.java  |    4 -
 .../apache/iotdb/consensus/iot/StabilityTest.java  |   82 +-
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |    4 -
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   34 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  | 2580 ++++++--------------
 .../db/conf/rest/IoTDBRestServiceDescriptor.java   |   92 +-
 .../dataregion/DataExecutionVisitor.java           |    4 +
 .../{ => load}/LoadEmptyFileException.java         |    2 +-
 .../db/exception/{ => load}/LoadFileException.java |    2 +-
 .../{ => load}/LoadReadOnlyException.java          |    2 +-
 .../LoadRuntimeOutOfMemoryException.java           |    2 +-
 .../{ => load}/PartitionViolationException.java    |    2 +-
 .../load/RegionReplicaSetChangedException.java}    |   22 +-
 .../exception/metadata/DatabaseModelException.java |   53 -
 .../exception/sql/StatementAnalyzeException.java   |    4 +
 .../db/pipe/agent/task/PipeDataNodeTaskAgent.java  |   37 +
 .../subtask/connector/PipeConnectorSubtask.java    |    9 +
 .../client/IoTDBDataNodeAsyncClientManager.java    |   45 +-
 .../async/IoTDBDataRegionAsyncConnector.java       |   41 +-
 .../PipeTransferTabletBatchEventHandler.java       |   33 +-
 .../PipeTransferTabletInsertNodeEventHandler.java  |   14 +-
 .../PipeTransferTabletInsertionEventHandler.java   |   62 +-
 .../handler/PipeTransferTabletRawEventHandler.java |   15 +-
 .../handler/PipeTransferTrackableHandler.java      |   98 +
 .../async/handler/PipeTransferTsFileHandler.java   |   39 +-
 .../consensus/ConsensusPipeDataNodeDispatcher.java |   11 +
 .../deletion/persist/PageCacheDeletionBuffer.java  |    2 +-
 .../db/pipe/event/common/PipeInsertionEvent.java   |    6 +-
 .../common/tsfile/PipeTsFileInsertionEvent.java    |   17 +-
 .../dataregion/IoTDBDataRegionExtractor.java       |    6 +-
 ...oricalDataRegionTsFileAndDeletionExtractor.java |    9 +-
 .../realtime/PipeRealtimeDataRegionExtractor.java  |    4 +-
 .../PipeRealtimeDataRegionHybridExtractor.java     |   11 +-
 .../realtime/assigner/PipeDataRegionAssigner.java  |   18 +-
 .../protocol/airgap/IoTDBAirGapReceiver.java       |    7 +-
 .../protocol/legacy/loader/DeletionLoader.java     |    2 +-
 .../protocol/legacy/loader/TsFileLoader.java       |    2 +-
 .../pipeconsensus/PipeConsensusReceiver.java       |    2 +-
 .../protocol/thrift/IoTDBDataNodeReceiver.java     |   59 +-
 .../transform/converter/ValueConverter.java        |    4 +-
 .../statement/PipeConvertedInsertRowStatement.java |    7 +
 .../PipeConvertedInsertTabletStatement.java        |    7 +
 .../visitor/PipeStatementExceptionVisitor.java     |    2 +-
 ...leStatementDataTypeConvertExecutionVisitor.java |   10 +-
 ...eeStatementDataTypeConvertExecutionVisitor.java |   10 +-
 .../resource/memory/InsertNodeMemoryEstimator.java |    3 +
 .../db/pipe/resource/memory/PipeMemoryBlock.java   |   14 +-
 .../iotdb/db/protocol/client/ConfigNodeClient.java |    4 +-
 .../rest/table/v1/handler/ExceptionHandler.java    |   91 +
 .../table/v1/handler/ExecuteStatementHandler.java  |   84 +
 .../rest/table/v1/handler/QueryDataSetHandler.java |  219 ++
 .../table/v1/handler/RequestValidationHandler.java |  100 +
 .../v1/handler/StatementConstructionHandler.java   |  188 ++
 .../rest/table/v1/impl/RestApiServiceImpl.java     |  293 +++
 .../iotdb/db/protocol/session/SessionManager.java  |    4 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |   17 +-
 .../thrift/impl/DataNodeRegionManager.java         |   14 +-
 .../execution/executor/RegionWriteExecutor.java    |    7 +-
 .../comparator/AscBinaryTypeJoinKeyComparator.java |   48 +-
 .../AscBooleanTypeJoinKeyComparator.java           |   38 +-
 .../comparator/AscDoubleTypeJoinKeyComparator.java |   38 +-
 .../comparator/AscFloatTypeJoinKeyComparator.java  |   38 +-
 .../comparator/AscIntTypeJoinKeyComparator.java    |   38 +-
 .../comparator/AscLongTypeJoinKeyComparator.java   |   38 +-
 .../DescBinaryTypeJoinKeyComparator.java           |   48 +-
 .../DescBooleanTypeJoinKeyComparator.java          |   38 +-
 .../DescDoubleTypeJoinKeyComparator.java           |   38 +-
 .../comparator/DescFloatTypeJoinKeyComparator.java |   38 +-
 .../comparator/DescIntTypeJoinKeyComparator.java   |   38 +-
 .../comparator/DescLongTypeJoinKeyComparator.java  |   38 +-
 .../join/merge/comparator/JoinKeyComparator.java   |    8 +-
 .../merge/comparator/JoinKeyComparatorFactory.java |   15 +-
 .../execution/operator/source/SeriesScanUtil.java  |   30 +-
 .../operator/source/ShowQueriesOperator.java       |   23 +-
 .../relational/AbstractMergeSortJoinOperator.java  |  160 +-
 .../InformationSchemaContentSupplierFactory.java   |   33 +-
 .../relational/MergeSortFullOuterJoinOperator.java |   99 +-
 .../relational/MergeSortInnerJoinOperator.java     |   71 +-
 .../TableAggregationTableScanOperator.java         |  159 +-
 .../relational/aggregation/AccumulatorFactory.java |    9 +-
 .../UserDefinedAggregateFunctionAccumulator.java   |    1 +
 .../GroupedUserDefinedAggregateAccumulator.java    |    7 +-
 .../relational/ColumnTransformerBuilder.java       |    9 +
 .../db/queryengine/plan/analyze/Analysis.java      |   27 +-
 .../db/queryengine/plan/analyze/AnalyzeUtils.java  |   79 +-
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |   32 +-
 .../plan/analyze/ClusterPartitionFetcher.java      |   74 +-
 .../db/queryengine/plan/analyze/IAnalysis.java     |    2 +-
 .../plan/analyze/IPartitionFetcher.java            |   16 +-
 .../plan/analyze/TemplatedAggregationAnalyze.java  |    6 +-
 .../queryengine/plan/analyze/TemplatedAnalyze.java |    7 +-
 .../analyze/cache/partition/PartitionCache.java    |  103 +-
 .../plan/analyze/load/LoadTsFileAnalyzer.java      |    2 +-
 .../analyze/load/LoadTsFileTableSchemaCache.java   |    4 +-
 .../load/LoadTsFileToTableModelAnalyzer.java       |    7 +-
 .../load/LoadTsFileToTreeModelAnalyzer.java        |    2 +-
 .../analyze/load/LoadTsFileTreeSchemaCache.java    |    2 +-
 .../load/TreeSchemaAutoCreatorAndVerifier.java     |   18 +-
 .../plan/analyze/schema/SchemaValidator.java       |    6 +-
 .../plan/execution/IQueryExecution.java            |    3 +-
 .../queryengine/plan/execution/QueryExecution.java |   13 +-
 .../plan/execution/config/ConfigExecution.java     |    5 +-
 .../execution/config/TableConfigTaskVisitor.java   |   49 +-
 .../execution/config/TreeConfigTaskVisitor.java    |   17 +-
 .../config/executor/ClusterConfigTaskExecutor.java |   79 +-
 .../config/executor/IConfigTaskExecutor.java       |    4 +-
 .../execution/config/metadata/ShowRegionTask.java  |   18 +-
 .../relational/AbstractAlterOrDropTableTask.java   |    4 +-
 .../metadata/relational/CreateTableTask.java       |    4 +-
 .../config/metadata/relational/ShowDBTask.java     |   31 +-
 .../plan/execution/config/sys/FlushTask.java       |   18 +-
 .../db/queryengine/plan/parser/ASTVisitor.java     |   18 +-
 .../db/queryengine/plan/planner/IPlanner.java      |    4 +-
 .../plan/planner/LocalExecutionPlanner.java        |    9 +
 .../plan/planner/TableOperatorGenerator.java       |  360 ++-
 .../queryengine/plan/planner/TreeModelPlanner.java |    5 +-
 .../distribution/WriteFragmentParallelPlanner.java |    2 +-
 .../metadata/write/view/AlterLogicalViewNode.java  |   47 +-
 .../plan/node/write/RelationalDeleteDataNode.java  |   15 +-
 .../node/write/RelationalInsertTabletNode.java     |   14 +-
 .../plan/relational/analyzer/Analysis.java         |   58 +-
 .../relational/analyzer/StatementAnalyzer.java     |   53 +-
 .../plan/relational/metadata/Metadata.java         |    6 +-
 .../relational/metadata/TableMetadataImpl.java     |   80 +-
 .../plan/relational/metadata/TableSchema.java      |   27 +-
 .../fetcher/TableHeaderSchemaValidator.java        |   44 +-
 .../fetcher/cache/TableDeviceSchemaCache.java      |   63 +-
 .../plan/relational/planner/RelationPlanner.java   |    9 +-
 .../plan/relational/planner/TableModelPlanner.java |    5 +-
 .../distribute/TableDistributedPlanGenerator.java  |   69 +-
 .../plan/relational/planner/node/JoinNode.java     |    2 -
 .../node/schema/CreateOrUpdateTableDeviceNode.java |    5 +-
 .../schema/TableDeviceAttributeUpdateNode.java     |    9 +-
 .../DataNodeLocationSupplierFactory.java           |   12 +-
 .../planner/optimizations/JoinUtils.java           |   12 +-
 .../optimizations/PushPredicateIntoTableScan.java  |  173 +-
 .../optimizations/QueryCardinalityUtil.java        |   17 +
 .../plan/relational/security/AccessControl.java    |    2 +-
 .../relational/sql/ast/AbstractTraverseDevice.java |    1 +
 .../queryengine/plan/relational/sql/ast/Flush.java |    4 +-
 .../plan/relational/sql/ast/InsertRows.java        |    3 +-
 .../relational/sql/ast/WrappedInsertStatement.java |   23 +-
 .../plan/relational/sql/parser/AstBuilder.java     |   55 +-
 .../plan/relational/sql/rewrite/ShowRewrite.java   |    4 +-
 .../scheduler/load/LoadTsFileDispatcherImpl.java   |    2 +-
 .../plan/scheduler/load/LoadTsFileScheduler.java   |  134 +-
 .../db/queryengine/plan/statement/Statement.java   |    8 +-
 .../plan/statement/crud/InsertBaseStatement.java   |   13 +-
 .../plan/statement/crud/InsertRowStatement.java    |    4 +-
 .../plan/statement/crud/InsertTabletStatement.java |    5 +-
 .../statement/metadata/ShowDatabaseStatement.java  |   12 +-
 .../plan/statement/sys/FlushStatement.java         |   33 +-
 .../unary/scalar/FormatColumnTransformer.java      |  119 +
 .../apache/iotdb/db/schemaengine/SchemaEngine.java |   60 +-
 .../schemaregion/ISchemaRegionParams.java          |    3 +-
 .../schemaregion/SchemaRegionParams.java           |   11 +-
 .../GeneralRegionAttributeSecurityService.java     |    6 +-
 .../schemaregion/impl/SchemaRegionMemoryImpl.java  |   13 +-
 .../schemaregion/impl/SchemaRegionPBTreeImpl.java  |    6 +-
 .../mtree/impl/mem/MTreeBelowSGMemoryImpl.java     |    2 +-
 .../schemaengine/schemaregion/utils/MetaUtils.java |    9 +-
 .../db/schemaengine/table/DataNodeTableCache.java  |   55 +-
 .../schemaengine/table/InformationSchemaUtils.java |  186 ++
 .../java/org/apache/iotdb/db/service/DataNode.java |   91 +-
 .../iotdb/db/service/metrics/FileMetrics.java      |    5 +
 .../db/service/metrics/file/TsFileMetrics.java     |   67 +-
 .../iotdb/db/storageengine/StorageEngine.java      |   40 +-
 .../db/storageengine/dataregion/DataRegion.java    |   43 +-
 .../performer/impl/FastCompactionPerformer.java    |   15 +
 .../impl/ReadPointCompactionPerformer.java         |    6 +-
 .../RepairUnsortedFileCompactionPerformer.java     |   13 +
 .../execute/utils/MultiTsFileDeviceIterator.java   |    7 +-
 .../compaction/repair/RepairDataFileScanUtil.java  |    2 +-
 .../compaction/schedule/CompactionTaskManager.java |   15 +-
 .../compaction/schedule/CompactionWorker.java      |    7 +-
 .../DefaultCompactionTaskComparatorImpl.java       |   16 +-
 .../impl/NewSizeTieredCompactionSelector.java      |    2 +-
 .../dataregion/memtable/AbstractMemTable.java      |    4 +-
 .../memtable/AlignedWritableMemChunk.java          |    6 +-
 .../memtable/AlignedWritableMemChunkGroup.java     |    5 +
 .../memtable/IWritableMemChunkGroup.java           |    2 +
 .../dataregion/memtable/WritableMemChunkGroup.java |    5 +
 .../dataregion/read/QueryDataSource.java           |   14 +-
 .../reader/common/CachedPriorityMergeReader.java   |   97 -
 .../reader/common/DescPriorityMergeReader.java     |   16 +-
 .../read/reader/common/PriorityMergeReader.java    |   22 +-
 .../dataregion/tsfile/TsFileResource.java          |   14 +-
 .../tsfile/timeindex/ArrayDeviceTimeIndex.java     |    2 +-
 .../dataregion/tsfile/timeindex/FileTimeIndex.java |    2 +-
 .../dataregion/tsfile/timeindex/ITimeIndex.java    |    2 +-
 .../wal/allocation/FirstCreateStrategy.java        |    1 +
 .../storageengine/dataregion/wal/node/WALNode.java |    8 +-
 .../db/storageengine/load/LoadTsFileManager.java   |   63 +-
 .../memory/LoadTsFileAnalyzeSchemaMemoryBlock.java |    4 +-
 .../memory/LoadTsFileDataCacheMemoryBlock.java     |   43 +-
 .../load/memory/LoadTsFileMemoryManager.java       |   17 +-
 .../load/splitter/TsFileSplitter.java              |   35 +-
 .../rescon/memory/TsFileResourceManager.java       |   17 +
 .../db/subscription/broker/SubscriptionBroker.java |  104 +-
 .../broker/SubscriptionPrefetchingQueue.java       |    7 +-
 .../db/subscription/broker/SubscriptionStates.java |   30 +-
 .../event/SubscriptionCommitContextSupplier.java}  |   11 +-
 .../db/subscription/event/SubscriptionEvent.java   |   14 +-
 .../batch/SubscriptionPipeTabletEventBatch.java    |   57 +-
 .../SubscriptionEventExtendableResponse.java       |    6 -
 .../event/response/SubscriptionEventResponse.java  |    7 +
 .../response/SubscriptionEventTabletResponse.java  |   60 +-
 .../response/SubscriptionEventTsFileResponse.java  |    2 +-
 .../receiver/SubscriptionReceiverV1.java           |    2 +-
 .../db/tools/schema/SRStatementGenerator.java      |    3 +-
 .../org/apache/iotdb/db/utils/CommonUtils.java     |   86 -
 .../org/apache/iotdb/db/utils/DateTimeUtils.java   |    5 +
 .../db/utils/datastructure/AlignedTVList.java      |   26 +-
 .../apache/iotdb/db/metadata/MetaUtilsTest.java    |    9 +-
 .../iotdb/db/metadata/path/PatternTreeMapTest.java |   41 +-
 .../schemaRegion/AbstractSchemaRegionTest.java     |    4 +-
 .../SchemaRegionSimpleRecoverTest.java             |    5 +-
 .../schemaRegion/SchemaRegionTableDeviceTest.java  |   10 +-
 .../schemaRegion/SchemaRegionTestUtil.java         |    3 +-
 .../schemaRegion/SchemaStatisticsTest.java         |    2 +-
 .../operator/MergeTreeSortOperatorTest.java        |    4 +-
 .../plan/analyze/FakePartitionFetcherImpl.java     |    5 -
 .../plan/analyze/cache/PartitionCacheTest.java     |    8 +-
 .../plan/planner/distribution/Util.java            |    5 -
 .../plan/planner/distribution/Util2.java           |    5 -
 .../plan/relational/analyzer/AnalyzerTest.java     |   55 +-
 .../plan/relational/analyzer/JoinTest.java         |  268 +-
 .../analyzer/MockTableModelDataPartition.java      |   17 +-
 .../plan/relational/analyzer/ShowQueriesTest.java  |   20 +-
 .../plan/relational/analyzer/TSBSMetadata.java     |   11 +-
 .../plan/relational/analyzer/TestMatadata.java     |   74 +-
 .../plan/relational/planner/SubqueryTest.java      |    1 +
 .../planner/assertions/EquiJoinClauseProvider.java |    4 +-
 .../planner/assertions/PlanMatchPattern.java       |   14 +-
 .../relational/planner/assertions/SymbolAlias.java |    4 +-
 .../plan/statement/InsertStatementTest.java        |    5 +-
 .../DataNodeInternalRPCServiceImplTest.java        |    3 +-
 .../iotdb/db/storageengine/StorageEngineTest.java  |    2 +
 .../BatchedCompactionWithTsFileSplitterTest.java   |   15 +-
 .../compaction/CompactionTaskComparatorTest.java   |    2 +-
 .../compaction/CompactionWorkerTest.java           |   33 +
 .../NewSizeTieredCompactionSelectorTest.java       |   30 +
 .../repair/RepairUnsortedFileCompactionTest.java   |   44 +
 ...SeriesReader.java => AscFakedSeriesReader.java} |   28 +-
 .../read/reader/common/DescFakedSeriesReader.java  |   54 +
 .../reader/common/PriorityMergeReaderTest.java     |  113 +-
 .../reader/common/PriorityMergeReaderTest2.java    |   59 -
 .../rescon/memory/ResourceManagerTest.java         |   39 +
 .../org/apache/iotdb/db/tools/MLogParserTest.java  |    5 +-
 .../db/utils/SchemaRegionSnapshotParserTest.java   |   89 +-
 .../reporter/prometheus/PrometheusReporter.java    |    5 +-
 .../conf/iotdb-system.properties.template          |    7 +-
 .../commons/binaryallocator/BinaryAllocator.java   |   18 +-
 .../iotdb/commons/binaryallocator/arena/Arena.java |   39 +-
 .../metric/BinaryAllocatorMetrics.java             |   36 +-
 .../async/AsyncPipeDataTransferServiceClient.java  |   28 +-
 .../commons/concurrent/ThreadPoolMetrics.java      |   26 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |    9 +
 .../iotdb/commons/conf/CommonDescriptor.java       |    5 +
 .../iotdb/commons/conf/ConfigurationFileUtils.java |   22 +-
 .../commons/exception/IllegalPathException.java    |    4 +-
 .../commons/executable/ExecutableManager.java      |    6 +
 .../iotdb/commons/partition/DataPartition.java     |   55 +-
 .../iotdb/commons/partition/SchemaPartition.java   |   10 +-
 .../org/apache/iotdb/commons/path/PartialPath.java |   11 +-
 .../apache/iotdb/commons/path/PathPatternNode.java |  105 +-
 .../apache/iotdb/commons/path/PathPatternUtil.java |    9 +-
 .../iotdb/commons/pipe/config/PipeConfig.java      |    5 +
 .../config/constant/PipeExtractorConstant.java     |    4 +
 .../config/constant/PipeRPCMessageConstant.java}   |   19 +-
 .../pipe/datastructure/pattern/TablePattern.java   |   16 +-
 .../commons/pipe/receiver/IoTDBFileReceiver.java   |   39 +-
 .../resource/ref/PipePhantomReferenceManager.java  |    2 +-
 .../schema/column/ColumnHeaderConstant.java        |   23 +-
 .../commons/schema/table/InformationSchema.java    |  126 +
 .../schema/table/InformationSchemaTable.java       |   96 -
 .../apache/iotdb/commons/schema/table/TsTable.java |   15 +
 .../schema/table/column/IdColumnSchema.java        |    9 +-
 .../table/column/MeasurementColumnSchema.java      |   48 +-
 .../meta/consumer/ConsumerGroupMeta.java           |   34 +-
 .../meta/consumer/ConsumerGroupMetaKeeper.java     |    7 +-
 .../iotdb/commons/udf/access/RecordIterator.java   |    5 +-
 .../relational/TableBuiltinScalarFunction.java     |    1 +
 .../commons/udf/utils/UDFDataTypeTransformer.java  |   62 -
 .../org/apache/iotdb/commons/utils/PathUtils.java  |    8 +-
 iotdb-protocol/openapi/pom.xml                     |   27 +
 .../src/main/openapi3/iotdb_rest_table_v1.yaml     |  167 ++
 .../src/main/thrift/confignode.thrift              |    7 +-
 .../iotdb/library/dprofile/UDAFIntegral.java       |   41 +-
 .../iotdb/library/drepair/UDTFTimestampRepair.java |   47 +-
 .../library/drepair/util/TimestampInterval.java    |   22 +-
 .../library/drepair/util/TimestampRepair.java      |    2 +-
 pom.xml                                            |   12 +-
 448 files changed, 13768 insertions(+), 6847 deletions(-)
 create mode 100644 example/rest-java-example/src/main/java/org/apache/iotdb/TableHttpExample.java
 create mode 100644 example/rest-java-example/src/main/java/org/apache/iotdb/TableHttpsExample.java
 copy integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/commit/{IoTDBRegionMigrateNormalIT.java => batch/IoTDBRegionMigrateNormalITForIoTV2Batch.java} (93%)
 copy integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/commit/{IoTDBRegionMigrateOtherIT.java => batch/IoTDBRegionMigrateOtherITForIoTV2Batch.java} (93%)
 rename integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/commit/{IoTDBRegionMigrateNormalIT.java => stream/IoTDBRegionMigrateNormalITForIoTV2Stream.java} (76%)
 rename integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/commit/{IoTDBRegionMigrateOtherIT.java => stream/IoTDBRegionMigrateOtherITForIoTV2Stream.java} (78%)
 copy integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/daily/datanodecrash/iotv2/{IoTDBRegionMigrateCoordinatorCrashWhenRemoveRemotePeerForIoTV2IT.java => batch/IoTDBRegionMigrateCoordinatorCrashWhenRemoveRemotePeerForIoTV2Batch.java} (97%)
 copy integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/daily/datanodecrash/iotv2/{IoTDBRegionMigrateDataNodeCrashForIoTV2IT.java => batch/IoTDBRegionMigrateDataNodeCrashForIoTV2Batch.java} (97%)
 copy integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/daily/datanodecrash/iotv2/{IoTDBRegionMigrateOriginalCrashWhenDeleteLocalPeerForIoTV2IT.java => batch/IoTDBRegionMigrateOriginalCrashWhenDeleteLocalPeerForIoTV2Batch.java} (97%)
 copy integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/daily/datanodecrash/iotv2/{IoTDBRegionMigrateOriginalCrashWhenRemoveRemotePeerForIoTV2IT.java => batch/IoTDBRegionMigrateOriginalCrashWhenRemoveRemotePeerForIoTV2Batch.java} (97%)
 rename integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/daily/datanodecrash/iotv2/{IoTDBRegionMigrateCoordinatorCrashWhenRemoveRemotePeerForIoTV2IT.java => stream/IoTDBRegionMigrateCoordinatorCrashWhenRemoveRemotePeerForIoTV2Stream.java} (83%)
 rename integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/daily/datanodecrash/iotv2/{IoTDBRegionMigrateDataNodeCrashForIoTV2IT.java => stream/IoTDBRegionMigrateDataNodeCrashForIoTV2Stream.java} (87%)
 rename integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/daily/datanodecrash/iotv2/{IoTDBRegionMigrateOriginalCrashWhenDeleteLocalPeerForIoTV2IT.java => stream/IoTDBRegionMigrateOriginalCrashWhenDeleteLocalPeerForIoTV2Stream.java} (81%)
 rename integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/daily/datanodecrash/iotv2/{IoTDBRegionMigrateOriginalCrashWhenRemoveRemotePeerForIoTV2IT.java => stream/IoTDBRegionMigrateOriginalCrashWhenRemoveRemotePeerForIoTV2Stream.java} (81%)
 copy integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/daily/iotv2/{IoTDBRegionMigrateClusterCrashIoTV2IT.java => batch/IoTDBRegionMigrateClusterCrashIoTV2Batch.java} (97%)
 copy integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/daily/iotv2/{IoTDBRegionMigrateConfigNodeCrashIoTV2IT.java => batch/IoTDBRegionMigrateConfigNodeCrashIoTV2Batch.java} (98%)
 rename integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/daily/iotv2/{IoTDBRegionMigrateClusterCrashIoTV2IT.java => stream/IoTDBRegionMigrateClusterCrashIoTV2Stream.java} (85%)
 rename integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/daily/iotv2/{IoTDBRegionMigrateConfigNodeCrashIoTV2IT.java => stream/IoTDBRegionMigrateConfigNodeCrashIoTV2Stream.java} (91%)
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFileTimeIndexIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateDatabaseIT.java
 delete mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateStorageGroupIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/pipe/it/tablemodel/IoTDBPipeTypeConversionISessionIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/pipe/it/tablemodel/IoTDBPipeTypeConversionIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/builtinfunction/scalar/IoTDBFormatFunctionTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/rest/it/IoTDBRestServiceCaseWhenThenIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/rest/it/IoTDBRestServiceFlushQueryIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/rest/it/IoTDBRestServiceIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/rest/it/IoTDBRestServiceInsertAlignedValuesIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/rest/it/RestUtils.java
 rename integration-test/src/test/java/org/apache/iotdb/{session/it => relational/it/session}/IoTDBSessionRelationalIT.java (74%)
 copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/sql/StatementAnalyzeException.java => iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/util/CollectionUtils.java (66%)
 copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/{ => load}/LoadEmptyFileException.java (95%)
 copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/{ => load}/LoadFileException.java (96%)
 rename iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/{ => load}/LoadReadOnlyException.java (96%)
 rename iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/{ => load}/LoadRuntimeOutOfMemoryException.java (95%)
 rename iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/{ => load}/PartitionViolationException.java (96%)
 copy iotdb-core/{node-commons/src/main/java/org/apache/iotdb/commons/exception/IllegalPathException.java => datanode/src/main/java/org/apache/iotdb/db/exception/load/RegionReplicaSetChangedException.java} (58%)
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/DatabaseModelException.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/thrift/async/handler/PipeTransferTrackableHandler.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/table/v1/handler/ExceptionHandler.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/table/v1/handler/ExecuteStatementHandler.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/table/v1/handler/QueryDataSetHandler.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/table/v1/handler/RequestValidationHandler.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/table/v1/handler/StatementConstructionHandler.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/table/v1/impl/RestApiServiceImpl.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/FormatColumnTransformer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/table/InformationSchemaUtils.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/common/CachedPriorityMergeReader.java
 rename iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{exception/LoadEmptyFileException.java => subscription/event/SubscriptionCommitContextSupplier.java} (77%)
 rename iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/common/{FakedSeriesReader.java => AscFakedSeriesReader.java} (79%)
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/common/DescFakedSeriesReader.java
 delete mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/common/PriorityMergeReaderTest2.java
 rename iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/exception/LoadFileException.java => node-commons/src/main/java/org/apache/iotdb/commons/pipe/config/constant/PipeRPCMessageConstant.java} (65%)
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/InformationSchema.java
 delete mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/InformationSchemaTable.java
 create mode 100644 iotdb-protocol/openapi/src/main/openapi3/iotdb_rest_table_v1.yaml


(iotdb) 01/01: merge master

Posted by ch...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

chenyz pushed a commit to branch udtf
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 6e7f105122c79b796f65c515efe73dbc447cbc7a
Merge: 5e6907bbcce 3238ec257a1
Author: Chen YZ <ch...@gmail.com>
AuthorDate: Wed Dec 25 21:58:02 2024 +0800

    merge master

 .github/workflows/unit-test.yml                    |    2 +-
 .../main/DockerCompose/replace-conf-from-env.sh    |   33 +-
 .../java/org/apache/iotdb/TableHttpExample.java    |  223 ++
 .../java/org/apache/iotdb/TableHttpsExample.java   |  223 ++
 .../it/env/cluster/config/MppCommonConfig.java     |   18 +
 .../env/cluster/config/MppSharedCommonConfig.java  |   21 +
 .../it/env/remote/config/RemoteCommonConfig.java   |   10 +
 .../org/apache/iotdb/itbase/env/CommonConfig.java  |    8 +
 .../IoTDBRegionMigrateNormalITForIoTV2Batch.java}  |    5 +-
 .../IoTDBRegionMigrateOtherITForIoTV2Batch.java}   |    5 +-
 .../IoTDBRegionMigrateNormalITForIoTV2Stream.java} |   19 +-
 .../IoTDBRegionMigrateOtherITForIoTV2Stream.java}  |   19 +-
 ...torCrashWhenRemoveRemotePeerForIoTV2Batch.java} |    4 +-
 ...DBRegionMigrateDataNodeCrashForIoTV2Batch.java} |    4 +-
 ...inalCrashWhenDeleteLocalPeerForIoTV2Batch.java} |    4 +-
 ...nalCrashWhenRemoveRemotePeerForIoTV2Batch.java} |    4 +-
 ...orCrashWhenRemoveRemotePeerForIoTV2Stream.java} |   17 +-
 ...BRegionMigrateDataNodeCrashForIoTV2Stream.java} |   17 +-
 ...nalCrashWhenDeleteLocalPeerForIoTV2Stream.java} |   18 +-
 ...alCrashWhenRemoveRemotePeerForIoTV2Stream.java} |   18 +-
 .../IoTDBRegionMigrateClusterCrashIoTV2Batch.java} |    4 +-
 ...TDBRegionMigrateConfigNodeCrashIoTV2Batch.java} |    4 +-
 ...IoTDBRegionMigrateClusterCrashIoTV2Stream.java} |   17 +-
 ...DBRegionMigrateConfigNodeCrashIoTV2Stream.java} |   18 +-
 .../apache/iotdb/db/it/IoTDBFileTimeIndexIT.java   |  117 +
 .../iotdb/db/it/IoTDBSetConfigurationIT.java       |   60 +
 .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java |    1 -
 .../IoTDBAlignByDeviceWithTemplateIT.java          |   28 +-
 .../db/it/query/IoTDBEncryptionValueQueryIT.java   |    2 +-
 .../iotdb/db/it/schema/IoTDBCreateDatabaseIT.java  |  193 ++
 .../db/it/schema/IoTDBCreateStorageGroupIT.java    |  153 --
 .../db/it/schema/IoTDBDeleteStorageGroupIT.java    |    4 +-
 .../db/it/trigger/IoTDBTriggerManagementIT.java    |   47 +
 .../org/apache/iotdb/db/it/utils/TestUtils.java    |   42 +
 .../iotdb/pipe/it/manual/IoTDBPipeInclusionIT.java |   12 +-
 .../pipe/it/manual/IoTDBPipeMetaHistoricalIT.java  |   12 +-
 .../pipe/it/manual/IoTDBPipePermissionIT.java      |   71 +-
 .../pipe/it/tablemodel/IoTDBPipeClusterIT.java     |    3 +-
 .../IoTDBPipeTypeConversionISessionIT.java         |  497 ++++
 .../it/tablemodel/IoTDBPipeTypeConversionIT.java   |  632 +++++
 .../pipe/it/tablemodel/IoTDBPipeWithLoadIT.java    |  246 ++
 .../it/tablemodel/IoTDBTablePatternFormatIT.java   |    2 +-
 .../it/db/it/IoTDBFlushQueryTableIT.java           |    8 +-
 .../db/it/IoTDBMultiIDsWithAttributesTableIT.java  |  245 +-
 .../it/query/old/IoTDBSimpleQueryTableIT.java      |   20 +-
 .../scalar/IoTDBFormatFunctionTableIT.java         |  190 ++
 .../it/query/recent/IoTDBTableAggregationIT.java   |    3 +-
 .../it/rest/it/IoTDBRestServiceCaseWhenThenIT.java |  492 ++++
 .../it/rest/it/IoTDBRestServiceFlushQueryIT.java   |  311 +++
 .../relational/it/rest/it/IoTDBRestServiceIT.java  |  350 +++
 .../it/IoTDBRestServiceInsertAlignedValuesIT.java  |  366 +++
 .../iotdb/relational/it/rest/it/RestUtils.java     |  128 +
 .../relational/it/schema/IoTDBDatabaseIT.java      |  164 +-
 .../it/session}/IoTDBSessionRelationalIT.java      |  372 ++-
 .../it/local/IoTDBSubscriptionBasicIT.java         |   69 +
 .../param/IoTDBTestParamPullConsumerIT.java        |    8 +-
 .../param/IoTDBTestParamPushConsumerIT.java        |    8 +-
 .../regression/param/IoTDBTestParamTopicIT.java    |   11 +-
 .../apache/iotdb/tools/it/ExportTsFileTestIT.java  |    4 +-
 .../udf/api/relational/AggregateFunction.java      |   16 +-
 .../iotdb/udf/api/relational/access/Record.java    |    3 +-
 .../cli/src/assembly/resources/sbin/start-cli.bat  |   10 +
 .../cli/src/assembly/resources/sbin/start-cli.sh   |   17 +-
 .../java/org/apache/iotdb/cli/AbstractCli.java     |   26 +-
 .../src/main/java/org/apache/iotdb/cli/Cli.java    |    4 +-
 .../org/apache/iotdb/tool/data/ExportData.java     |    5 +-
 .../org/apache/iotdb/tool/tsfile/ExportTsFile.java |   37 +-
 iotdb-client/client-py/iotdb/utils/NumpyTablet.py  |    2 +-
 iotdb-client/client-py/iotdb/utils/Tablet.py       |    6 +-
 .../client-py/table_model_session_example.py       |    2 +-
 .../client-py/table_model_session_pool_example.py  |    2 +-
 .../tests/integration/test_relational_session.py   |    2 +-
 .../tests/integration/test_tablemodel_insert.py    |  156 +-
 .../org/apache/iotdb/jdbc/IoTDBConnection.java     |    4 +
 .../iotdb/rpc/subscription/config/TopicConfig.java |    9 +-
 .../rpc/subscription/config/TopicConstant.java     |    8 +-
 .../session/subscription/SubscriptionSession.java  |   17 +-
 .../consumer/SubscriptionConsumer.java             |   36 +-
 .../consumer/SubscriptionPullConsumer.java         |    7 +-
 .../consumer/SubscriptionPushConsumer.java         |    3 +-
 .../session/subscription/util/CollectionUtils.java |   14 +-
 .../session/subscription/util/IdentifierUtils.java |   10 +-
 iotdb-core/ainode/poetry.lock                      |    8 +-
 .../heartbeat/DataNodeHeartbeatHandler.java        |    3 +
 .../confignode/conf/ConfigNodeDescriptor.java      |  600 ++---
 .../read/ainode/GetAINodeConfigurationPlan.java    |   15 -
 .../request/read/database/CountDatabasePlan.java   |   15 +-
 .../request/read/database/GetDatabasePlan.java     |    7 +-
 .../request/read/model/GetModelInfoPlan.java       |   16 -
 .../request/read/model/ShowModelPlan.java          |   20 -
 .../database/AdjustMaxRegionGroupNumPlan.java      |   20 +-
 .../request/write/quota/SetSpaceQuotaPlan.java     |    2 +-
 .../write/region/CreateRegionGroupsPlan.java       |   39 +-
 .../statemachine/ConfigRegionStateMachine.java     |    4 +-
 .../exception/NoAvailableRegionGroupException.java |    2 +-
 .../confignode/manager/ClusterQuotaManager.java    |    8 +-
 .../iotdb/confignode/manager/ConfigManager.java    |  132 +-
 .../apache/iotdb/confignode/manager/IManager.java  |    6 +-
 .../iotdb/confignode/manager/ProcedureManager.java |   19 +-
 .../iotdb/confignode/manager/load/LoadManager.java |   13 +-
 .../manager/load/balancer/PartitionBalancer.java   |   18 +-
 .../manager/load/balancer/RegionBalancer.java      |   28 +-
 .../manager/load/balancer/RouteBalancer.java       |    7 +-
 .../router/priority/GreedyPriorityBalancer.java    |   42 +-
 .../router/priority/IPriorityBalancer.java         |    5 +-
 .../router/priority/LeaderPriorityBalancer.java    |   21 +-
 .../confignode/manager/load/cache/LoadCache.java   |   29 +-
 .../iotdb/confignode/manager/node/NodeManager.java |    8 +-
 .../manager/partition/PartitionManager.java        |  151 +-
 .../manager/partition/PartitionMetrics.java        |    3 +-
 .../PipeConfigPhysicalPlanPatternParseVisitor.java |   12 +-
 .../receiver/protocol/IoTDBConfigNodeReceiver.java |  131 +
 .../manager/schema/ClusterSchemaManager.java       |  102 +-
 .../persistence/executor/ConfigPlanExecutor.java   |   14 +-
 .../partition/DatabasePartitionTable.java          |    5 +-
 .../persistence/partition/PartitionInfo.java       |   47 +-
 .../confignode/persistence/pipe/PipeTaskInfo.java  |   12 +-
 .../persistence/schema/ClusterSchemaInfo.java      |  318 +--
 .../confignode/persistence/schema/ConfigMTree.java |   57 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |   15 +-
 .../procedure/env/RegionMaintainHandler.java       |   29 +-
 .../impl/region/AddRegionPeerProcedure.java        |   12 +-
 .../impl/region/CreateRegionGroupsProcedure.java   |   51 +-
 .../impl/region/RegionMigrateProcedure.java        |   34 +-
 .../impl/region/RemoveRegionPeerProcedure.java     |   22 +-
 .../impl/schema/AlterLogicalViewProcedure.java     |  110 +-
 .../impl/schema/DeactivateTemplateProcedure.java   |    2 +-
 .../impl/schema/DeleteTimeSeriesProcedure.java     |    2 +-
 .../impl/schema/table/CreateTableProcedure.java    |  119 +-
 .../impl/schema/table/DeleteDevicesProcedure.java  |   33 +-
 .../schema/table/DropTableColumnProcedure.java     |   23 +-
 .../impl/schema/table/DropTableProcedure.java      |   43 +-
 .../procedure/state/schema/CreateTableState.java   |    1 -
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   75 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |   21 +-
 .../router/priority/GreedyPriorityTest.java        |   13 +-
 .../priority/LeaderPriorityBalancerTest.java       |   65 +-
 .../confignode/persistence/PartitionInfoTest.java  |   16 +-
 .../persistence/schema/ClusterSchemaInfoTest.java  |    2 +-
 .../persistence/schema/ConfigMTreeTest.java        |   15 +-
 .../schema/table/AddTableColumnProcedureTest.java  |    2 +-
 .../schema/table/CreateTableProcedureTest.java     |    3 +-
 .../schema/table/DeleteDevicesProcedureTest.java   |    2 +-
 .../schema/table/DropTableColumnProcedureTest.java |    2 +-
 .../impl/schema/table/DropTableProcedureTest.java  |    2 +-
 .../table/RenameTableColumnProcedureTest.java      |    2 +-
 .../table/SetTablePropertiesProcedureTest.java     |    2 +-
 .../org/apache/iotdb/consensus/IConsensus.java     |   21 +-
 .../apache/iotdb/consensus/iot/IoTConsensus.java   |  101 +-
 .../consensus/iot/IoTConsensusServerImpl.java      |   11 +-
 .../service/IoTConsensusRPCServiceProcessor.java   |   15 +-
 .../apache/iotdb/consensus/pipe/PipeConsensus.java |  139 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |   78 +-
 .../apache/iotdb/consensus/ratis/utils/Utils.java  |    3 +-
 .../iotdb/consensus/simple/SimpleConsensus.java    |   12 +-
 .../apache/iotdb/consensus/iot/ReplicateTest.java  |    4 -
 .../apache/iotdb/consensus/iot/StabilityTest.java  |   82 +-
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |    4 -
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   34 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  | 2580 ++++++--------------
 .../db/conf/rest/IoTDBRestServiceDescriptor.java   |   92 +-
 .../dataregion/DataExecutionVisitor.java           |    4 +
 .../{ => load}/LoadEmptyFileException.java         |    2 +-
 .../db/exception/{ => load}/LoadFileException.java |    2 +-
 .../{ => load}/LoadReadOnlyException.java          |    2 +-
 .../LoadRuntimeOutOfMemoryException.java           |    2 +-
 .../{ => load}/PartitionViolationException.java    |    2 +-
 .../load/RegionReplicaSetChangedException.java}    |   22 +-
 .../exception/metadata/DatabaseModelException.java |   53 -
 .../exception/sql/StatementAnalyzeException.java   |    4 +
 .../db/pipe/agent/task/PipeDataNodeTaskAgent.java  |   37 +
 .../subtask/connector/PipeConnectorSubtask.java    |    9 +
 .../client/IoTDBDataNodeAsyncClientManager.java    |   45 +-
 .../async/IoTDBDataRegionAsyncConnector.java       |   41 +-
 .../PipeTransferTabletBatchEventHandler.java       |   33 +-
 .../PipeTransferTabletInsertNodeEventHandler.java  |   14 +-
 .../PipeTransferTabletInsertionEventHandler.java   |   62 +-
 .../handler/PipeTransferTabletRawEventHandler.java |   15 +-
 .../handler/PipeTransferTrackableHandler.java      |   98 +
 .../async/handler/PipeTransferTsFileHandler.java   |   39 +-
 .../consensus/ConsensusPipeDataNodeDispatcher.java |   11 +
 .../deletion/persist/PageCacheDeletionBuffer.java  |    2 +-
 .../db/pipe/event/common/PipeInsertionEvent.java   |    6 +-
 .../common/tsfile/PipeTsFileInsertionEvent.java    |   17 +-
 .../dataregion/IoTDBDataRegionExtractor.java       |    6 +-
 ...oricalDataRegionTsFileAndDeletionExtractor.java |    9 +-
 .../realtime/PipeRealtimeDataRegionExtractor.java  |    4 +-
 .../PipeRealtimeDataRegionHybridExtractor.java     |   11 +-
 .../realtime/assigner/PipeDataRegionAssigner.java  |   18 +-
 .../protocol/airgap/IoTDBAirGapReceiver.java       |    7 +-
 .../protocol/legacy/loader/DeletionLoader.java     |    2 +-
 .../protocol/legacy/loader/TsFileLoader.java       |    2 +-
 .../pipeconsensus/PipeConsensusReceiver.java       |    2 +-
 .../protocol/thrift/IoTDBDataNodeReceiver.java     |   59 +-
 .../transform/converter/ValueConverter.java        |    4 +-
 .../statement/PipeConvertedInsertRowStatement.java |    7 +
 .../PipeConvertedInsertTabletStatement.java        |    7 +
 .../visitor/PipeStatementExceptionVisitor.java     |    2 +-
 ...leStatementDataTypeConvertExecutionVisitor.java |   10 +-
 ...eeStatementDataTypeConvertExecutionVisitor.java |   10 +-
 .../resource/memory/InsertNodeMemoryEstimator.java |    3 +
 .../db/pipe/resource/memory/PipeMemoryBlock.java   |   14 +-
 .../iotdb/db/protocol/client/ConfigNodeClient.java |    4 +-
 .../rest/table/v1/handler/ExceptionHandler.java    |   91 +
 .../table/v1/handler/ExecuteStatementHandler.java  |   84 +
 .../rest/table/v1/handler/QueryDataSetHandler.java |  219 ++
 .../table/v1/handler/RequestValidationHandler.java |  100 +
 .../v1/handler/StatementConstructionHandler.java   |  188 ++
 .../rest/table/v1/impl/RestApiServiceImpl.java     |  293 +++
 .../iotdb/db/protocol/session/SessionManager.java  |    4 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |   17 +-
 .../thrift/impl/DataNodeRegionManager.java         |   14 +-
 .../execution/executor/RegionWriteExecutor.java    |    7 +-
 .../comparator/AscBinaryTypeJoinKeyComparator.java |   48 +-
 .../AscBooleanTypeJoinKeyComparator.java           |   38 +-
 .../comparator/AscDoubleTypeJoinKeyComparator.java |   38 +-
 .../comparator/AscFloatTypeJoinKeyComparator.java  |   38 +-
 .../comparator/AscIntTypeJoinKeyComparator.java    |   38 +-
 .../comparator/AscLongTypeJoinKeyComparator.java   |   38 +-
 .../DescBinaryTypeJoinKeyComparator.java           |   48 +-
 .../DescBooleanTypeJoinKeyComparator.java          |   38 +-
 .../DescDoubleTypeJoinKeyComparator.java           |   38 +-
 .../comparator/DescFloatTypeJoinKeyComparator.java |   38 +-
 .../comparator/DescIntTypeJoinKeyComparator.java   |   38 +-
 .../comparator/DescLongTypeJoinKeyComparator.java  |   38 +-
 .../join/merge/comparator/JoinKeyComparator.java   |    8 +-
 .../merge/comparator/JoinKeyComparatorFactory.java |   15 +-
 .../execution/operator/source/SeriesScanUtil.java  |   30 +-
 .../operator/source/ShowQueriesOperator.java       |   23 +-
 .../relational/AbstractMergeSortJoinOperator.java  |  160 +-
 .../InformationSchemaContentSupplierFactory.java   |   33 +-
 .../relational/MergeSortFullOuterJoinOperator.java |   99 +-
 .../relational/MergeSortInnerJoinOperator.java     |   71 +-
 .../TableAggregationTableScanOperator.java         |  159 +-
 .../relational/aggregation/AccumulatorFactory.java |    9 +-
 .../UserDefinedAggregateFunctionAccumulator.java   |    1 +
 .../GroupedUserDefinedAggregateAccumulator.java    |    7 +-
 .../relational/ColumnTransformerBuilder.java       |    9 +
 .../db/queryengine/plan/analyze/Analysis.java      |   27 +-
 .../db/queryengine/plan/analyze/AnalyzeUtils.java  |   79 +-
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |   32 +-
 .../plan/analyze/ClusterPartitionFetcher.java      |   74 +-
 .../db/queryengine/plan/analyze/IAnalysis.java     |    2 +-
 .../plan/analyze/IPartitionFetcher.java            |   16 +-
 .../plan/analyze/TemplatedAggregationAnalyze.java  |    6 +-
 .../queryengine/plan/analyze/TemplatedAnalyze.java |    7 +-
 .../analyze/cache/partition/PartitionCache.java    |  103 +-
 .../plan/analyze/load/LoadTsFileAnalyzer.java      |    2 +-
 .../analyze/load/LoadTsFileTableSchemaCache.java   |    4 +-
 .../load/LoadTsFileToTableModelAnalyzer.java       |    7 +-
 .../load/LoadTsFileToTreeModelAnalyzer.java        |    2 +-
 .../analyze/load/LoadTsFileTreeSchemaCache.java    |    2 +-
 .../load/TreeSchemaAutoCreatorAndVerifier.java     |   18 +-
 .../plan/analyze/schema/SchemaValidator.java       |    6 +-
 .../plan/execution/IQueryExecution.java            |    3 +-
 .../queryengine/plan/execution/QueryExecution.java |   13 +-
 .../plan/execution/config/ConfigExecution.java     |    5 +-
 .../execution/config/TableConfigTaskVisitor.java   |   49 +-
 .../execution/config/TreeConfigTaskVisitor.java    |   17 +-
 .../config/executor/ClusterConfigTaskExecutor.java |   79 +-
 .../config/executor/IConfigTaskExecutor.java       |    4 +-
 .../execution/config/metadata/ShowRegionTask.java  |   18 +-
 .../relational/AbstractAlterOrDropTableTask.java   |    4 +-
 .../metadata/relational/CreateTableTask.java       |    4 +-
 .../config/metadata/relational/ShowDBTask.java     |   31 +-
 .../plan/execution/config/sys/FlushTask.java       |   18 +-
 .../db/queryengine/plan/parser/ASTVisitor.java     |   18 +-
 .../db/queryengine/plan/planner/IPlanner.java      |    4 +-
 .../plan/planner/LocalExecutionPlanner.java        |    9 +
 .../plan/planner/TableOperatorGenerator.java       |  360 ++-
 .../queryengine/plan/planner/TreeModelPlanner.java |    5 +-
 .../distribution/WriteFragmentParallelPlanner.java |    2 +-
 .../metadata/write/view/AlterLogicalViewNode.java  |   47 +-
 .../plan/node/write/RelationalDeleteDataNode.java  |   15 +-
 .../node/write/RelationalInsertTabletNode.java     |   14 +-
 .../plan/relational/analyzer/Analysis.java         |   58 +-
 .../relational/analyzer/StatementAnalyzer.java     |   53 +-
 .../plan/relational/metadata/Metadata.java         |    6 +-
 .../relational/metadata/TableMetadataImpl.java     |   80 +-
 .../plan/relational/metadata/TableSchema.java      |   27 +-
 .../fetcher/TableHeaderSchemaValidator.java        |   44 +-
 .../fetcher/cache/TableDeviceSchemaCache.java      |   63 +-
 .../plan/relational/planner/RelationPlanner.java   |    9 +-
 .../plan/relational/planner/TableModelPlanner.java |    5 +-
 .../distribute/TableDistributedPlanGenerator.java  |   69 +-
 .../plan/relational/planner/node/JoinNode.java     |    2 -
 .../node/schema/CreateOrUpdateTableDeviceNode.java |    5 +-
 .../schema/TableDeviceAttributeUpdateNode.java     |    9 +-
 .../DataNodeLocationSupplierFactory.java           |   12 +-
 .../planner/optimizations/JoinUtils.java           |   12 +-
 .../optimizations/PushPredicateIntoTableScan.java  |  173 +-
 .../optimizations/QueryCardinalityUtil.java        |   17 +
 .../plan/relational/security/AccessControl.java    |    2 +-
 .../relational/sql/ast/AbstractTraverseDevice.java |    1 +
 .../queryengine/plan/relational/sql/ast/Flush.java |    4 +-
 .../plan/relational/sql/ast/InsertRows.java        |    3 +-
 .../relational/sql/ast/WrappedInsertStatement.java |   23 +-
 .../plan/relational/sql/parser/AstBuilder.java     |   55 +-
 .../plan/relational/sql/rewrite/ShowRewrite.java   |    4 +-
 .../scheduler/load/LoadTsFileDispatcherImpl.java   |    2 +-
 .../plan/scheduler/load/LoadTsFileScheduler.java   |  134 +-
 .../db/queryengine/plan/statement/Statement.java   |    8 +-
 .../plan/statement/crud/InsertBaseStatement.java   |   13 +-
 .../plan/statement/crud/InsertRowStatement.java    |    4 +-
 .../plan/statement/crud/InsertTabletStatement.java |    5 +-
 .../statement/metadata/ShowDatabaseStatement.java  |   12 +-
 .../plan/statement/sys/FlushStatement.java         |   33 +-
 .../unary/scalar/FormatColumnTransformer.java      |  119 +
 .../apache/iotdb/db/schemaengine/SchemaEngine.java |   60 +-
 .../schemaregion/ISchemaRegionParams.java          |    3 +-
 .../schemaregion/SchemaRegionParams.java           |   11 +-
 .../GeneralRegionAttributeSecurityService.java     |    6 +-
 .../schemaregion/impl/SchemaRegionMemoryImpl.java  |   13 +-
 .../schemaregion/impl/SchemaRegionPBTreeImpl.java  |    6 +-
 .../mtree/impl/mem/MTreeBelowSGMemoryImpl.java     |    2 +-
 .../schemaengine/schemaregion/utils/MetaUtils.java |    9 +-
 .../db/schemaengine/table/DataNodeTableCache.java  |   55 +-
 .../schemaengine/table/InformationSchemaUtils.java |  186 ++
 .../java/org/apache/iotdb/db/service/DataNode.java |   91 +-
 .../iotdb/db/service/metrics/FileMetrics.java      |    5 +
 .../db/service/metrics/file/TsFileMetrics.java     |   67 +-
 .../iotdb/db/storageengine/StorageEngine.java      |   40 +-
 .../db/storageengine/dataregion/DataRegion.java    |   43 +-
 .../performer/impl/FastCompactionPerformer.java    |   15 +
 .../impl/ReadPointCompactionPerformer.java         |    6 +-
 .../RepairUnsortedFileCompactionPerformer.java     |   13 +
 .../execute/utils/MultiTsFileDeviceIterator.java   |    7 +-
 .../compaction/repair/RepairDataFileScanUtil.java  |    2 +-
 .../compaction/schedule/CompactionTaskManager.java |   15 +-
 .../compaction/schedule/CompactionWorker.java      |    7 +-
 .../DefaultCompactionTaskComparatorImpl.java       |   16 +-
 .../impl/NewSizeTieredCompactionSelector.java      |    2 +-
 .../dataregion/memtable/AbstractMemTable.java      |    4 +-
 .../memtable/AlignedWritableMemChunk.java          |    6 +-
 .../memtable/AlignedWritableMemChunkGroup.java     |    5 +
 .../memtable/IWritableMemChunkGroup.java           |    2 +
 .../dataregion/memtable/WritableMemChunkGroup.java |    5 +
 .../dataregion/read/QueryDataSource.java           |   14 +-
 .../reader/common/CachedPriorityMergeReader.java   |   97 -
 .../reader/common/DescPriorityMergeReader.java     |   16 +-
 .../read/reader/common/PriorityMergeReader.java    |   22 +-
 .../dataregion/tsfile/TsFileResource.java          |   14 +-
 .../tsfile/timeindex/ArrayDeviceTimeIndex.java     |    2 +-
 .../dataregion/tsfile/timeindex/FileTimeIndex.java |    2 +-
 .../dataregion/tsfile/timeindex/ITimeIndex.java    |    2 +-
 .../wal/allocation/FirstCreateStrategy.java        |    1 +
 .../storageengine/dataregion/wal/node/WALNode.java |    8 +-
 .../db/storageengine/load/LoadTsFileManager.java   |   63 +-
 .../memory/LoadTsFileAnalyzeSchemaMemoryBlock.java |    4 +-
 .../memory/LoadTsFileDataCacheMemoryBlock.java     |   43 +-
 .../load/memory/LoadTsFileMemoryManager.java       |   17 +-
 .../load/splitter/TsFileSplitter.java              |   35 +-
 .../rescon/memory/TsFileResourceManager.java       |   17 +
 .../db/subscription/broker/SubscriptionBroker.java |  104 +-
 .../broker/SubscriptionPrefetchingQueue.java       |    7 +-
 .../db/subscription/broker/SubscriptionStates.java |   30 +-
 .../event/SubscriptionCommitContextSupplier.java}  |   11 +-
 .../db/subscription/event/SubscriptionEvent.java   |   14 +-
 .../batch/SubscriptionPipeTabletEventBatch.java    |   57 +-
 .../SubscriptionEventExtendableResponse.java       |    6 -
 .../event/response/SubscriptionEventResponse.java  |    7 +
 .../response/SubscriptionEventTabletResponse.java  |   60 +-
 .../response/SubscriptionEventTsFileResponse.java  |    2 +-
 .../receiver/SubscriptionReceiverV1.java           |    2 +-
 .../db/tools/schema/SRStatementGenerator.java      |    3 +-
 .../org/apache/iotdb/db/utils/CommonUtils.java     |   86 -
 .../org/apache/iotdb/db/utils/DateTimeUtils.java   |    5 +
 .../db/utils/datastructure/AlignedTVList.java      |   26 +-
 .../apache/iotdb/db/metadata/MetaUtilsTest.java    |    9 +-
 .../iotdb/db/metadata/path/PatternTreeMapTest.java |   41 +-
 .../schemaRegion/AbstractSchemaRegionTest.java     |    4 +-
 .../SchemaRegionSimpleRecoverTest.java             |    5 +-
 .../schemaRegion/SchemaRegionTableDeviceTest.java  |   10 +-
 .../schemaRegion/SchemaRegionTestUtil.java         |    3 +-
 .../schemaRegion/SchemaStatisticsTest.java         |    2 +-
 .../operator/MergeTreeSortOperatorTest.java        |    4 +-
 .../plan/analyze/FakePartitionFetcherImpl.java     |    5 -
 .../plan/analyze/cache/PartitionCacheTest.java     |    8 +-
 .../plan/planner/distribution/Util.java            |    5 -
 .../plan/planner/distribution/Util2.java           |    5 -
 .../plan/relational/analyzer/AnalyzerTest.java     |   55 +-
 .../plan/relational/analyzer/JoinTest.java         |  268 +-
 .../analyzer/MockTableModelDataPartition.java      |   17 +-
 .../plan/relational/analyzer/ShowQueriesTest.java  |   20 +-
 .../plan/relational/analyzer/TSBSMetadata.java     |   11 +-
 .../plan/relational/analyzer/TestMatadata.java     |   74 +-
 .../plan/relational/planner/SubqueryTest.java      |    1 +
 .../planner/assertions/EquiJoinClauseProvider.java |    4 +-
 .../planner/assertions/PlanMatchPattern.java       |   14 +-
 .../relational/planner/assertions/SymbolAlias.java |    4 +-
 .../plan/statement/InsertStatementTest.java        |    5 +-
 .../DataNodeInternalRPCServiceImplTest.java        |    3 +-
 .../iotdb/db/storageengine/StorageEngineTest.java  |    2 +
 .../BatchedCompactionWithTsFileSplitterTest.java   |   15 +-
 .../compaction/CompactionTaskComparatorTest.java   |    2 +-
 .../compaction/CompactionWorkerTest.java           |   33 +
 .../NewSizeTieredCompactionSelectorTest.java       |   30 +
 .../repair/RepairUnsortedFileCompactionTest.java   |   44 +
 ...SeriesReader.java => AscFakedSeriesReader.java} |   28 +-
 .../read/reader/common/DescFakedSeriesReader.java  |   54 +
 .../reader/common/PriorityMergeReaderTest.java     |  113 +-
 .../reader/common/PriorityMergeReaderTest2.java    |   59 -
 .../rescon/memory/ResourceManagerTest.java         |   39 +
 .../org/apache/iotdb/db/tools/MLogParserTest.java  |    5 +-
 .../db/utils/SchemaRegionSnapshotParserTest.java   |   89 +-
 .../reporter/prometheus/PrometheusReporter.java    |    5 +-
 .../conf/iotdb-system.properties.template          |    7 +-
 .../commons/binaryallocator/BinaryAllocator.java   |   18 +-
 .../iotdb/commons/binaryallocator/arena/Arena.java |   39 +-
 .../metric/BinaryAllocatorMetrics.java             |   36 +-
 .../async/AsyncPipeDataTransferServiceClient.java  |   28 +-
 .../commons/concurrent/ThreadPoolMetrics.java      |   26 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |    9 +
 .../iotdb/commons/conf/CommonDescriptor.java       |    5 +
 .../iotdb/commons/conf/ConfigurationFileUtils.java |   22 +-
 .../commons/exception/IllegalPathException.java    |    4 +-
 .../commons/executable/ExecutableManager.java      |    6 +
 .../iotdb/commons/partition/DataPartition.java     |   55 +-
 .../iotdb/commons/partition/SchemaPartition.java   |   10 +-
 .../org/apache/iotdb/commons/path/PartialPath.java |   11 +-
 .../apache/iotdb/commons/path/PathPatternNode.java |  105 +-
 .../apache/iotdb/commons/path/PathPatternUtil.java |    9 +-
 .../iotdb/commons/pipe/config/PipeConfig.java      |    5 +
 .../config/constant/PipeExtractorConstant.java     |    4 +
 .../config/constant/PipeRPCMessageConstant.java}   |   19 +-
 .../pipe/datastructure/pattern/TablePattern.java   |   16 +-
 .../commons/pipe/receiver/IoTDBFileReceiver.java   |   39 +-
 .../resource/ref/PipePhantomReferenceManager.java  |    2 +-
 .../schema/column/ColumnHeaderConstant.java        |   23 +-
 .../commons/schema/table/InformationSchema.java    |  126 +
 .../schema/table/InformationSchemaTable.java       |   96 -
 .../apache/iotdb/commons/schema/table/TsTable.java |   15 +
 .../schema/table/column/IdColumnSchema.java        |    9 +-
 .../table/column/MeasurementColumnSchema.java      |   48 +-
 .../meta/consumer/ConsumerGroupMeta.java           |   34 +-
 .../meta/consumer/ConsumerGroupMetaKeeper.java     |    7 +-
 .../iotdb/commons/udf/access/RecordIterator.java   |    5 +-
 .../relational/TableBuiltinScalarFunction.java     |    1 +
 .../commons/udf/utils/UDFDataTypeTransformer.java  |   62 -
 .../org/apache/iotdb/commons/utils/PathUtils.java  |    8 +-
 iotdb-protocol/openapi/pom.xml                     |   27 +
 .../src/main/openapi3/iotdb_rest_table_v1.yaml     |  167 ++
 .../src/main/thrift/confignode.thrift              |    7 +-
 .../iotdb/library/dprofile/UDAFIntegral.java       |   41 +-
 .../iotdb/library/drepair/UDTFTimestampRepair.java |   47 +-
 .../library/drepair/util/TimestampInterval.java    |   22 +-
 .../library/drepair/util/TimestampRepair.java      |    2 +-
 pom.xml                                            |   12 +-
 448 files changed, 13768 insertions(+), 6847 deletions(-)

diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Analysis.java
index ec80630f6ed,1f3873067b4..a918bdd7914
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Analysis.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Analysis.java
@@@ -860,29 -854,8 +862,29 @@@ public class Analysis implements IAnaly
      }
    }
  
 +  public Set<NodeRef<TableFunctionInvocation>> getPolymorphicTableFunctions() {
 +    return ImmutableSet.copyOf(polymorphicTableFunctions);
 +  }
 +
 +  public void addPolymorphicTableFunction(TableFunctionInvocation invocation) {
 +    polymorphicTableFunctions.add(NodeRef.of(invocation));
 +  }
 +
 +  public boolean isPolymorphicTableFunction(TableFunctionInvocation invocation) {
 +    return polymorphicTableFunctions.contains(NodeRef.of(invocation));
 +  }
 +
 +  public void setTableFunctionAnalysis(
 +      TableFunctionInvocation node, TableFunctionInvocationAnalysis analysis) {
 +    tableFunctionAnalyses.put(NodeRef.of(node), analysis);
 +  }
 +
 +  public TableFunctionInvocationAnalysis getTableFunctionAnalysis(TableFunctionInvocation node) {
 +    return tableFunctionAnalyses.get(NodeRef.of(node));
 +  }
 +
    @Override
-   public TimePredicate getCovertedTimePredicate() {
+   public TimePredicate getConvertedTimePredicate() {
      return null;
    }
  
diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java
index db0b5e62361,5ec2fda249a..fe89bd2de3f
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java
@@@ -152,9 -140,6 +151,7 @@@ import org.apache.iotdb.db.queryengine.
  import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.With;
  import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WithQuery;
  import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WrappedInsertStatement;
- import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
- import org.apache.iotdb.db.queryengine.plan.relational.type.TypeManager;
 +import org.apache.iotdb.db.queryengine.plan.relational.type.TypeNotFoundException;
  import org.apache.iotdb.db.queryengine.plan.statement.component.FillPolicy;
  import org.apache.iotdb.db.queryengine.plan.statement.crud.InsertBaseStatement;
  import org.apache.iotdb.db.schemaengine.table.DataNodeTableCache;
diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationPlanner.java
index 08975889181,6d97a4ed9d6..67ac1cd0765
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationPlanner.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationPlanner.java
@@@ -97,11 -92,9 +97,11 @@@ import java.util.Map
  import java.util.Optional;
  import java.util.Set;
  import java.util.stream.Collectors;
 +import java.util.stream.IntStream;
  
 +import static com.google.common.collect.ImmutableList.toImmutableList;
  import static java.util.Objects.requireNonNull;
- import static org.apache.iotdb.commons.schema.table.InformationSchemaTable.INFORMATION_SCHEMA;
+ import static org.apache.iotdb.commons.schema.table.InformationSchema.INFORMATION_DATABASE;
  import static org.apache.iotdb.db.queryengine.plan.relational.planner.PlanBuilder.newPlanBuilder;
  import static org.apache.iotdb.db.queryengine.plan.relational.planner.QueryPlanner.coerce;
  import static org.apache.iotdb.db.queryengine.plan.relational.planner.QueryPlanner.coerceIfNecessary;