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

jackietien pushed a commit to branch ty/AllowRetry
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit acaf1b74317a2999bfd507659c7a9b69679bc290
Merge: ab20502d87e 4a3c1d3e331
Author: JackieTien97 <[email protected]>
AuthorDate: Tue Aug 13 09:43:26 2024 +0800

    Merge remote-tracking branch 'origin/master' into ty/AllowRetry

 LICENSE                                            |   59 +-
 .../org/apache/iotdb/TableModelJDBCExample.java    |  108 +
 .../java/org/apache/iotdb/CountPointProcessor.java |    2 +-
 .../iotdb/AlignedTimeseriesSessionExample.java     |   13 +-
 .../org/apache/iotdb/DataMigrationExample.java     |    6 +-
 .../iotdb/HybridTimeseriesSessionExample.java      |    3 +-
 .../org/apache/iotdb/SessionConcurrentExample.java |    3 +-
 .../main/java/org/apache/iotdb/SessionExample.java |   13 +-
 .../org/apache/iotdb/TableModelSessionExample.java |  136 +
 .../apache/iotdb/TableModelSessionPoolExample.java |  147 +
 .../main/java/org/apache/iotdb/TabletExample.java  |    3 +-
 .../org/apache/iotdb/trigger/LoggerTrigger.java    |    4 +-
 .../iotdb/it/env/cluster/env/AbstractEnv.java      |  141 +-
 .../iotdb/it/env/remote/env/RemoteServerEnv.java   |  132 +-
 .../org/apache/iotdb/it/utils/TsFileGenerator.java |   24 +-
 .../java/org/apache/iotdb/itbase/env/BaseEnv.java  |   88 +-
 .../iotdb/itbase/runtime/ClusterTestStatement.java |   13 +-
 .../it/partition/IoTDBPartitionGetterIT.java       |   19 +-
 .../apache/iotdb/db/it/IoTDBInsertWithQueryIT.java |    6 +-
 .../org/apache/iotdb/db/it/IoTDBLoadTsFileIT.java  |    5 +-
 .../iotdb/db/it/IoTDBPartialInsertionIT.java       |    3 +-
 .../org/apache/iotdb/db/it/IoTDBRepairDataIT.java  |    4 +-
 .../db/it/aggregation/IoTDBAggregationIT.java      |   15 +-
 .../db/it/aggregation/maxby/IoTDBMaxByIT.java      |    3 +-
 .../db/it/aggregation/minby/IoTDBMinByIT.java      |    3 +-
 .../scalar/IoTDBDiffFunctionIT.java                |    1 -
 .../db/it/fill/IoTDBFillWithNewDataTypeIT.java     |   26 +-
 .../apache/iotdb/db/it/query/IoTDBQueryDemoIT.java |   31 +-
 .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java  |    4 +-
 .../db/it/udf/IoTDBUDTFBuiltinFunctionIT.java      |    4 +-
 .../org/apache/iotdb/db/it/utils/TestUtils.java    |  130 +
 .../it/db/it/IoTDBExecuteBatchTableIT.java         |  149 +
 .../it/db/it/IoTDBFlushQueryTableIT.java           |  200 ++
 .../it/db/it/IoTDBInsertAlignedValuesTableIT.java  |  566 +++
 .../relational/it/db/it/IoTDBInsertTableIT.java    |  589 ++++
 .../it/db/it/IoTDBMultiDeviceTableIT.java          |  357 ++
 .../relational/it/db/it/IoTDBRecoverTableIT.java   |  309 ++
 .../it/db/it/IoTDBRecoverUnclosedTableIT.java      |  259 ++
 .../relational/it/db/it/IoTDBRestartTableIT.java   |  419 +++
 .../it/db/it/IoTDBSetConfigurationTableIT.java     |  105 +
 .../it/query/old/IoTDBDatetimeFormatTableIT.java   |  157 +
 .../it/query/old/IoTDBFilterBetweenTableIT.java    |  199 ++
 .../it/query/old/IoTDBFilterNullTableIT.java       |  115 +
 .../it/query/old/IoTDBFilterTableIT.java           |  239 ++
 .../it/query/old/IoTDBNestedQueryTableIT.java      |  453 +++
 .../it/query/old/IoTDBSimpleQueryTableIT.java      |  706 ++++
 .../alignbydevice/IoTDBAlignByDeviceTable2IT.java  |   46 +
 .../alignbydevice/IoTDBAlignByDeviceTable3IT.java  |   46 +
 .../alignbydevice/IoTDBAlignByDeviceTableIT.java   |  546 +++
 .../IoTDBAlignByDeviceWithTemplateTable2IT.java    |   47 +
 .../IoTDBAlignByDeviceWithTemplateTableIT.java     |  513 +++
 ...TDBOrderByLimitOffsetAlignByDeviceTable2IT.java |   47 +
 ...oTDBOrderByLimitOffsetAlignByDeviceTableIT.java |  147 +
 .../IoTDBOrderByWithAlignByDeviceTable2IT.java     |   47 +
 .../IoTDBOrderByWithAlignByDeviceTable3IT.java     |   47 +
 .../IoTDBOrderByWithAlignByDeviceTableIT.java      | 1568 +++++++++
 .../IoTDBAlignedOffsetLimitPushDownTableIT.java    |  156 +
 .../aligned/IoTDBAlignedSeriesQueryTable2IT.java   |   53 +
 .../aligned/IoTDBAlignedSeriesQueryTable3IT.java   |   53 +
 .../aligned/IoTDBAlignedSeriesQueryTable4IT.java   |   53 +
 .../aligned/IoTDBAlignedSeriesQueryTable5IT.java   |   55 +
 .../aligned/IoTDBAlignedSeriesQueryTableIT.java    | 3678 ++++++++++++++++++++
 .../aligned/IoTDBPredicatePushDownTable2IT.java    |   54 +
 .../aligned/IoTDBPredicatePushDownTable3IT.java    |   54 +
 .../aligned/IoTDBPredicatePushDownTable4IT.java    |   54 +
 .../old/aligned/IoTDBPredicatePushDownTableIT.java |  683 ++++
 .../it/query/old/aligned/TableUtils.java           |  216 ++
 .../scalar/IoTDBCastFunctionTableIT.java           |  780 +++++
 .../scalar/IoTDBDiffFunctionTable2IT.java          |   42 +
 .../scalar/IoTDBDiffFunctionTable3IT.java          |   42 +
 .../scalar/IoTDBDiffFunctionTableIT.java           |  149 +
 .../scalar/IoTDBReplaceFunctionTableIT.java        |  183 +
 .../scalar/IoTDBRoundFunctionTableIT.java          |  313 ++
 .../scalar/IoTDBSubStringFunctionTableIT.java      |  219 ++
 .../it/query/old/orderBy/IoTDBOrderByTableIT.java  | 1578 +++++++++
 .../it/query/old/orderBy/IoTDBStreamSortIT.java    |  240 ++
 .../it/query/old/query/IoTDBArithmeticTableIT.java |  226 ++
 .../query/old/query/IoTDBCaseWhenThenTableIT.java  |  878 +++++
 .../it/query/old/query/IoTDBFuzzyQueryTableIT.java |  275 ++
 .../it/query/old/query/IoTDBInTableIT.java         |  185 +
 ...oTDBNoSelectExpressionAfterAnalyzedTableIT.java |   95 +
 .../query/old/query/IoTDBNullOperandTableIT.java   |  229 ++
 .../query/old/query/IoTDBNullValueFillTableIT.java |  327 ++
 .../it/query/old/query/IoTDBPaginationTableIT.java |  230 ++
 .../it/query/old/query/IoTDBQueryDemoTableIT.java  |  524 +++
 .../IoTDBQueryWithComplexValueFilterTableIT.java   |  326 ++
 .../it/query/old/query/IoTDBResultSetTableIT.java  |  206 ++
 .../query/IoTDBSelectCompareExpressionTableIT.java |  503 +++
 .../query/old/query/IoTDBSelectSchemaTableIT.java  |  125 +
 .../it/query/recent/IoTDBNullIdQueryIT.java        |  139 +
 .../relational/it/schema/IoTDBDatabaseIT.java      |  187 +
 .../relational/it/schema/IoTDBDeviceQueryIT.java   |  101 +
 .../iotdb/relational/it/schema/IoTDBTableIT.java   |  311 ++
 .../it/session/IoTDBTableModelSessionIT.java       |  115 +
 .../session/pool/IoTDBTableModelSessionPoolIT.java |  195 ++
 .../session/it/IoTDBSessionAlignedInsertIT.java    |    3 +-
 .../iotdb/session/it/IoTDBSessionComplexIT.java    |    5 +-
 .../it/IoTDBSessionDisableMemControlIT.java        |    5 +-
 .../IoTDBSessionInsertWithTriggerExecutionIT.java  |    3 +-
 .../iotdb/session/it/IoTDBSessionRelationalIT.java |  992 ++++++
 .../iotdb/session/it/IoTDBSessionSimpleIT.java     |   21 +-
 .../session/it/IoTDBSessionSyntaxConventionIT.java |    3 +-
 .../org/apache/iotdb/session/it/SessionIT.java     |    5 +-
 .../it/triple/IoTDBSubscriptionSharingIT.java      |    3 +-
 .../java/org/apache/iotdb/cli/AbstractCli.java     |   24 +-
 .../src/main/java/org/apache/iotdb/cli/Cli.java    |    4 +
 .../java/org/apache/iotdb/tool/ExportData.java     |    2 +-
 .../java/org/apache/iotdb/tool/ExportTsFile.java   |   19 +-
 .../org/apache/iotdb/isession/IPooledSession.java  |   64 +
 .../java/org/apache/iotdb/isession/ISession.java   |   16 +
 .../org/apache/iotdb/isession/SessionConfig.java   |    2 +
 .../org/apache/iotdb/isession/SessionDataSet.java  |   86 +-
 .../apache/iotdb/isession/pool/ISessionPool.java   |    3 +
 .../iotdb/jdbc/AbstractIoTDBJDBCResultSet.java     | 1220 -------
 .../main/java/org/apache/iotdb/jdbc/Config.java    |    4 +
 .../org/apache/iotdb/jdbc/IoTDBConnection.java     |   16 +-
 .../apache/iotdb/jdbc/IoTDBConnectionParams.java   |   21 +
 .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java  |   81 +-
 .../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java     |  323 --
 .../java/org/apache/iotdb/jdbc/IoTDBStatement.java |   88 +-
 .../src/main/java/org/apache/iotdb/jdbc/Utils.java |   60 +-
 .../iotdb/jdbc/IoTDBDatabaseMetadataTest.java      |   10 +-
 .../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java  |    2 +
 .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java |  299 +-
 .../main/java/org/apache/iotdb/rpc/RpcUtils.java   |   64 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |   17 +-
 .../java/org/apache/iotdb/session/Session.java     |  196 +-
 .../apache/iotdb/session/SessionConnection.java    |   69 +-
 .../org/apache/iotdb/session/ThriftConnection.java |    8 +-
 .../org/apache/iotdb/session/pool/SessionPool.java |   46 +-
 .../apache/iotdb/session/pool/SessionWrapper.java  |  195 ++
 .../session/subscription/SubscriptionSession.java  |    9 +-
 .../SubscriptionSessionConnection.java             |   14 +-
 .../payload/SubscriptionSessionDataSet.java        |    8 +-
 .../apache/iotdb/session/util/SessionUtils.java    |    4 +-
 .../iotdb/session/SessionCacheLeaderTest.java      |    7 +-
 .../iotdb/session/SessionConnectionTest.java       |    8 +-
 .../java/org/apache/iotdb/session/SessionTest.java |   25 +-
 .../java/org/apache/iotdb/session/TabletTest.java  |    3 +-
 .../session/pool/SessionPoolExceptionTest.java     |    7 +-
 .../apache/iotdb/session/pool/SessionPoolTest.java |   28 +-
 .../iotdb/session/util/SessionUtilsTest.java       |    5 +-
 .../iotdb/confignode/client/CnToDnRequestType.java |    3 +
 .../CnToDnInternalServiceAsyncRequestManager.java  |    5 +
 .../rpc/DataNodeAsyncRequestRPCHandler.java        |    1 +
 .../client/sync/SyncDataNodeClientPool.java        |    3 +
 .../consensus/request/ConfigPhysicalPlan.java      |   16 +
 .../consensus/request/ConfigPhysicalPlanType.java  |    6 +
 .../request/write/table/AddTableColumnPlan.java    |   93 +
 .../request/write/table/CommitCreateTablePlan.java |   67 +
 .../request/write/table/PreCreateTablePlan.java    |   68 +
 .../write/table/RollbackCreateTablePlan.java       |   67 +
 .../iotdb/confignode/manager/ConfigManager.java    |  156 +-
 .../apache/iotdb/confignode/manager/IManager.java  |   26 +
 .../iotdb/confignode/manager/ProcedureManager.java |  216 +-
 .../iotdb/confignode/manager/node/NodeManager.java |    2 +
 .../manager/partition/PartitionManager.java        |   27 +-
 .../client/IoTDBConfigNodeSyncClientManager.java   |   12 +-
 .../protocol/IoTDBConfigRegionAirGapConnector.java |    3 +
 .../protocol/IoTDBConfigRegionConnector.java       |   10 +-
 .../PipeConfigPhysicalPlanTSStatusVisitor.java     |   16 +-
 .../manager/schema/ClusterSchemaManager.java       |  115 +-
 .../persistence/executor/ConfigPlanExecutor.java   |   12 +
 .../persistence/schema/ClusterSchemaInfo.java      |  141 +-
 .../confignode/persistence/schema/ConfigMTree.java |  218 +-
 .../schema/mnode/impl/ConfigTableNode.java         |  221 ++
 .../schema/mnode/impl/TableNodeStatus.java         |   58 +
 .../schema/mnode/info/ConfigTableInfo.java         |   56 +
 .../impl/schema/DataNodeRegionTaskExecutor.java    |    2 +-
 .../impl/schema/DeactivateTemplateProcedure.java   |    2 +-
 .../impl/schema/DeleteDatabaseProcedure.java       |    4 +
 .../impl/schema/SetTemplateProcedure.java          |    2 +-
 .../impl/schema/UnsetTemplateProcedure.java        |    2 +-
 .../impl/schema/table/AddTableColumnProcedure.java |  345 ++
 .../impl/schema/table/CreateTableProcedure.java    |  453 +++
 .../state/schema/AddTableColumnState.java          |   27 +
 .../procedure/state/schema/CreateTableState.java   |   29 +
 .../procedure/store/ProcedureFactory.java          |   12 +
 .../confignode/procedure/store/ProcedureType.java  |    4 +
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   31 +
 .../request/ConfigPhysicalPlanSerDeTest.java       |   76 +
 .../hash/DeviceGroupHashExecutorManualTest.java    |   13 +-
 .../persistence/schema/ConfigMTreeTest.java        |   81 +
 .../schema/table/AddTableColumnProcedureTest.java  |   62 +
 .../schema/table/CreateTableProcedureTest.java     |   73 +
 iotdb-core/datanode/pom.xml                        |   22 +
 .../src/main/codegen/templates/constantFill.ftl    |    3 +-
 .../src/main/codegen/templates/previousFill.ftl    |    3 +-
 .../codegen/templates/variationWindowManager.ftl   |    3 +-
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |    6 +-
 .../iotdb/db/auth/ClusterAuthorityFetcher.java     |    4 +-
 .../apache/iotdb/db/auth/IAuthorityFetcher.java    |    3 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |    2 +-
 .../dataregion/DataExecutionVisitor.java           |   25 +-
 .../dataregion/DataRegionStateMachine.java         |    1 +
 .../schemaregion/SchemaExecutionVisitor.java       |   61 +-
 .../metadata/DatabaseAlreadySetException.java      |   29 +-
 .../metadata/DatabaseConflictException.java        |   52 +
 .../table/TableAlreadyExistsException.java         |   32 +
 .../metadata/table/TableNotExistsException.java    |   32 +
 .../db/exception/query/QueryProcessException.java  |    5 +
 .../exception/sql/ColumnCreationFailException.java |   27 +
 .../iotdb/db/exception/sql/SemanticException.java  |    9 +-
 .../client/IoTDBDataNodeAsyncClientManager.java    |   12 +-
 .../client/IoTDBDataNodeSyncClientManager.java     |   12 +-
 .../batch/PipeTabletEventTsFileBatch.java          |   11 +-
 .../request/PipeTransferTabletRawReq.java          |    2 +-
 .../airgap/IoTDBDataNodeAirGapConnector.java       |    3 +
 .../connector/protocol/opcua/OpcUaConnector.java   |  207 +-
 .../connector/protocol/opcua/OpcUaNameSpace.java   |  374 ++
 .../protocol/opcua/OpcUaServerBuilder.java         |   32 +-
 .../async/IoTDBDataRegionAsyncConnector.java       |    3 +-
 .../thrift/sync/IoTDBDataNodeSyncConnector.java    |   11 +-
 .../iotdb/db/pipe/event/common/row/PipeRow.java    |    8 +-
 .../db/pipe/event/common/row/PipeRowCollector.java |    6 +-
 .../tablet/PipeInsertNodeTabletInsertionEvent.java |    5 +-
 .../common/tablet/PipeRawTabletInsertionEvent.java |    8 +-
 .../tablet/TabletInsertionDataContainer.java       |   33 +-
 .../common/tsfile/PipeTsFileInsertionEvent.java    |    7 +-
 .../common/tsfile/TsFileInsertionPointCounter.java |    8 +-
 .../TsFileInsertionDataContainerProvider.java      |    3 +-
 .../query/TsFileInsertionQueryDataContainer.java   |   22 +-
 .../TsFileInsertionQueryDataTabletIterator.java    |   14 +-
 .../scan/TsFileInsertionScanDataContainer.java     |   14 +-
 .../db/pipe/event/realtime/PipeRealtimeEvent.java  |   10 +-
 .../PipeHistoricalDataRegionTsFileExtractor.java   |    3 +-
 .../realtime/epoch/TsFileEpochManager.java         |   14 +-
 .../schemaregion/IoTDBSchemaRegionExtractor.java   |    2 +-
 .../schemaregion/PipePlanPatternParseVisitor.java  |   52 +-
 .../pipe/pattern/CachedSchemaPatternMatcher.java   |    9 +-
 .../twostage/plugin/TwoStageCountProcessor.java    |    2 +-
 .../legacy/IoTDBLegacyPipeReceiverAgent.java       |  104 +-
 .../protocol/thrift/IoTDBDataNodeReceiver.java     |   42 +-
 .../transform/converter/ArrayConverter.java        |  940 +++++
 .../transform/converter/ValueConverter.java        |  787 +++++
 .../statement/PipeConvertedInsertRowStatement.java |  112 +
 .../PipeConvertedInsertTabletStatement.java        |   64 +
 .../visitor/PipePlanToStatementVisitor.java        |   45 +-
 ...peStatementDataTypeConvertExecutionVisitor.java |  173 +
 .../visitor/PipeStatementPatternParseVisitor.java  |    9 +-
 .../visitor/PipeStatementToBatchVisitor.java       |    2 +-
 .../pipe/resource/memory/PipeMemoryWeightUtil.java |    6 +-
 .../iotdb/db/protocol/client/ConfigNodeClient.java |   39 +
 .../rest/v1/impl/GrafanaApiServiceImpl.java        |    1 +
 .../protocol/rest/v1/impl/RestApiServiceImpl.java  |   18 +-
 .../rest/v2/impl/GrafanaApiServiceImpl.java        |    1 +
 .../protocol/rest/v2/impl/RestApiServiceImpl.java  |   18 +-
 .../iotdb/db/protocol/session/IClientSession.java  |   59 +
 .../iotdb/db/protocol/session/SessionManager.java  |   27 +-
 .../protocol/thrift/impl/ClientRPCServiceImpl.java |  377 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |   70 +-
 .../db/queryengine/common/MPPQueryContext.java     |   21 +
 .../iotdb/db/queryengine/common/SessionInfo.java   |   57 +-
 .../db/queryengine/common/header/ColumnHeader.java |   12 +-
 .../common/header/ColumnHeaderConstant.java        |   22 +
 .../queryengine/common/header/DatasetHeader.java   |   18 +
 .../common/header/DatasetHeaderFactory.java        |   12 +
 .../common/schematree/ClusterSchemaTree.java       |   21 +-
 .../common/schematree/DeviceSchemaInfo.java        |    4 +-
 .../queryengine/common/schematree/ISchemaTree.java |    9 +-
 .../execution/MemoryEstimationHelper.java          |   13 +-
 .../slidingwindow/SlidingWindowAggregator.java     |    7 +-
 .../execution/driver/DataDriverContext.java        |    8 +-
 .../execution/executor/RegionWriteExecutor.java    |   29 +-
 .../fragment/FragmentInstanceContext.java          |   32 +-
 .../fragment/FragmentInstanceManager.java          |    6 +-
 .../execution/fragment/QueryContext.java           |   30 +-
 .../execution/load/LoadTsFileManager.java          |    4 +-
 .../queryengine/execution/load/TsFileSplitter.java |   13 +-
 .../execution/operator/AggregationUtil.java        |    5 +-
 .../operator/process/AbstractSortOperator.java     |  369 ++
 .../operator/process/CollectOperator.java          |  133 +
 .../operator/process/DeviceViewIntoOperator.java   |    3 +-
 .../operator/process/DeviceViewOperator.java       |    9 +-
 .../operator/process/FilterAndProjectOperator.java |   78 +-
 .../execution/operator/process/IntoOperator.java   |    3 +-
 .../operator/process/MergeSortOperator.java        |   12 +-
 .../execution/operator/process/SortOperator.java   |  313 +-
 .../operator/process/TableMergeSortOperator.java   |   56 +
 .../operator/process/TableSortOperator.java        |   63 +
 .../operator/process/TableStreamSortOperator.java  |  220 ++
 .../operator/process/TableTopKOperator.java        |   57 +
 .../execution/operator/process/TopKOperator.java   |   32 +-
 .../operator/process/TransformOperator.java        |   11 +-
 .../operator/process/TreeMergeSortOperator.java    |   53 +
 .../operator/process/TreeSortOperator.java         |   60 +
 .../operator/process/TreeTopKOperator.java         |   57 +
 .../execution/operator/process/fill/IFill.java     |    3 +-
 .../operator/process/fill/ILinearFill.java         |    5 +-
 .../process/fill/identity/IdentityFill.java        |    3 +-
 .../process/fill/identity/IdentityLinearFill.java  |    5 +-
 .../operator/process/fill/linear/LinearFill.java   |   13 +-
 .../process/join/HorizontallyConcatOperator.java   |    3 +-
 .../process/join/LeftOuterTimeJoinOperator.java    |    3 +-
 .../process/join/merge/MergeSortComparator.java    |   24 +
 .../process/join/merge/MultiColumnMerger.java      |    5 +-
 .../process/join/merge/SingleColumnMerger.java     |    3 +-
 .../schema/source/SchemaSourceFactory.java         |   20 +
 .../schema/source/TableDeviceFetchSource.java      |  121 +
 .../schema/source/TableDeviceQuerySource.java      |  233 ++
 .../source/AbstractSeriesScanOperator.java         |   10 +-
 .../source/ActiveDeviceRegionScanOperator.java     |    2 +-
 .../source/ActiveTimeSeriesRegionScanOperator.java |    3 +-
 .../AlignedSeriesAggregationScanOperator.java      |    6 +-
 .../operator/source/AlignedSeriesScanOperator.java |   22 +-
 .../operator/source/AlignedSeriesScanUtil.java     |   16 +-
 .../execution/operator/source/FileLoaderUtils.java |   37 +-
 .../source/SeriesAggregationScanOperator.java      |    6 +-
 .../operator/source/SeriesScanOperator.java        |    7 +-
 .../execution/operator/source/SeriesScanUtil.java  |   19 +-
 .../source/relational/TableScanOperator.java       |  329 ++
 .../operator/window/ConditionWindowManager.java    |    3 +-
 .../operator/window/CountWindowManager.java        |    3 +-
 .../operator/window/SessionWindowManager.java      |    4 +-
 .../relational/ColumnTransformerBuilder.java       |  894 +++++
 .../warnings/DefaultWarningCollector.java          |   56 +
 .../execution/warnings/IoTDBWarning.java           |   69 +
 .../execution/warnings/StandardWarningCode.java    |   38 +
 .../execution/warnings/WarningCode.java            |   68 +
 .../execution/warnings/WarningCodeSupplier.java    |   24 +
 .../execution/warnings/WarningCollector.java       |   43 +
 .../iotdb/db/queryengine/plan/Coordinator.java     |  143 +-
 .../db/queryengine/plan/analyze/Analysis.java      |  106 +-
 .../db/queryengine/plan/analyze/AnalyzeUtils.java  |  278 ++
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |  539 ++-
 .../db/queryengine/plan/analyze/Analyzer.java      |    4 +
 .../plan/analyze/ClusterPartitionFetcher.java      |  121 +-
 .../plan/analyze/ExpressionAnalyzer.java           |    7 +-
 .../plan/analyze/ExpressionTypeAnalyzer.java       |   95 +-
 .../queryengine/plan/analyze/ExpressionUtils.java  |    8 +
 .../db/queryengine/plan/analyze/IAnalysis.java     |   17 +
 .../plan/analyze/IPartitionFetcher.java            |   33 +
 .../plan/analyze/LoadTsfileAnalyzer.java           |   53 +-
 .../queryengine/plan/analyze/PredicateUtils.java   |   35 +
 .../queryengine/plan/analyze/SelectIntoUtils.java  |    6 +-
 .../plan/analyze/TemplatedAggregationAnalyze.java  |    7 +-
 .../queryengine/plan/analyze/TemplatedAnalyze.java |   32 +-
 .../db/queryengine/plan/analyze/TemplatedInfo.java |    4 +-
 .../db/queryengine/plan/analyze/TypeProvider.java  |  145 +-
 .../cache/partition/DatabaseCacheResult.java       |   73 +
 .../analyze/cache/partition/PartitionCache.java    |  516 +--
 .../cache/partition/StorageGroupCacheResult.java   |   71 -
 .../analyze/cache/schema/DataNodeSchemaCache.java  |    2 +-
 .../analyze/cache/schema/DataNodeTTLCache.java     |   18 +-
 .../schema/DeviceUsingTemplateSchemaCache.java     |    4 +-
 .../cache/schema/TimeSeriesSchemaCache.java        |    6 +-
 .../cache/schema/dualkeycache/IDualKeyCache.java   |   15 +-
 .../schema/dualkeycache/impl/DualKeyCacheImpl.java |   39 +-
 .../plan/analyze/lock/SchemaLockType.java          |   17 +-
 .../analyze/schema/AutoCreateSchemaExecutor.java   |    6 +-
 .../analyze/schema/ClusterSchemaFetchExecutor.java |    3 +-
 .../plan/analyze/schema/ClusterSchemaFetcher.java  |   14 +-
 .../plan/analyze/schema/ISchemaAutoCreation.java   |    2 +
 .../plan/analyze/schema/NormalSchemaFetcher.java   |    5 +-
 .../plan/analyze/schema/SchemaValidator.java       |   17 +
 .../queryengine/plan/execution/QueryExecution.java |   15 +-
 .../plan/execution/config/ConfigTaskVisitor.java   |  588 ----
 .../execution/config/TableConfigTaskVisitor.java   |  265 ++
 .../execution/config/TreeConfigTaskVisitor.java    |  588 ++++
 .../config/executor/ClusterConfigTaskExecutor.java |  389 ++-
 .../config/executor/IConfigTaskExecutor.java       |   45 +-
 .../relational/AlterTableAddColumnTask.java        |  106 +
 .../config/metadata/relational/CreateDBTask.java   |   42 +
 .../metadata/relational/CreateTableTask.java       |   50 +
 .../metadata/relational/DescribeTableTask.java     |   85 +
 .../config/metadata/relational/DropDBTask.java     |   42 +
 .../metadata/relational/ShowConfigNodesTask.java   |   80 +
 .../config/metadata/relational/ShowDBTask.java     |   82 +
 .../metadata/relational/ShowDataNodesTask.java     |   85 +
 .../config/metadata/relational/ShowTablesTask.java |   81 +
 .../config/metadata/relational/UseDBTask.java      |   46 +
 .../memory/StatementMemorySourceVisitor.java       |    6 +-
 .../TableModelStatementMemorySourceContext.java    |   41 +
 .../TableModelStatementMemorySourceVisitor.java    |   91 +
 .../plan/expression/ExpressionFactory.java         |    3 +-
 .../plan/expression/leaf/TimeSeriesOperand.java    |   45 +-
 .../BindTypeForTimeSeriesOperandVisitor.java       |    5 +-
 .../visitor/ColumnTransformerVisitor.java          |    2 +-
 .../visitor/ExpressionNormalizeVisitor.java        |    2 +-
 .../visitor/GetMeasurementExpressionVisitor.java   |   27 +-
 .../visitor/RemoveRootPrefixVisitor.java           |    2 +-
 .../visitor/ReplaceLogicalViewVisitor.java         |   17 +-
 .../visitor/ReplaceSubTreeWithViewVisitor.java     |    3 +-
 .../predicate/ConvertPredicateToFilterVisitor.java |    2 +-
 .../plan/optimization/AggregationPushDown.java     |   15 +-
 .../plan/optimization/ColumnInjectionPushDown.java |    2 +-
 .../plan/optimization/LimitOffsetPushDown.java     |    2 +-
 .../OrderByExpressionWithLimitChangeToTopK.java    |    2 +-
 .../plan/optimization/PredicatePushDown.java       |    4 +-
 .../db/queryengine/plan/parser/ASTVisitor.java     |   42 +-
 .../plan/parser/StatementGenerator.java            |   45 +-
 .../plan/planner/LocalExecutionPlanContext.java    |   11 +-
 .../plan/planner/LocalExecutionPlanner.java        |   48 +-
 .../plan/planner/LogicalPlanBuilder.java           |  104 +-
 .../plan/planner/LogicalPlanVisitor.java           |   49 +-
 .../queryengine/plan/planner/LogicalPlanner.java   |    3 +-
 .../plan/planner/OperatorTreeGenerator.java        |  192 +-
 .../plan/planner/SubPlanTypeExtractor.java         |   11 +-
 .../plan/planner/TableOperatorGenerator.java       |  812 +++++
 .../plan/planner/TemplatedLogicalPlan.java         |   33 +-
 .../queryengine/plan/planner/TreeModelPlanner.java |    6 +-
 .../planner/distribution/DistributionPlanner.java  |   16 +-
 .../planner/distribution/ExchangeNodeAdder.java    |   16 +-
 .../SimpleFragmentParallelPlanner.java             |   18 +-
 .../plan/planner/distribution/SourceRewriter.java  |   25 +-
 .../distribution/WriteFragmentParallelPlanner.java |   22 +-
 .../plan/planner/plan/DistributedQueryPlan.java    |   20 +-
 .../plan/planner/plan/FragmentInstance.java        |   13 +
 .../plan/planner/plan/PlanFragment.java            |    5 +
 .../plan/planner/plan/TableModelTimePredicate.java |   67 +
 .../plan/planner/plan/TimePredicate.java           |   12 +-
 .../plan/planner/plan/TreeModelTimePredicate.java  |    2 +
 .../plan/planner/plan/node/PlanGraphPrinter.java   |  133 +-
 .../plan/planner/plan/node/PlanNode.java           |   10 +
 .../plan/planner/plan/node/PlanNodeType.java       |  167 +-
 .../plan/planner/plan/node/PlanVisitor.java        |  168 +-
 .../planner/plan/node/load/LoadTsFileNode.java     |    7 +-
 .../metadata/read/AbstractSchemaMergeNode.java     |   66 +
 .../read/AbstractTableDeviceQueryNode.java         |  218 ++
 .../node/metadata/read/CountSchemaMergeNode.java   |   71 +
 .../metadata/read/DeviceSchemaFetchScanNode.java   |  101 +
 .../plan/node/metadata/read/DevicesCountNode.java  |   98 +
 .../node/metadata/read/DevicesSchemaScanNode.java  |  158 +
 .../metadata/read/LevelTimeSeriesCountNode.java    |  174 +
 .../metadata/read/LogicalViewSchemaScanNode.java   |  141 +
 .../read/NodeManagementMemoryMergeNode.java        |  138 +
 .../node/metadata/read/NodePathsConvertNode.java   |  101 +
 .../node/metadata/read/NodePathsCountNode.java     |  101 +
 .../metadata/read/NodePathsSchemaScanNode.java     |  126 +
 .../metadata/read/PathsUsingTemplateScanNode.java  |  140 +
 .../node/metadata/read/SchemaFetchMergeNode.java   |  115 +
 .../node/metadata/read/SchemaFetchScanNode.java    |   88 +
 .../node/metadata/read/SchemaQueryMergeNode.java   |   97 +
 .../metadata/read/SchemaQueryOrderByHeatNode.java  |   99 +
 .../node/metadata/read/SchemaQueryScanNode.java    |  187 +
 .../metadata/read/SeriesSchemaFetchScanNode.java   |  176 +
 .../node/metadata/read/TableDeviceFetchNode.java   |  183 +
 .../metadata/read/TableDeviceQueryCountNode.java   |   84 +
 .../metadata/read/TableDeviceQueryScanNode.java    |   84 +
 .../node/metadata/read/TableDeviceSourceNode.java  |  131 +
 .../node/metadata/read/TimeSeriesCountNode.java    |  164 +
 .../metadata/read/TimeSeriesSchemaScanNode.java    |  207 ++
 .../node/metadata/write/ActivateTemplateNode.java  |  202 ++
 .../node/metadata/write/AlterTimeSeriesNode.java   |  384 ++
 .../metadata/write/BatchActivateTemplateNode.java  |  198 ++
 .../write/ConstructSchemaBlackListNode.java        |  111 +
 .../write/CreateAlignedTimeSeriesNode.java         |  467 +++
 .../metadata/write/CreateMultiTimeSeriesNode.java  |  302 ++
 .../node/metadata/write/CreateTimeSeriesNode.java  |  400 +++
 .../metadata/write/DeactivateTemplateNode.java     |  149 +
 .../node/metadata/write/DeleteTimeSeriesNode.java  |  116 +
 .../write/InternalBatchActivateTemplateNode.java   |  186 +
 .../write/InternalCreateMultiTimeSeriesNode.java   |  189 +
 .../write/InternalCreateTimeSeriesNode.java        |  162 +
 .../plan/node/metadata/write/MeasurementGroup.java |  424 +++
 .../metadata/write/PreDeactivateTemplateNode.java  |  149 +
 .../write/RollbackPreDeactivateTemplateNode.java   |  151 +
 .../write/RollbackSchemaBlackListNode.java         |  111 +
 .../metadata/write/view/AlterLogicalViewNode.java  |  156 +
 .../view/ConstructLogicalViewBlackListNode.java    |  111 +
 .../metadata/write/view/CreateLogicalViewNode.java |  298 ++
 .../metadata/write/view/DeleteLogicalViewNode.java |   96 +
 .../view/RollbackLogicalViewBlackListNode.java     |   96 +
 .../metedata/read/AbstractSchemaMergeNode.java     |   66 -
 .../node/metedata/read/CountSchemaMergeNode.java   |   71 -
 .../metedata/read/DeviceSchemaFetchScanNode.java   |  101 -
 .../plan/node/metedata/read/DevicesCountNode.java  |   98 -
 .../node/metedata/read/DevicesSchemaScanNode.java  |  157 -
 .../metedata/read/LevelTimeSeriesCountNode.java    |  174 -
 .../metedata/read/LogicalViewSchemaScanNode.java   |  141 -
 .../read/NodeManagementMemoryMergeNode.java        |  138 -
 .../node/metedata/read/NodePathsConvertNode.java   |  101 -
 .../node/metedata/read/NodePathsCountNode.java     |  101 -
 .../metedata/read/NodePathsSchemaScanNode.java     |  126 -
 .../metedata/read/PathsUsingTemplateScanNode.java  |  140 -
 .../node/metedata/read/SchemaFetchMergeNode.java   |  115 -
 .../node/metedata/read/SchemaFetchScanNode.java    |   88 -
 .../node/metedata/read/SchemaQueryMergeNode.java   |   97 -
 .../metedata/read/SchemaQueryOrderByHeatNode.java  |   99 -
 .../node/metedata/read/SchemaQueryScanNode.java    |  187 -
 .../metedata/read/SeriesSchemaFetchScanNode.java   |  176 -
 .../node/metedata/read/TimeSeriesCountNode.java    |  163 -
 .../metedata/read/TimeSeriesSchemaScanNode.java    |  206 --
 .../node/metedata/write/ActivateTemplateNode.java  |  200 --
 .../node/metedata/write/AlterTimeSeriesNode.java   |  382 --
 .../metedata/write/BatchActivateTemplateNode.java  |  196 --
 .../write/ConstructSchemaBlackListNode.java        |  111 -
 .../write/CreateAlignedTimeSeriesNode.java         |  465 ---
 .../metedata/write/CreateMultiTimeSeriesNode.java  |  299 --
 .../node/metedata/write/CreateTimeSeriesNode.java  |  399 ---
 .../metedata/write/DeactivateTemplateNode.java     |  149 -
 .../node/metedata/write/DeleteTimeSeriesNode.java  |  116 -
 .../write/InternalBatchActivateTemplateNode.java   |  184 -
 .../write/InternalCreateMultiTimeSeriesNode.java   |  187 -
 .../write/InternalCreateTimeSeriesNode.java        |  160 -
 .../plan/node/metedata/write/MeasurementGroup.java |  424 ---
 .../metedata/write/PreDeactivateTemplateNode.java  |  149 -
 .../write/RollbackPreDeactivateTemplateNode.java   |  151 -
 .../write/RollbackSchemaBlackListNode.java         |  111 -
 .../metedata/write/view/AlterLogicalViewNode.java  |  156 -
 .../view/ConstructLogicalViewBlackListNode.java    |  111 -
 .../metedata/write/view/CreateLogicalViewNode.java |  294 --
 .../metedata/write/view/DeleteLogicalViewNode.java |   96 -
 .../view/RollbackLogicalViewBlackListNode.java     |   96 -
 .../node/pipe/PipeEnrichedNonWritePlanNode.java    |   10 +-
 .../plan/node/pipe/PipeEnrichedWritePlanNode.java  |   20 +-
 .../planner/plan/node/process/DeviceViewNode.java  |   50 +-
 .../plan/node/process/SingleDeviceViewNode.java    |   27 +-
 .../plan/node/source/AlignedLastQueryScanNode.java |    2 +-
 .../plan/node/source/AlignedSeriesScanNode.java    |    2 +-
 .../plan/planner/plan/node/source/SourceNode.java  |    3 +-
 .../plan/node/source/TimeseriesRegionScanNode.java |   10 +-
 .../planner/plan/node/write/DeleteDataNode.java    |   40 +-
 .../plan/node/write/InsertMultiTabletsNode.java    |    5 -
 .../plan/planner/plan/node/write/InsertNode.java   |   88 +-
 .../planner/plan/node/write/InsertRowNode.java     |   68 +-
 .../planner/plan/node/write/InsertRowsNode.java    |   27 +-
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |   22 +-
 .../planner/plan/node/write/InsertTabletNode.java  |  359 +-
 .../plan/node/write/RelationalInsertRowNode.java   |  233 ++
 .../plan/node/write/RelationalInsertRowsNode.java  |  188 +
 .../node/write/RelationalInsertTabletNode.java     |  257 ++
 .../parameter/DeviceViewIntoPathDescriptor.java    |    2 +-
 .../planner/plan/parameter/SeriesScanOptions.java  |   58 +-
 .../relational/analyzer/AggregationAnalyzer.java   |  465 +++
 .../plan/relational/analyzer/Analysis.java         |  997 ++++++
 .../plan/relational/analyzer/Analyzer.java         |   98 +
 .../relational/analyzer/CanonicalizationAware.java |  105 +
 .../relational/analyzer/CorrelationSupport.java    |   25 +
 .../relational/analyzer/ExpressionAnalysis.java    |   99 +
 .../relational/analyzer/ExpressionAnalyzer.java    | 1534 ++++++++
 .../relational/analyzer/ExpressionTreeUtils.java   |   98 +
 .../plan/relational/analyzer/Field.java            |  218 ++
 .../plan/relational/analyzer/FieldId.java          |   80 +
 .../plan/relational/analyzer/NodeRef.java          |   63 +
 .../plan/relational/analyzer/RelationId.java       |   91 +
 .../plan/relational/analyzer/RelationType.java     |  185 +
 .../plan/relational/analyzer/ResolvedField.java    |   77 +
 .../plan/relational/analyzer/Scope.java            |  401 +++
 .../analyzer/ScopeReferenceExtractor.java          |   60 +
 .../relational/analyzer/StatementAnalyzer.java     | 2530 ++++++++++++++
 .../analyzer/StatementAnalyzerFactory.java         |   69 +
 .../predicate/ConvertPredicateToFilterVisitor.java |  391 +++
 .../ConvertPredicateToTimeFilterVisitor.java       |  220 ++
 .../PredicateCombineIntoTableScanChecker.java      |  149 +
 .../PredicatePushIntoMetadataChecker.java          |  146 +
 .../predicate/PredicatePushIntoScanChecker.java    |  131 +
 .../analyzer/predicate/PredicateVisitor.java       |   87 +
 .../schema/CheckSchemaPredicateVisitor.java        |  155 +
 .../ConvertSchemaPredicateToFilterVisitor.java     |  227 ++
 .../schema/ExtractPredicateColumnNameVisitor.java  |  125 +
 .../querystats/PlanOptimizersStatsCollector.java   |   75 +
 .../querystats/QueryPlanOptimizerStatistics.java   |   57 +
 .../querystats/QueryPlanOptimizerStats.java        |   84 +
 .../plan/relational/function/BoundSignature.java   |   97 +
 .../plan/relational/function/FunctionId.java       |   68 +
 .../plan/relational/function/FunctionKind.java     |   27 +
 .../function/LongVariableConstraint.java           |   64 +
 .../plan/relational/function/OperatorType.java     |   67 +
 .../plan/relational/function/Signature.java        |  213 ++
 .../function/TypeVariableConstraint.java           |  192 +
 .../metadata/BuiltinFunctionResolver.java          |   22 +
 .../plan/relational/metadata/ColumnHandle.java     |   40 +
 .../plan/relational/metadata/ColumnMetadata.java   |  213 ++
 .../plan/relational/metadata/ColumnSchema.java     |  214 ++
 .../plan/relational/metadata/DeviceEntry.java      |  131 +
 .../metadata/ITableDeviceSchemaValidation.java     |   66 +
 .../plan/relational/metadata/Metadata.java         |  181 +
 .../plan/relational/metadata/MetadataUtil.java     |  139 +
 .../metadata/OperatorNotFoundException.java        |  119 +
 .../relational/metadata/QualifiedObjectName.java   |  106 +
 .../relational/metadata/QualifiedTablePrefix.java  |   87 +
 .../plan/relational/metadata/ResolvedFunction.java |  107 +
 .../plan/relational/metadata/TableHandle.java      |   22 +
 .../plan/relational/metadata/TableMetadata.java    |   93 +
 .../relational/metadata/TableMetadataImpl.java     |  431 +++
 .../plan/relational/metadata/TableSchema.java      |  109 +
 .../fetcher/DeviceInCacheFilterVisitor.java        |   66 +
 .../metadata/fetcher/SchemaPredicateUtil.java      |  232 ++
 .../metadata/fetcher/TableDeviceSchemaFetcher.java |  445 +++
 .../fetcher/TableDeviceSchemaValidator.java        |  256 ++
 .../fetcher/TableHeaderSchemaValidator.java        |  263 ++
 .../fetcher/cache/TableDeviceCacheEntry.java       |   54 +
 .../metadata/fetcher/cache/TableDeviceId.java      |   66 +
 .../fetcher/cache/TableDeviceSchemaCache.java      |  100 +
 .../relational/metadata/fetcher/cache/TableId.java |   69 +
 .../plan/relational/planner/Assignments.java       |  255 ++
 .../relational/planner/ExpressionExtractor.java    |  117 +
 .../planner/ExpressionSymbolInliner.java           |   65 +
 .../plan/relational/planner/LogicalPlanner.java    |  357 ++
 .../plan/relational/planner/OrderingScheme.java    |  132 +
 .../relational/planner/OrderingTranslator.java     |   34 +
 .../plan/relational/planner/PlanBuilder.java       |  150 +
 .../plan/relational/planner/PlanNodeSearcher.java  |  226 ++
 .../plan/relational/planner/PlannerContext.java    |   44 +
 .../plan/relational/planner/PredicateUtils.java    |  415 +++
 .../plan/relational/planner/QueryPlanner.java      |  313 ++
 .../plan/relational/planner/RelationPlan.java      |   81 +
 .../plan/relational/planner/RelationPlanner.java   |  278 ++
 .../relational/planner/RelationalModelPlanner.java |  154 +
 .../relational/planner/RelationalPlanVisitor.java  |   78 +
 .../plan/relational/planner/ScopeAware.java        |  194 ++
 .../plan/relational/planner/SortOrder.java         |   44 +
 .../plan/relational/planner/Symbol.java            |  100 +
 .../plan/relational/planner/SymbolAllocator.java   |   90 +
 .../plan/relational/planner/SymbolResolver.java    |   24 +
 .../plan/relational/planner/SymbolsExtractor.java  |  200 ++
 .../plan/relational/planner/TranslationMap.java    |  331 ++
 .../planner/distribute/AddExchangeNodes.java       |  129 +
 .../planner/distribute/SubPlanGenerator.java       |   75 +
 .../distribute/TableDistributedPlanGenerator.java  |  613 ++++
 .../distribute/TableDistributedPlanner.java        |  201 ++
 .../distribute/TableModelQueryFragmentPlanner.java |  236 ++
 .../TableModelTypeProviderExtractor.java           |  179 +
 .../planner/ir/DefaultTraversalVisitor.java        |  187 +
 .../planner/ir/DeterminismEvaluator.java           |   41 +
 .../relational/planner/ir/ExpressionRewriter.java  |  166 +
 .../planner/ir/ExpressionTreeRewriter.java         |  606 ++++
 .../ExtractCommonPredicatesExpressionRewriter.java |  184 +
 .../ir/GlobalTimePredicateExtractVisitor.java      |  288 ++
 .../plan/relational/planner/ir/IrUtils.java        |  300 ++
 .../plan/relational/planner/ir/IrVisitor.java      |  116 +
 .../planner/ir/NormalizeOrExpressionRewriter.java  |  132 +
 .../relational/planner/ir/RewritingVisitor.java    |  240 ++
 .../relational/planner/ir/SerializeVisitor.java    |   22 +
 .../planner/iterative/GroupReference.java          |   86 +
 .../planner/iterative/IterativeOptimizer.java      |  365 ++
 .../plan/relational/planner/iterative/Lookup.java  |   65 +
 .../plan/relational/planner/iterative/Memo.java    |  225 ++
 .../plan/relational/planner/iterative/Plans.java   |   54 +
 .../plan/relational/planner/iterative/Rule.java    |   87 +
 .../relational/planner/iterative/RuleIndex.java    |   76 +
 .../relational/planner/iterative/RuleStats.java    |   53 +
 .../planner/iterative/RuleStatsRecorder.java       |   45 +
 .../rule/EliminateLimitProjectWithTableScan.java   |   61 +
 .../rule/EliminateLimitWithTableScan.java          |   50 +
 .../planner/iterative/rule/InlineProjections.java  |  220 ++
 .../rule/MergeLimitOverProjectWithMergeSort.java   |   87 +
 .../rule/MergeLimitOverProjectWithSort.java        |   98 +
 .../iterative/rule/MergeLimitWithMergeSort.java    |  118 +
 .../planner/iterative/rule/MergeLimitWithSort.java |   60 +
 .../iterative/rule/ProjectOffPushDownRule.java     |   67 +
 .../planner/iterative/rule/PruneFilterColumns.java |   46 +
 .../planner/iterative/rule/PruneLimitColumns.java  |   36 +
 .../planner/iterative/rule/PruneOffsetColumns.java |   36 +
 .../iterative/rule/PruneOutputSourceColumns.java   |   43 +
 .../iterative/rule/PruneProjectColumns.java        |   39 +
 .../planner/iterative/rule/PruneSortColumns.java   |   44 +
 .../iterative/rule/PruneTableScanColumns.java      |  105 +
 .../planner/iterative/rule/PruneTopKColumns.java   |   49 +
 .../iterative/rule/PushLimitThroughOffset.java     |   80 +
 .../iterative/rule/PushLimitThroughProject.java    |   58 +
 .../rule/RemoveRedundantIdentityProjections.java   |   48 +
 .../relational/planner/iterative/rule/Util.java    |  137 +
 .../relational/planner/node/ChildReplacer.java     |   32 +
 .../plan/relational/planner/node/CollectNode.java  |  131 +
 .../planner/node/CreateTableDeviceNode.java        |  319 ++
 .../plan/relational/planner/node/FilterNode.java   |  115 +
 .../plan/relational/planner/node/LimitNode.java    |  128 +
 .../relational/planner/node/MergeSortNode.java     |  141 +
 .../plan/relational/planner/node/OffsetNode.java   |  106 +
 .../plan/relational/planner/node/OutputNode.java   |  147 +
 .../plan/relational/planner/node/Patterns.java     |  432 +++
 .../plan/relational/planner/node/ProjectNode.java  |  125 +
 .../plan/relational/planner/node/SortNode.java     |  126 +
 .../relational/planner/node/StreamSortNode.java    |  120 +
 .../relational/planner/node/TableScanNode.java     |  494 +++
 .../plan/relational/planner/node/TopKNode.java     |  173 +
 .../optimizations/AdaptivePlanOptimizer.java       |   56 +
 .../optimizations/DistributedOptimizeFactory.java  |   56 +
 .../optimizations/LogicalOptimizeFactory.java      |  103 +
 .../planner/optimizations/PlanOptimizer.java       |  101 +
 .../PushLimitOffsetIntoTableScan.java              |  272 ++
 .../optimizations/PushPredicateIntoTableScan.java  |  382 ++
 .../planner/optimizations/SimplifyExpressions.java |   59 +
 .../planner/optimizations/SortElimination.java     |   94 +
 .../optimizations/TransformSortToStreamSort.java   |  145 +
 .../relational/planner/optimizations/Util.java     |  138 +
 .../plan/relational/security/AccessControl.java    |   22 +
 .../plan/relational/security/Identity.java         |   32 +
 .../relational/sql/ast/AbstractQueryDevice.java    |  147 +
 .../plan/relational/sql/ast/AddColumn.java         |   88 +
 .../plan/relational/sql/ast/AliasedRelation.java   |  112 +
 .../plan/relational/sql/ast/AllColumns.java        |  130 +
 .../plan/relational/sql/ast/AllRows.java           |   67 +
 .../sql/ast/ArithmeticBinaryExpression.java        |  142 +
 .../sql/ast/ArithmeticUnaryExpression.java         |  135 +
 .../plan/relational/sql/ast/AstVisitor.java        |  505 +++
 .../plan/relational/sql/ast/BetweenPredicate.java  |  128 +
 .../plan/relational/sql/ast/BinaryLiteral.java     |  139 +
 .../plan/relational/sql/ast/BooleanLiteral.java    |  112 +
 .../queryengine/plan/relational/sql/ast/Cast.java  |  159 +
 .../relational/sql/ast/CoalesceExpression.java     |   92 +
 .../plan/relational/sql/ast/ColumnDefinition.java  |  123 +
 .../relational/sql/ast/ComparisonExpression.java   |  195 ++
 .../plan/relational/sql/ast/CountDevice.java       |   38 +
 .../plan/relational/sql/ast/CreateDB.java          |  115 +
 .../plan/relational/sql/ast/CreateDevice.java      |  123 +
 .../plan/relational/sql/ast/CreateFunction.java    |  104 +
 .../plan/relational/sql/ast/CreateIndex.java       |  110 +
 .../plan/relational/sql/ast/CreateTable.java       |  132 +
 .../plan/relational/sql/ast/CurrentDatabase.java   |   70 +
 .../plan/relational/sql/ast/CurrentTime.java       |  113 +
 .../plan/relational/sql/ast/CurrentUser.java       |   70 +
 .../plan/relational/sql/ast/DataType.java          |   28 +
 .../plan/relational/sql/ast/DataTypeParameter.java |   34 +
 .../plan/relational/sql/ast/DecimalLiteral.java    |  103 +
 .../sql/ast/DefaultExpressionTraversalVisitor.java |   29 +
 .../sql/ast/DefaultTraversalVisitor.java           |  490 +++
 .../plan/relational/sql/ast/Delete.java            |   94 +
 .../relational/sql/ast/DereferenceExpression.java  |  151 +
 .../plan/relational/sql/ast/DescribeTable.java     |   80 +
 .../plan/relational/sql/ast/DoubleLiteral.java     |  106 +
 .../plan/relational/sql/ast/DropColumn.java        |   86 +
 .../plan/relational/sql/ast/DropDB.java            |   86 +
 .../plan/relational/sql/ast/DropFunction.java      |   74 +
 .../plan/relational/sql/ast/DropIndex.java         |   88 +
 .../plan/relational/sql/ast/DropTable.java         |   86 +
 .../plan/relational/sql/ast/Except.java            |  107 +
 .../plan/relational/sql/ast/ExistsPredicate.java   |   80 +
 .../plan/relational/sql/ast/Explain.java           |   79 +
 .../plan/relational/sql/ast/ExplainAnalyze.java    |   86 +
 .../plan/relational/sql/ast/Expression.java        |  155 +
 .../plan/relational/sql/ast/FetchDevice.java       |  110 +
 .../plan/relational/sql/ast/FieldReference.java    |   80 +
 .../queryengine/plan/relational/sql/ast/Flush.java |   35 +
 .../plan/relational/sql/ast/FunctionCall.java      |  145 +
 .../plan/relational/sql/ast/GenericDataType.java   |  111 +
 .../plan/relational/sql/ast/GenericLiteral.java    |  132 +
 .../plan/relational/sql/ast/GroupBy.java           |  100 +
 .../plan/relational/sql/ast/GroupByTime.java       |  145 +
 .../plan/relational/sql/ast/GroupingElement.java   |   36 +
 .../plan/relational/sql/ast/GroupingSets.java      |  114 +
 .../plan/relational/sql/ast/Identifier.java        |  168 +
 .../plan/relational/sql/ast/IfExpression.java      |  105 +
 .../plan/relational/sql/ast/InListExpression.java  |  110 +
 .../plan/relational/sql/ast/InPredicate.java       |  106 +
 .../plan/relational/sql/ast/Insert.java            |  107 +
 .../plan/relational/sql/ast/InsertRow.java         |   88 +
 .../plan/relational/sql/ast/InsertRows.java        |  150 +
 .../plan/relational/sql/ast/InsertTablet.java      |   98 +
 .../plan/relational/sql/ast/Intersect.java         |   91 +
 .../relational/sql/ast/IsNotNullPredicate.java     |   97 +
 .../plan/relational/sql/ast/IsNullPredicate.java   |   97 +
 .../queryengine/plan/relational/sql/ast/Join.java  |  165 +
 .../plan/relational/sql/ast/JoinCriteria.java      |   37 +
 .../plan/relational/sql/ast/JoinOn.java            |   68 +
 .../plan/relational/sql/ast/JoinUsing.java         |   70 +
 .../plan/relational/sql/ast/LikePredicate.java     |  143 +
 .../queryengine/plan/relational/sql/ast/Limit.java |   96 +
 .../plan/relational/sql/ast/Literal.java           |   47 +
 .../plan/relational/sql/ast/LogicalExpression.java |  148 +
 .../plan/relational/sql/ast/LongLiteral.java       |  137 +
 .../plan/relational/sql/ast/NaturalJoin.java       |   51 +
 .../queryengine/plan/relational/sql/ast/Node.java  |   71 +
 .../plan/relational/sql/ast/NodeLocation.java      |   68 +
 .../plan/relational/sql/ast/NotExpression.java     |   97 +
 .../plan/relational/sql/ast/NullIfExpression.java  |   86 +
 .../plan/relational/sql/ast/NullLiteral.java       |   81 +
 .../plan/relational/sql/ast/NumericParameter.java  |   88 +
 .../plan/relational/sql/ast/Offset.java            |   94 +
 .../plan/relational/sql/ast/OrderBy.java           |   89 +
 .../plan/relational/sql/ast/Parameter.java         |   82 +
 .../plan/relational/sql/ast/Property.java          |  120 +
 .../plan/relational/sql/ast/QualifiedName.java     |  206 ++
 .../sql/ast/QuantifiedComparisonExpression.java    |  123 +
 .../queryengine/plan/relational/sql/ast/Query.java |  146 +
 .../plan/relational/sql/ast/QueryBody.java         |   34 +
 .../relational/sql/ast/QuerySpecification.java     |  169 +
 .../plan/relational/sql/ast/Relation.java          |   32 +
 .../plan/relational/sql/ast/RenameColumn.java      |   92 +
 .../plan/relational/sql/ast/RenameTable.java       |   85 +
 .../queryengine/plan/relational/sql/ast/Row.java   |   77 +
 .../relational/sql/ast/SearchedCaseExpression.java |  107 +
 .../plan/relational/sql/ast/Select.java            |  100 +
 .../plan/relational/sql/ast/SelectItem.java        |   27 +
 .../plan/relational/sql/ast/SetConfiguration.java  |   34 +
 .../plan/relational/sql/ast/SetOperation.java      |   42 +
 .../plan/relational/sql/ast/SetProperties.java     |  107 +
 .../plan/relational/sql/ast/ShowCluster.java       |   90 +
 .../plan/relational/sql/ast/ShowConfigNodes.java   |   66 +
 .../plan/relational/sql/ast/ShowDB.java            |   64 +
 .../plan/relational/sql/ast/ShowDataNodes.java     |   66 +
 .../plan/relational/sql/ast/ShowDevice.java        |   54 +
 .../plan/relational/sql/ast/ShowFunctions.java     |   65 +
 .../plan/relational/sql/ast/ShowIndex.java         |   78 +
 .../plan/relational/sql/ast/ShowRegions.java       |  103 +
 .../plan/relational/sql/ast/ShowTables.java        |   92 +
 .../relational/sql/ast/SimpleCaseExpression.java   |  124 +
 .../plan/relational/sql/ast/SimpleGroupBy.java     |   89 +
 .../plan/relational/sql/ast/SingleColumn.java      |  114 +
 .../plan/relational/sql/ast/SortItem.java          |  122 +
 .../relational/sql/ast/StackableAstVisitor.java    |   65 +
 .../plan/relational/sql/ast/Statement.java         |   34 +
 .../plan/relational/sql/ast/StringLiteral.java     |  112 +
 .../relational/sql/ast/SubqueryExpression.java     |   79 +
 .../plan/relational/sql/ast/SymbolReference.java   |   87 +
 .../queryengine/plan/relational/sql/ast/Table.java |   89 +
 .../relational/sql/ast/TableExpressionType.java    |   57 +
 .../plan/relational/sql/ast/TableSubquery.java     |   85 +
 .../plan/relational/sql/ast/TimeRange.java         |   95 +
 .../queryengine/plan/relational/sql/ast/Trim.java  |  141 +
 .../plan/relational/sql/ast/TypeParameter.java     |   78 +
 .../queryengine/plan/relational/sql/ast/Union.java |   92 +
 .../plan/relational/sql/ast/Update.java            |  109 +
 .../plan/relational/sql/ast/UpdateAssignment.java  |   84 +
 .../queryengine/plan/relational/sql/ast/Use.java   |   81 +
 .../plan/relational/sql/ast/Values.java            |   83 +
 .../plan/relational/sql/ast/WhenClause.java        |   86 +
 .../queryengine/plan/relational/sql/ast/With.java  |  100 +
 .../plan/relational/sql/ast/WithQuery.java         |  130 +
 .../relational/sql/ast/WrappedInsertStatement.java |  221 ++
 .../plan/relational/sql/ast/WrappedStatement.java  |   83 +
 .../relational/sql/parser/AntlrATNCacheFields.java |   70 +
 .../plan/relational/sql/parser/AstBuilder.java     | 2004 +++++++++++
 .../sql/parser/CaseInsensitiveStream.java          |   85 +
 .../plan/relational/sql/parser/ErrorHandler.java   |  438 +++
 .../relational/sql/parser/ParsingException.java    |   69 +
 .../RefreshableSqlBaseParserInitializer.java       |   52 +
 .../plan/relational/sql/parser/SqlParser.java      |  264 ++
 .../plan/relational/sql/util/AstUtil.java          |  114 +
 .../relational/sql/util/ExpressionFormatter.java   |  673 ++++
 .../plan/relational/sql/util/QueryUtil.java        |  208 ++
 .../relational/sql/util/ReservedIdentifiers.java   |   49 +
 .../plan/relational/sql/util/SqlFormatter.java     |  783 +++++
 .../plan/relational/type/InternalTypeManager.java  |  109 +
 .../plan/relational/type/NamedTypeSignature.java   |   79 +
 .../plan/relational/type/ParameterKind.java        |   27 +
 .../plan/relational/type/RowFieldName.java         |   63 +
 .../plan/relational/type/StandardTypes.java        |   55 +
 .../queryengine/plan/relational/type/TypeId.java   |   66 +
 .../plan/relational/type/TypeManager.java          |   37 +
 .../relational/type/TypeNotFoundException.java     |   43 +
 .../plan/relational/type/TypeSignature.java        |  207 ++
 .../relational/type/TypeSignatureParameter.java    |  175 +
 .../relational/type/TypeSignatureTranslator.java   |  107 +
 .../plan/relational/utils/ConversionUtils.java     |   26 +
 .../plan/relational/utils/MoreLists.java           |   53 +
 .../plan/relational/utils/NodeUtils.java           |   36 +
 .../plan/relational/utils/matching/Capture.java    |   43 +
 .../plan/relational/utils/matching/Captures.java   |   86 +
 .../relational/utils/matching/DefaultPrinter.java  |   77 +
 .../plan/relational/utils/matching/Match.java      |   66 +
 .../plan/relational/utils/matching/Pattern.java    |  120 +
 .../relational/utils/matching/PatternVisitor.java  |   46 +
 .../plan/relational/utils/matching/Property.java   |   89 +
 .../relational/utils/matching/PropertyPattern.java |   51 +
 .../utils/matching/pattern/CapturePattern.java     |   53 +
 .../utils/matching/pattern/EqualsPattern.java      |   53 +
 .../utils/matching/pattern/FilterPattern.java      |   55 +
 .../utils/matching/pattern/TypeOfPattern.java      |   59 +
 .../utils/matching/pattern/WithPattern.java        |   65 +
 .../plan/scheduler/load/LoadTsFileScheduler.java   |   13 +-
 .../db/queryengine/plan/statement/Statement.java   |    8 +-
 .../plan/statement/component/HavingCondition.java  |    8 +-
 .../plan/statement/crud/DeleteDataStatement.java   |   12 +-
 .../plan/statement/crud/InsertBaseStatement.java   |  176 +-
 .../plan/statement/crud/InsertRowStatement.java    |   78 +-
 .../crud/InsertRowsOfOneDeviceStatement.java       |    2 +-
 .../plan/statement/crud/InsertRowsStatement.java   |   11 +
 .../plan/statement/crud/InsertStatement.java       |    2 +-
 .../plan/statement/crud/InsertTabletStatement.java |  115 +-
 .../internal/DeviceSchemaFetchStatement.java       |    1 +
 .../InternalBatchActivateTemplateStatement.java    |    2 +-
 .../InternalCreateMultiTimeSeriesStatement.java    |    5 +-
 .../InternalCreateTimeSeriesStatement.java         |    4 +-
 .../metadata/CountTimeSlotListStatement.java       |    7 +-
 .../metadata/CreateAlignedTimeSeriesStatement.java |    2 +-
 .../metadata/CreateMultiTimeSeriesStatement.java   |   10 +-
 .../metadata/CreateTimeSeriesStatement.java        |    7 +-
 .../statement/metadata/GetRegionIdStatement.java   |    7 +-
 .../metadata/GetTimeSlotListStatement.java         |    7 +-
 .../template/ActivateTemplateStatement.java        |    2 +-
 .../template/BatchActivateTemplateStatement.java   |    2 +-
 .../template/DeactivateTemplateStatement.java      |    3 +-
 .../statistics/SpecifiedInfoMergerFactory.java     |    6 +-
 .../dag/column/CaseWhenThenColumnTransformer.java  |   13 +-
 .../dag/column/ColumnTransformer.java              |    8 +-
 .../binary/CompareBinaryColumnTransformer.java     |    4 +-
 .../binary/CompareEqualToColumnTransformer.java    |   12 +-
 .../binary/CompareNonEqualColumnTransformer.java   |   12 +-
 .../multi/LogicalAndMultiColumnTransformer.java    |   65 +
 .../multi/LogicalMultiColumnTransformer.java       |   44 +
 .../multi/LogicalOrMultiColumnTransformer.java     |   64 +
 .../dag/column/multi/MultiColumnTransformer.java   |   67 +
 .../column/ternary/BetweenColumnTransformer.java   |    5 +-
 .../ternary/CompareTernaryColumnTransformer.java   |   33 +-
 .../column/ternary/TernaryColumnTransformer.java   |   23 +
 .../dag/column/unary/InColumnTransformer.java      |   98 +-
 .../dag/column/unary/RegularColumnTransformer.java |    5 +-
 .../scalar/CastFunctionColumnTransformer.java      |   52 +-
 .../column/unary/scalar/DiffColumnTransformer.java |   73 +
 .../unary/scalar/Replace2ColumnTransformer.java    |   66 +
 .../unary/scalar/Replace3ColumnTransformer.java    |   75 +
 .../unary/scalar/RoundColumnTransformer.java       |   78 +
 .../unary/scalar/SubString2ColumnTransformer.java  |   63 +
 .../unary/scalar/SubString3ColumnTransformer.java  |   78 +
 .../scalar/SubStringFunctionColumnTransformer.java |    4 +-
 .../SingleInputMultiReferenceLayer.java            |   14 +-
 .../SingleInputSingleReferenceLayer.java           |   12 +-
 .../iterator/TVListForwardIterator.java            |    3 +-
 .../datastructure/row/SerializableRowList.java     |    3 +-
 .../tv/ElasticSerializableBinaryTVList.java        |    8 +-
 .../tv/ElasticSerializableTVList.java              |   11 +-
 .../datastructure/tv/SerializableTVList.java       |   15 +-
 .../schemaengine/schemaregion/ISchemaRegion.java   |   21 +
 .../attribute/DeviceAttributeStore.java            |  191 +
 .../attribute/IDeviceAttributeStore.java           |   39 +
 .../schemaregion/impl/SchemaRegionMemoryImpl.java  |   67 +-
 .../schemaregion/impl/SchemaRegionPBTreeImpl.java  |   30 +-
 .../visitor/SchemaRegionPlanDeserializer.java      |    8 +-
 .../mtree/impl/mem/MTreeBelowSGMemoryImpl.java     |  286 +-
 .../mtree/impl/mem/mnode/basic/BasicMNode.java     |    3 +-
 .../container/KeyNullableConcurrentHashMap.java    |  175 +
 .../mem/mnode/container/MemMNodeContainer.java     |    3 +-
 .../mtree/impl/mem/mnode/info/BasicMNodeInfo.java  |    2 +-
 .../mtree/impl/mem/mnode/info/LogicalViewInfo.java |    3 +-
 .../mtree/impl/mem/mnode/info/TableDeviceInfo.java |  119 +
 .../impl/mem/snapshot/MemMTreeSnapshotUtil.java    |   36 +-
 .../mtree/impl/pbtree/MTreeBelowSGCachedImpl.java  |    6 +-
 .../mtree/traverser/basic/DatabaseTraverser.java   |   13 +-
 .../mtree/traverser/basic/EntityTraverser.java     |   25 +-
 .../mtree/traverser/collector/EntityCollector.java |   15 +-
 .../read/req/impl/ShowTableDevicesPlan.java        |   44 +
 .../read/resp/info/IDeviceSchemaInfo.java          |    4 +
 .../read/resp/info/impl/ShowDevicesResult.java     |   42 +-
 .../schemaengine/schemaregion/utils/MetaUtils.java |   26 +-
 .../schemaregion/utils/ResourceByPathUtils.java    |  100 +-
 .../utils/filter/DeviceFilterVisitor.java          |   36 +-
 .../utils/filter/FilterContainsVisitor.java        |   11 +-
 .../utils/filter/TimeseriesFilterVisitor.java      |    8 +-
 .../write/req/ICreateTimeSeriesPlan.java           |    6 +-
 .../write/req/SchemaRegionWritePlanFactory.java    |    3 +-
 .../write/req/impl/CreateTimeSeriesPlanImpl.java   |   12 +-
 .../db/schemaengine/table/DataNodeTableCache.java  |  225 ++
 .../iotdb/db/schemaengine/table/ITableCache.java   |   38 +
 .../java/org/apache/iotdb/db/service/DataNode.java |    4 +
 .../iotdb/db/service/metrics/CacheMetrics.java     |   28 +-
 .../iotdb/db/storageengine/StorageEngine.java      |    2 +-
 .../buffer/TimeSeriesMetadataCache.java            |   15 +-
 .../db/storageengine/dataregion/DataRegion.java    |  340 +-
 .../dataregion/IDataRegionForQuery.java            |    8 +-
 .../dataregion/VirtualDataRegion.java              |    8 +-
 .../CompactionTableSchemaNotMatchException.java    |   26 +
 .../performer/impl/FastCompactionPerformer.java    |   18 +-
 .../impl/ReadChunkCompactionPerformer.java         |    4 +
 .../impl/ReadPointCompactionPerformer.java         |   27 +-
 .../RepairUnsortedFileCompactionPerformer.java     |    4 +-
 .../execute/utils/CompactionPathUtils.java         |    5 +-
 .../execute/utils/CompactionTableSchema.java       |   86 +
 .../utils/CompactionTableSchemaCollector.java      |   97 +
 .../execute/utils/MultiTsFileDeviceIterator.java   |   13 +-
 .../readchunk/AlignedSeriesCompactionExecutor.java |    3 +-
 .../ReadChunkAlignedSeriesCompactionExecutor.java  |    3 +-
 .../utils/reader/SeriesDataBlockReader.java        |   25 +-
 .../utils/writer/AbstractCompactionWriter.java     |   24 +-
 .../writer/AbstractCrossCompactionWriter.java      |    5 +
 .../writer/AbstractInnerCompactionWriter.java      |    7 +
 .../writer/ReadPointCrossCompactionWriter.java     |    2 +-
 .../writer/ReadPointInnerCompactionWriter.java     |    2 +-
 .../compaction/io/CompactionTsFileReader.java      |    2 +-
 .../compaction/io/CompactionTsFileWriter.java      |   19 +
 .../compaction/repair/RepairDataFileScanUtil.java  |   38 +-
 .../estimator/AbstractCompactionEstimator.java     |   19 +-
 .../selector/impl/SettleSelectorImpl.java          |    9 +-
 .../selector/utils/TsFileResourceCandidate.java    |    4 +-
 .../dataregion/memtable/AbstractMemTable.java      |  126 +-
 .../memtable/AlignedReadOnlyMemChunk.java          |    4 +-
 .../memtable/AlignedWritableMemChunk.java          |   12 +-
 .../memtable/AlignedWritableMemChunkGroup.java     |    6 +-
 .../dataregion/memtable/DeviceIDFactory.java       |   55 +-
 .../dataregion/memtable/IMemTable.java             |   11 +-
 .../dataregion/memtable/IWritableMemChunk.java     |    6 +-
 .../memtable/IWritableMemChunkGroup.java           |    4 +-
 .../dataregion/memtable/ReadOnlyMemChunk.java      |    3 +-
 .../dataregion/memtable/TsFileProcessor.java       |  466 ++-
 .../dataregion/memtable/WritableMemChunk.java      |    6 +-
 .../dataregion/memtable/WritableMemChunkGroup.java |    4 +-
 .../dataregion/modification/Deletion.java          |   12 +-
 .../dataregion/modification/Modification.java      |   12 +-
 .../io/LocalTextModificationAccessor.java          |    6 +-
 .../dataregion/read/QueryDataSource.java           |    9 +
 .../dataregion/read/control/FileReaderManager.java |    4 +-
 .../filescan/impl/ClosedFileScanHandleImpl.java    |    6 +-
 .../filescan/impl/UnclosedFileScanHandleImpl.java  |    6 +-
 .../metadata/MemAlignedChunkMetadataLoader.java    |    6 +-
 .../chunk/metadata/MemChunkMetadataLoader.java     |    6 +-
 .../dataregion/tsfile/TsFileResource.java          |   40 +-
 .../tsfile/timeindex/ArrayDeviceTimeIndex.java     |  461 +++
 .../tsfile/timeindex/DeviceTimeIndex.java          |  469 ---
 .../dataregion/tsfile/timeindex/FileTimeIndex.java |   10 +-
 .../dataregion/tsfile/timeindex/ITimeIndex.java    |    6 +-
 .../tsfile/timeindex/PlainDeviceTimeIndex.java     |  111 +
 .../tsfile/timeindex/TimeIndexLevel.java           |   15 +-
 .../utils/TsFileDeviceStartEndTimeIterator.java    |    6 +-
 .../dataregion/utils/TsFileResourceUtils.java      |   23 +-
 .../wal/allocation/FirstCreateStrategy.java        |    7 +-
 .../dataregion/wal/buffer/IWALByteBufferView.java  |   21 +-
 .../dataregion/wal/buffer/WALBuffer.java           |   12 +-
 .../wal/recover/file/TsFilePlanRedoer.java         |    8 +-
 .../file/UnsealedTsFileRecoverPerformer.java       |    3 +-
 .../dataregion/wal/utils/WALWriteUtils.java        |    9 +-
 .../receiver/SubscriptionReceiverV1.java           |    1 +
 .../iotdb/db/tools/TsFileResourcePrinter.java      |    4 +-
 .../apache/iotdb/db/tools/TsFileSelfCheckTool.java |   44 +-
 .../apache/iotdb/db/tools/TsFileSketchTool.java    |  106 +-
 .../iotdb/db/tools/TsFileSplitByPartitionTool.java |   12 +-
 .../db/tools/schema/SRStatementGenerator.java      |   10 +-
 .../TsFileOverlapValidationAndRepairTool.java      |    3 +-
 .../db/trigger/executor/TriggerFireVisitor.java    |   13 +-
 .../org/apache/iotdb/db/utils/CommonUtils.java     |   78 +
 .../org/apache/iotdb/db/utils/DateTimeUtils.java   |   79 +-
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |    7 +-
 .../java/org/apache/iotdb/db/utils/MemUtils.java   |   36 +-
 .../apache/iotdb/db/utils/ModificationUtils.java   |   17 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |    5 +-
 .../apache/iotdb/db/utils/TypeInferenceUtils.java  |   10 +-
 .../iotdb/db/utils/annotations/TableModel.java     |   33 +
 .../iotdb/db/utils/annotations/TreeModel.java      |   33 +
 .../db/utils/datastructure/AlignedTVList.java      |   37 +-
 .../utils/datastructure/PatternTreeMapFactory.java |    4 +-
 .../iotdb/db/utils/datastructure/TVList.java       |    4 +-
 .../apache/iotdb/db/utils/sort/DiskSpiller.java    |   31 +-
 .../iotdb/db/utils/sort/SortBufferManager.java     |   33 +-
 .../iotdb/db/utils/sort/TableDiskSpiller.java      |   47 +
 .../iotdb/db/utils/sort/TreeDiskSpiller.java       |   44 +
 .../apache/iotdb/db/metadata/MetaUtilsTest.java    |    8 +-
 .../db/metadata/cache/DataNodeSchemaCacheTest.java |   22 +-
 .../cache/dualkeycache/DualKeyCacheTest.java       |   15 +-
 .../db/metadata/idtable/entry/DeviceIDTest.java    |    7 +-
 .../iotdb/db/metadata/path/PatternTreeMapTest.java |   73 +-
 .../schemaRegion/SchemaRegionBasicTest.java        |   32 +-
 .../schemaRegion/SchemaRegionManagementTest.java   |    5 +-
 .../SchemaRegionSimpleRecoverTest.java             |    5 +-
 .../schemaRegion/SchemaRegionTableDeviceTest.java  |  400 +++
 .../schemaRegion/SchemaRegionTestUtil.java         |   67 +-
 .../schemaRegion/SchemaStatisticsTest.java         |    3 +-
 .../connector/PipeDataNodeThriftRequestTest.java   |    7 +-
 .../PipeStatementPatternParseVisitorTest.java      |    5 +-
 .../pipe/connector/PipeTabletEventSorterTest.java  |    7 +-
 .../event/TsFileInsertionDataContainerTest.java    |    5 +-
 .../extractor/PipePlanPatternParseVisitorTest.java |   40 +-
 .../db/pipe/extractor/PipeRealtimeExtractTest.java |    6 +-
 .../extractor/SchemaRegionListeningQueueTest.java  |    7 +-
 .../pattern/CachedSchemaPatternMatcherTest.java    |   23 +-
 .../db/pipe/pattern/IoTDBPipePatternTest.java      |    4 +-
 .../db/pipe/pattern/PrefixPipePatternTest.java     |    4 +-
 .../resource/PipeTsFileResourceManagerTest.java    |    8 +-
 .../common/schematree/ClusterSchemaTreeTest.java   |    5 +-
 .../db/queryengine/execution/DataDriverTest.java   |   28 +-
 .../operator/AggregationOperatorTest.java          |   12 +-
 .../AlignedSeriesAggregationScanOperatorTest.java  |   19 +-
 .../operator/AlignedSeriesScanOperatorTest.java    |  121 +-
 .../execution/operator/AlignedSeriesTestUtil.java  |   29 +-
 .../execution/operator/DeviceViewOperatorTest.java |   26 +-
 .../operator/HorizontallyConcatOperatorTest.java   |   22 +-
 .../execution/operator/LastQueryOperatorTest.java  |   13 +-
 .../operator/LastQuerySortOperatorTest.java        |  361 --
 .../operator/LastQueryTreeSortOperatorTest.java    |  362 ++
 .../execution/operator/LimitOperatorTest.java      |   19 +-
 .../execution/operator/MergeSortOperatorTest.java  | 1866 ----------
 .../operator/MergeTreeSortOperatorTest.java        | 1891 ++++++++++
 .../execution/operator/OffsetOperatorTest.java     |   55 +-
 .../execution/operator/OperatorMemoryTest.java     |   92 +-
 .../operator/RawDataAggregationOperatorTest.java   |   19 +-
 .../SeriesAggregationScanOperatorTest.java         |   12 +-
 .../execution/operator/SeriesScanOperatorTest.java |   13 +-
 .../operator/SingleDeviceViewOperatorTest.java     |   22 +-
 .../SlidingWindowAggregationOperatorTest.java      |   12 +-
 .../execution/operator/SortOperatorTest.java       |  285 --
 .../execution/operator/TopKOperatorTest.java       | 1550 ---------
 .../execution/operator/TreeSortOperatorTest.java   |  286 ++
 .../execution/operator/TreeTopKOperatorTest.java   | 1571 +++++++++
 .../operator/UpdateLastCacheOperatorTest.java      |    7 +-
 .../process/TableStreamSortOperatorTest.java       |  599 ++++
 .../schema/SchemaFetchScanOperatorTest.java        |    2 +-
 .../operator/sink/IdentitySinkOperatorTest.java    |   31 +-
 .../db/queryengine/plan/analyze/AnalyzeTest.java   |   71 +-
 .../plan/analyze/ExpressionAnalyzerTest.java       |   10 +-
 .../plan/analyze/FakePartitionFetcherImpl.java     |   20 +-
 .../plan/analyze/cache/PartitionCacheTest.java     |  155 +-
 .../plan/optimization/OptimizationTestUtil.java    |    4 +-
 .../plan/optimization/TestPlanBuilder.java         |   21 +-
 .../plan/parser/StatementGeneratorTest.java        |  188 +
 .../plan/planner/PipelineBuilderTest.java          |   25 +-
 .../distribution/DistributionPlannerBasicTest.java |   23 +-
 .../distribution/RegionScanPlanningTest.java       |   13 +-
 .../plan/planner/distribution/Util.java            |   22 +-
 .../plan/planner/distribution/Util2.java           |   21 +-
 .../logical/DataQueryLogicalPlannerTest.java       |   43 +-
 .../planner/logical/LogicalPlannerTestUtil.java    |    2 +-
 .../logical/RegionScanLogicalPlannerTest.java      |   37 +-
 .../logical/SchemaQueryLogicalPlannerTest.java     |   28 +-
 .../plan/planner/node/PlanGraphPrinterTest.java    |    7 +-
 .../read/DeviceSchemaFetchScanNodeTest.java        |    2 +-
 .../read/DeviceSchemaScanNodeSerdeTest.java        |    4 +-
 .../NodeManagementMemoryMergeNodeSerdeTest.java    |   10 +-
 .../read/PathsUsingTemplateScanNodeTest.java       |    2 +-
 .../metadata/read/SchemaCountNodeSerdeTest.java    |    8 +-
 .../metadata/read/SchemaFetchMergeNodeTest.java    |    4 +-
 .../read/SeriesSchemaFetchScanNodeTest.java        |    2 +-
 .../read/TimeSeriesSchemaScanNodeSerdeTest.java    |    4 +-
 .../metadata/write/MetadataWriteNodeSerDeTest.java |   45 +-
 .../pipe/PipeEnrichedDeleteDataNodeSerdeTest.java  |   10 +-
 .../PipeEnrichedNonWritePlanNodeSerdeTest.java     |    2 +-
 .../pipe/PipeEnrichedWritePlanNodeSerdeTest.java   |    2 +-
 .../node/process/DeviceViewNodeSerdeTest.java      |    7 +-
 .../process/SingleDeviceViewNodeSerdeTest.java     |    3 +-
 .../node/write/DeleteDataNodeSerdeTest.java        |   10 +-
 .../node/write/InsertRowsNodeSerdeTest.java        |  161 +-
 .../node/write/InsertTabletNodeSerdeTest.java      |  158 +
 .../planner/node/write/WritePlanNodeSplitTest.java |   24 +-
 .../plan/relational/analyzer/AnalyzerTest.java     | 1149 ++++++
 .../analyzer/LimitOffsetPushDownTest.java          |  307 ++
 .../analyzer/MockTableModelDataPartition.java      |  166 +
 .../plan/relational/analyzer/SortTest.java         |  756 ++++
 .../plan/relational/analyzer/TestMatadata.java     |  343 ++
 .../plan/relational/analyzer/TestPlanBuilder.java  |  104 +
 .../fetcher/cache/TableDeviceSchemaCacheTest.java  |  100 +
 .../plan/relational/planner/ExampleTest.java       |  160 +
 .../plan/relational/planner/PlanTester.java        |  157 +
 .../relational/planner/PredicateUtilsTest.java     |   72 +
 .../planner/assertions/AliasMatcher.java           |   66 +
 .../planner/assertions/AliasPresent.java           |   43 +
 .../assertions/BaseStrictSymbolsMatcher.java       |   59 +
 .../planner/assertions/ColumnReference.java        |   85 +
 .../planner/assertions/ExchangeNodeMatcher.java    |   36 +
 .../planner/assertions/ExpressionMatcher.java      |   82 +
 .../planner/assertions/ExpressionVerifier.java     |  505 +++
 .../planner/assertions/FilterMatcher.java          |   56 +
 .../assertions/IdentityProjectionMatcher.java      |   45 +
 .../planner/assertions/LimitMatcher.java           |   96 +
 .../relational/planner/assertions/MatchResult.java |   63 +
 .../relational/planner/assertions/Matcher.java     |   67 +
 .../planner/assertions/NotPlanNodeMatcher.java     |   51 +
 .../planner/assertions/OffsetMatcher.java          |   45 +
 .../planner/assertions/OutputMatcher.java          |   68 +
 .../relational/planner/assertions/PlanAssert.java  |   90 +
 .../planner/assertions/PlanMatchPattern.java       |  815 +++++
 .../planner/assertions/PlanMatchingState.java      |   46 +
 .../planner/assertions/PlanMatchingVisitor.java    |  176 +
 .../planner/assertions/PlanNodeMatcher.java        |   55 +
 .../planner/assertions/PlanTestSymbol.java         |   20 +
 .../planner/assertions/RvalueMatcher.java          |   36 +
 .../relational/planner/assertions/SortMatcher.java |   62 +
 .../assertions/StrictAssignedSymbolsMatcher.java   |   65 +
 .../planner/assertions/StrictSymbolsMatcher.java   |   57 +
 .../relational/planner/assertions/SymbolAlias.java |   36 +
 .../planner/assertions/SymbolAliases.java          |  231 ++
 .../planner/assertions/TableScanMatcher.java       |  101 +
 .../plan/relational/planner/assertions/Util.java   |   44 +
 .../plan/statement/InsertStatementTest.java        |  222 ++
 .../plan/statement/StatementTestUtils.java         |  257 ++
 .../builder/EvaluationDAGBuilderTest.java          |    7 +-
 .../datastructure/SerializableTVListTest.java      |    2 +-
 .../DataNodeInternalRPCServiceImplTest.java        |   15 +-
 .../storageengine/buffer/BloomFilterCacheTest.java |    3 +-
 .../db/storageengine/buffer/ChunkCacheTest.java    |   11 +-
 .../storageengine/dataregion/DataRegionTest.java   |  289 +-
 .../dataregion/LastFlushTimeMapTest.java           |   47 +-
 .../db/storageengine/dataregion/TTLQueryTest.java  |   67 +-
 .../iotdb/db/storageengine/dataregion/TTLTest.java |   18 +-
 .../TsFileResourceProgressIndexTest.java           |   15 +-
 .../compaction/AbstractCompactionTest.java         |   28 +-
 .../compaction/CompactionDataTypeNotMatchTest.java |    9 +-
 .../compaction/CompactionTaskComparatorTest.java   |    4 +-
 .../compaction/CompactionValidationTest.java       |   65 +-
 .../CrossSpaceCompactionWithUnusualCasesTest.java  |   16 +-
 .../compaction/FastAlignedCrossCompactionTest.java | 1597 ++++++---
 .../FastCompactionPerformerWithEmptyPageTest.java  |    3 +-
 .../FastCrossCompactionPerformerTest.java          | 1051 ++++--
 .../FastInnerCompactionPerformerTest.java          |  276 +-
 .../FastNonAlignedCrossCompactionTest.java         | 1597 ++++++---
 .../compaction/ReadChunkInnerCompactionTest.java   |  105 +-
 .../ReadPointAlignedCrossCompactionTest.java       | 1597 ++++++---
 .../ReadPointCompactionPerformerTest.java          | 1447 +++++---
 .../ReadPointNonAlignedCrossCompactionTest.java    | 1597 ++++++---
 .../compaction/TestUtilsForAlignedSeries.java      |   11 +-
 .../TsFileValidationCorrectnessTests.java          |   30 +-
 ...eCompactionWithFastPerformerValidationTest.java |   93 +-
 ...actionWithReadPointPerformerValidationTest.java |   84 +-
 .../InsertionCrossSpaceCompactionRecoverTest.java  |   29 +-
 .../InsertionCrossSpaceCompactionSelectorTest.java |  138 +-
 .../dataregion/compaction/cross/MergeTest.java     |    9 +-
 .../compaction/cross/MergeUpgradeTest.java         |    6 +-
 .../cross/RewriteCompactionFileSelectorTest.java   |   10 +-
 ...eCrossSpaceCompactionWithFastPerformerTest.java |   44 +-
 ...sSpaceCompactionWithReadPointPerformerTest.java |   44 +-
 .../inner/AbstractInnerSpaceCompactionTest.java    |    9 +-
 .../inner/FastCompactionPerformerAlignedTest.java  |   85 +-
 .../FastCompactionPerformerNoAlignedTest.java      |   47 +-
 .../inner/InnerCompactionMoreDataTest.java         |   20 +-
 .../compaction/inner/InnerCompactionTest.java      |    9 +-
 .../InnerSeqCompactionWithFastPerformerTest.java   |    8 +-
 ...nerSeqCompactionWithReadChunkPerformerTest.java |    8 +-
 .../inner/InnerSpaceCompactionExceptionTest.java   |    9 +-
 .../inner/InnerSpaceCompactionSelectorTest.java    |    6 +-
 ...nkCompactionPerformerWithAlignedSeriesTest.java |   14 +-
 .../ReadChunkCompactionPerformerAlignedTest.java   |   90 +-
 .../ReadChunkCompactionPerformerNoAlignedTest.java |   59 +-
 .../SizeTieredCompactionRecoverTest.java           |   56 +-
 .../SizeTieredCompactionSelectorTest.java          |    8 +-
 .../inner/sizetiered/SizeTieredCompactionTest.java |    9 +-
 .../repair/RepairUnsortedFileCompactionTest.java   |   12 +-
 .../settle/SettleCompactionSelectorTest.java       |   58 +-
 .../settle/SettleCompactionTaskTest.java           |   37 +-
 .../settle/SettleRequestHandlerTest.java           |    4 +-
 .../CompactionTableModelTestFileWriter.java        |   78 +
 .../TableModelFastCompactionPerformerTest.java     |  256 ++
 ...TableModelReadChunkCompactionPerformerTest.java |  329 ++
 ...TableModelReadPointCompactionPerformerTest.java |  268 ++
 .../compaction/tools/UnseqSpaceStatisticsTest.java |   40 +-
 .../compaction/utils/CompactionCheckerUtils.java   |   39 +-
 .../utils/CompactionFileGeneratorUtils.java        |   14 +-
 .../compaction/utils/CompactionTestFileWriter.java |   12 +-
 .../utils/MultiTsFileDeviceIteratorTest.java       |  193 +-
 .../compaction/utils/TsFileGeneratorUtils.java     |   20 +-
 .../dataregion/memtable/MemTableTestUtils.java     |    3 +-
 .../dataregion/memtable/PrimitiveMemTableTest.java |  124 +-
 .../dataregion/memtable/TsFileProcessorTest.java   |   62 +-
 .../modification/ModificationFileTest.java         |   30 +-
 .../io/LocalTextModificationAccessorTest.java      |   10 +-
 .../MemAlignedChunkMetadataLoaderTest.java         |    7 +-
 .../chunk/metadata/MemChunkMetadataLoaderTest.java |    4 +-
 .../series/AbstractAlignedSeriesScanTest.java      |   10 +-
 .../read/reader/series/AbstractSeriesScanTest.java |    6 +-
 .../AlignedSeriesScanLimitOffsetPushDownTest.java  |    9 +-
 .../AlignedSeriesScanPredicatePushDownTest.java    |    9 +-
 ...gleColumnSeriesScanLimitOffsetPushDownTest.java |    9 +-
 .../read/reader/series/SeriesReaderTestUtil.java   |   21 +-
 .../series/SeriesScanLimitOffsetPushDownTest.java  |    3 +-
 .../series/SeriesScanPredicatePushDownTest.java    |    3 +-
 .../dataregion/snapshot/IoTDBSnapshotTest.java     |    9 +-
 .../dataregion/tsfile/TsFileResourceTest.java      |   24 +-
 .../dataregion/wal/io/WALFileTest.java             |    3 +-
 .../wal/node/ConsensusReqReaderTest.java           |    3 +-
 .../wal/recover/WALRecoverManagerTest.java         |   20 +-
 .../file/SealedTsFileRecoverPerformerTest.java     |    7 +-
 .../wal/recover/file/TsFilePlanRedoerTest.java     |   63 +-
 .../file/UnsealedTsFileRecoverPerformerTest.java   |   10 +-
 .../dataregion/wal/utils/WALByteBufferForTest.java |   12 +-
 .../rescon/memory/ResourceManagerTest.java         |   37 +-
 .../org/apache/iotdb/db/tools/MLogParserTest.java  |    3 +-
 .../iotdb/db/tools/TsFileAndModSettleToolTest.java |    5 +-
 .../TsFileOverlapValidationAndRepairToolTest.java  |   98 +-
 .../iotdb/db/tools/TsFileSelfCheckToolTest.java    |    7 +-
 .../iotdb/db/tools/TsFileSketchToolTest.java       |   17 +-
 .../iotdb/db/tools/TsFileValidationScanTest.java   |   37 +-
 .../apache/iotdb/db/utils/DateTimeUtilsTest.java   |    2 +
 .../org/apache/iotdb/db/utils/MemUtilsTest.java    |   18 +-
 .../db/utils/SchemaRegionSnapshotParserTest.java   |   23 +-
 .../org/apache/iotdb/db/utils/SchemaTestUtils.java |   13 +
 .../org/apache/iotdb/db/utils/SchemaUtilsTest.java |   10 +-
 .../db/utils/datastructure/AlignedTVListTest.java  |    8 +-
 .../apache/iotdb/db/utils/sort/SortUtilTest.java   |   10 +-
 .../test/resources/v3tsfile/compaction-test-tsfile |  Bin 0 -> 51432 bytes
 .../v3tsfile/compaction-test-tsfile-resource       |  Bin 0 -> 103 bytes
 .../commons/exception/IoTDBRuntimeException.java   |   66 +
 .../iotdb/commons/partition/DataPartition.java     |  117 +-
 .../commons/partition/DataPartitionQueryParam.java |   29 +-
 .../apache/iotdb/commons/partition/Partition.java  |    6 +-
 .../iotdb/commons/partition/SchemaPartition.java   |   32 +-
 .../executor/SeriesPartitionExecutor.java          |    9 +
 .../partition/executor/hash/APHashExecutor.java    |   43 +
 .../partition/executor/hash/BKDRHashExecutor.java  |   29 +
 .../partition/executor/hash/JSHashExecutor.java    |   29 +
 .../partition/executor/hash/SDBMHashExecutor.java  |   29 +
 .../apache/iotdb/commons/path/AlignedFullPath.java |   95 +
 .../org/apache/iotdb/commons/path/AlignedPath.java |   56 +-
 .../iotdb/commons/path/ExtendedPartialPath.java    |   45 +
 .../org/apache/iotdb/commons/path/IFullPath.java   |   47 +
 .../apache/iotdb/commons/path/MeasurementPath.java |   80 +-
 .../iotdb/commons/path/NonAlignedFullPath.java     |   95 +
 .../org/apache/iotdb/commons/path/PartialPath.java |  164 +-
 .../apache/iotdb/commons/path/PathPatternTree.java |   46 +-
 .../apache/iotdb/commons/path/PathPatternUtil.java |    3 +-
 .../apache/iotdb/commons/path/PatternTreeMap.java  |   14 +
 .../apache/iotdb/commons/path/fa/dfa/DFAState.java |    1 +
 .../iotdb/commons/path/fa/nfa/SimpleNFA.java       |   68 +-
 .../config/constant/PipeConnectorConstant.java     |   20 +
 .../connector/client/IoTDBSyncClientManager.java   |   10 +-
 .../common/PipeTransferHandshakeConstant.java      |    1 +
 .../pipe/connector/protocol/IoTDBConnector.java    |   15 +
 .../connector/protocol/IoTDBSslSyncConnector.java  |   11 +-
 .../commons/pipe/pattern/IoTDBPipePattern.java     |   34 +-
 .../iotdb/commons/pipe/pattern/PipePattern.java    |    9 +-
 .../commons/pipe/pattern/PrefixPipePattern.java    |   22 +-
 .../commons/pipe/receiver/IoTDBFileReceiver.java   |   12 +
 .../apache/iotdb/commons/schema/MemUsageUtil.java  |   61 +
 .../iotdb/commons/schema/SchemaConstant.java       |   11 +
 .../iotdb/commons/schema/filter/SchemaFilter.java  |   55 +-
 .../commons/schema/filter/SchemaFilterFactory.java |    9 +-
 .../commons/schema/filter/SchemaFilterType.java    |   26 +
 .../commons/schema/filter/SchemaFilterVisitor.java |   94 +-
 .../commons/schema/filter/impl/AndFilter.java      |   74 -
 .../commons/schema/filter/impl/DataTypeFilter.java |   29 +-
 .../schema/filter/impl/DeviceFilterUtil.java       |   82 +
 .../schema/filter/impl/PathContainsFilter.java     |   29 +-
 .../filter/impl/StringValueFilterVisitor.java      |  105 +
 .../commons/schema/filter/impl/TagFilter.java      |   31 +-
 .../commons/schema/filter/impl/TemplateFilter.java |   28 +-
 .../commons/schema/filter/impl/ViewTypeFilter.java |   29 +-
 .../multichildren/AbstractMultiChildrenFilter.java |   85 +
 .../filter/impl/multichildren/AndFilter.java       |   48 +
 .../schema/filter/impl/multichildren/OrFilter.java |   47 +
 .../singlechild/AbstractSingleChildFilter.java     |   76 +
 .../filter/impl/singlechild/AttributeFilter.java   |   93 +
 .../schema/filter/impl/singlechild/IdFilter.java   |   93 +
 .../schema/filter/impl/singlechild/NotFilter.java  |   47 +
 .../filter/impl/values/ComparisonFilter.java       |  106 +
 .../schema/filter/impl/values/InFilter.java        |  102 +
 .../schema/filter/impl/values/LikeFilter.java      |   86 +
 .../schema/filter/impl/values/PreciseFilter.java   |   84 +
 .../schema/table/AlterTableOperationType.java      |   43 +
 .../apache/iotdb/commons/schema/table/TsTable.java |  242 ++
 .../schema/table/TsTableInternalRPCType.java       |   64 +
 .../schema/table/TsTableInternalRPCUtil.java       |  117 +
 .../schema/table/column/AttributeColumnSchema.java |   57 +
 .../schema/table/column/IdColumnSchema.java        |   57 +
 .../table/column/MeasurementColumnSchema.java      |  102 +
 .../schema/table/column/TimeColumnSchema.java      |   57 +
 .../schema/table/column/TsTableColumnCategory.java |  108 +
 .../schema/table/column/TsTableColumnSchema.java   |   74 +
 .../table/column/TsTableColumnSchemaUtil.java      |  117 +
 .../commons/schema/tree/AbstractTreeVisitor.java   |   27 +-
 .../apache/iotdb/commons/schema/ttl/TTLCache.java  |   18 +-
 .../commons/schema/view/LogicalViewSchema.java     |    3 +-
 .../org/apache/iotdb/commons/utils/AuthUtils.java  |    2 +-
 .../org/apache/iotdb/commons/utils/PathUtils.java  |   12 +-
 .../partition/executor/HashExecutorTest.java       |   63 +
 .../apache/iotdb/commons/path/PartialPathTest.java |  213 +-
 .../iotdb/commons/path/PathPatternTreeTest.java    |    5 +-
 .../commons/schema/SchemaFilterSerDeTest.java      |   93 +
 iotdb-core/pom.xml                                 |    1 +
 iotdb-core/relational-grammar/pom.xml              |  106 +
 .../db/relational/grammar/sql/RelationalSql.g4     | 1214 +++++++
 .../db/relational/grammar/type/TypeCalculation.g4  |   72 +
 .../grammar/sql/RelationalSqlKeywords.java         |   48 +
 .../src/main/thrift/confignode.thrift              |   51 +-
 .../thrift-datanode/src/main/thrift/client.thrift  |    7 +
 .../src/main/thrift/datanode.thrift                |   10 +
 pom.xml                                            |   13 +-
 1342 files changed, 129680 insertions(+), 23073 deletions(-)

diff --cc 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
index 7ce87a64886,0f7ab2f3f3d..d37513213b9
--- 
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
+++ 
b/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
@@@ -116,8 -127,9 +127,10 @@@ public enum TSStatusCode 
    NO_SUCH_QUERY(714),
    QUERY_WAS_KILLED(715),
    EXPLAIN_ANALYZE_FETCH_ERROR(716),
 +  TOO_MANY_CONCURRENT_QUERIES_ERROR(717),
  
+   OPERATOR_NOT_FOUND(716),
+ 
    // Authentication
    INIT_AUTH_ERROR(800),
    WRONG_LOGIN_PASSWORD(801),

Reply via email to