You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2024/08/12 09:57:31 UTC

(iotdb) branch speed_up_recover updated (54d6a3ff395 -> 155608e1997)

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

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


    from 54d6a3ff395 finish compact logic
     add 74404a333ac Unify string type inference (#13094)
     add 43d0fa50354 Enhance transferLeader retry frequency when migrating region #13098
     add 8b318c3fa74 Add wal compression metric items (#13105)
     add 0051687b13b Remove the usage of lt_downsampling_java8 (#13108)
     add 52f302b6884 Fix RegionGroup concurreny problem (#13103)
     add 45021a6f898 Handle exception when the WAL initializtion is interrupted (#13102)
     add 9b15ab68a59 Report INTERNAL_SERVER_ERROR in executeBatch (#13106)
     add 75ddc9d35c3 Fixed the rest service When executing unsupported SQL, return null
     add 73297180ba4 Update license information (#13113)
     add 78439da4127 Pipe: Implemented Client-Server model in OPC UA Sink & Enable anonymous access settings & Corrected date time format (#13100)
     add 5b31438b0b7 Pipe: Support converting data type on data sync receiver metadata mismatch (#13110)
     add 8805b3e3d6b Table model v1
     add d78585c8b28 Fix some view related IT
     add ed7013278f0 Add limit elimination optimize rule
     add 5416b4430f3 Fixed the filter logic in FilterContainsVisitor
     add 4a3c1d3e331 Fixed query type of create table device
     add 283e924e9c0 Merge branch 'master' of github.com:apache/iotdb into speed_up_recover
     add 155608e1997 fix UT

No new revisions were added by this update.

Summary of changes:
 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/partition/RegionGroup.java         |   28 +-
 .../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 +
 .../procedure/env/RegionMaintainHandler.java       |   10 +-
 .../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/service/metrics/WritingMetrics.java   |   88 +-
 .../iotdb/db/storageengine/StorageEngine.java      |    6 +-
 .../buffer/TimeSeriesMetadataCache.java            |   15 +-
 .../db/storageengine/dataregion/DataRegion.java    |  341 +-
 .../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 +-
 .../timeindex/FileTimeIndexCacheRecorder.java      |    5 +-
 .../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 +-
 .../storageengine/dataregion/wal/io/LogWriter.java |    7 +
 .../dataregion/wal/io/WALInputStream.java          |   36 +-
 .../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  |   12 +-
 .../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 +-
 .../iotdb/db/utils/TypeInferenceUtilsTest.java     |    6 +-
 .../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 +
 library-udf/pom.xml                                |    7 -
 .../apache/iotdb/library/dprofile/UDTFSample.java  |   24 +-
 .../apache/iotdb/library/dprofile/util/Area.java   |   62 +
 .../apache/iotdb/library/dprofile/util/Bucket.java |   85 +
 .../library/dprofile/util/LTThreeBuckets.java      |   57 +
 .../library/dprofile/util/OnePassBucketizer.java   |   68 +
 .../library/dprofile/util/SlidingCollector.java    |  111 +
 .../iotdb/library/dprofile/util/Triangle.java      |   59 +
 pom.xml                                            |   68 +-
 1357 files changed, 130309 insertions(+), 23159 deletions(-)
 create mode 100644 example/jdbc/src/main/java/org/apache/iotdb/TableModelJDBCExample.java
 create mode 100644 example/session/src/main/java/org/apache/iotdb/TableModelSessionExample.java
 create mode 100644 example/session/src/main/java/org/apache/iotdb/TableModelSessionPoolExample.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBExecuteBatchTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBFlushQueryTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBInsertAlignedValuesTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBInsertTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBMultiDeviceTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBRecoverTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBRecoverUnclosedTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBRestartTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBSetConfigurationTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/IoTDBDatetimeFormatTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/IoTDBFilterBetweenTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/IoTDBFilterNullTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/IoTDBFilterTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/IoTDBNestedQueryTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/IoTDBSimpleQueryTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/alignbydevice/IoTDBAlignByDeviceTable2IT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/alignbydevice/IoTDBAlignByDeviceTable3IT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/alignbydevice/IoTDBAlignByDeviceTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/alignbydevice/IoTDBAlignByDeviceWithTemplateTable2IT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/alignbydevice/IoTDBAlignByDeviceWithTemplateTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/alignbydevice/IoTDBOrderByLimitOffsetAlignByDeviceTable2IT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/alignbydevice/IoTDBOrderByLimitOffsetAlignByDeviceTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/alignbydevice/IoTDBOrderByWithAlignByDeviceTable2IT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/alignbydevice/IoTDBOrderByWithAlignByDeviceTable3IT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/alignbydevice/IoTDBOrderByWithAlignByDeviceTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/aligned/IoTDBAlignedOffsetLimitPushDownTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/aligned/IoTDBAlignedSeriesQueryTable2IT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/aligned/IoTDBAlignedSeriesQueryTable3IT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/aligned/IoTDBAlignedSeriesQueryTable4IT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/aligned/IoTDBAlignedSeriesQueryTable5IT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/aligned/IoTDBAlignedSeriesQueryTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/aligned/IoTDBPredicatePushDownTable2IT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/aligned/IoTDBPredicatePushDownTable3IT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/aligned/IoTDBPredicatePushDownTable4IT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/aligned/IoTDBPredicatePushDownTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/aligned/TableUtils.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/builtinfunction/scalar/IoTDBCastFunctionTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/builtinfunction/scalar/IoTDBDiffFunctionTable2IT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/builtinfunction/scalar/IoTDBDiffFunctionTable3IT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/builtinfunction/scalar/IoTDBDiffFunctionTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/builtinfunction/scalar/IoTDBReplaceFunctionTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/builtinfunction/scalar/IoTDBRoundFunctionTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/builtinfunction/scalar/IoTDBSubStringFunctionTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/orderBy/IoTDBOrderByTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/orderBy/IoTDBStreamSortIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBArithmeticTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBCaseWhenThenTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBFuzzyQueryTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBInTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBNoSelectExpressionAfterAnalyzedTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBNullOperandTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBNullValueFillTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBPaginationTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBQueryDemoTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBQueryWithComplexValueFilterTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBResultSetTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBSelectCompareExpressionTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBSelectSchemaTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBNullIdQueryIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBDatabaseIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBDeviceQueryIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBTableIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/session/IoTDBTableModelSessionIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/session/pool/IoTDBTableModelSessionPoolIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBSessionRelationalIT.java
 create mode 100644 iotdb-client/isession/src/main/java/org/apache/iotdb/isession/IPooledSession.java
 delete mode 100644 iotdb-client/jdbc/src/main/java/org/apache/iotdb/jdbc/AbstractIoTDBJDBCResultSet.java
 delete mode 100644 iotdb-client/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java
 create mode 100644 iotdb-client/session/src/main/java/org/apache/iotdb/session/pool/SessionWrapper.java
 create mode 100644 iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/table/AddTableColumnPlan.java
 create mode 100644 iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/table/CommitCreateTablePlan.java
 create mode 100644 iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/table/PreCreateTablePlan.java
 create mode 100644 iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/table/RollbackCreateTablePlan.java
 create mode 100644 iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/mnode/impl/ConfigTableNode.java
 create mode 100644 iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/mnode/impl/TableNodeStatus.java
 create mode 100644 iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/mnode/info/ConfigTableInfo.java
 create mode 100644 iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/table/AddTableColumnProcedure.java
 create mode 100644 iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/table/CreateTableProcedure.java
 create mode 100644 iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/schema/AddTableColumnState.java
 create mode 100644 iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/schema/CreateTableState.java
 create mode 100644 iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/schema/table/AddTableColumnProcedureTest.java
 create mode 100644 iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/schema/table/CreateTableProcedureTest.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/DatabaseConflictException.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/table/TableAlreadyExistsException.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/table/TableNotExistsException.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/sql/ColumnCreationFailException.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/opcua/OpcUaNameSpace.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/transform/converter/ArrayConverter.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/transform/converter/ValueConverter.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/transform/statement/PipeConvertedInsertRowStatement.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/transform/statement/PipeConvertedInsertTabletStatement.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementDataTypeConvertExecutionVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/AbstractSortOperator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/CollectOperator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TableMergeSortOperator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TableSortOperator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TableStreamSortOperator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TableTopKOperator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TreeMergeSortOperator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TreeSortOperator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TreeTopKOperator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/TableDeviceFetchSource.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/TableDeviceQuerySource.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/TableScanOperator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/relational/ColumnTransformerBuilder.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/warnings/DefaultWarningCollector.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/warnings/IoTDBWarning.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/warnings/StandardWarningCode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/warnings/WarningCode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/warnings/WarningCodeSupplier.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/warnings/WarningCollector.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeUtils.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/cache/partition/DatabaseCacheResult.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/cache/partition/StorageGroupCacheResult.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/ConfigTaskVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TreeConfigTaskVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/relational/AlterTableAddColumnTask.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/relational/CreateDBTask.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/relational/CreateTableTask.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/relational/DescribeTableTask.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/relational/DropDBTask.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/relational/ShowConfigNodesTask.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/relational/ShowDBTask.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/relational/ShowDataNodesTask.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/relational/ShowTablesTask.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/relational/UseDBTask.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/memory/TableModelStatementMemorySourceContext.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/memory/TableModelStatementMemorySourceVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TableOperatorGenerator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/TableModelTimePredicate.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/AbstractSchemaMergeNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/AbstractTableDeviceQueryNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/CountSchemaMergeNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/DeviceSchemaFetchScanNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/DevicesCountNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/DevicesSchemaScanNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/LevelTimeSeriesCountNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/LogicalViewSchemaScanNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/NodeManagementMemoryMergeNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/NodePathsConvertNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/NodePathsCountNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/NodePathsSchemaScanNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/PathsUsingTemplateScanNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/SchemaFetchMergeNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/SchemaFetchScanNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/SchemaQueryMergeNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/SchemaQueryOrderByHeatNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/SchemaQueryScanNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/SeriesSchemaFetchScanNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/TableDeviceFetchNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/TableDeviceQueryCountNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/TableDeviceQueryScanNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/TableDeviceSourceNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/TimeSeriesCountNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/TimeSeriesSchemaScanNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/ActivateTemplateNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/AlterTimeSeriesNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/BatchActivateTemplateNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/ConstructSchemaBlackListNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/CreateAlignedTimeSeriesNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/CreateMultiTimeSeriesNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/CreateTimeSeriesNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/DeactivateTemplateNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/DeleteTimeSeriesNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/InternalBatchActivateTemplateNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/InternalCreateMultiTimeSeriesNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/InternalCreateTimeSeriesNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/MeasurementGroup.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/PreDeactivateTemplateNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/RollbackPreDeactivateTemplateNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/RollbackSchemaBlackListNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/view/AlterLogicalViewNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/view/ConstructLogicalViewBlackListNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/view/CreateLogicalViewNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/view/DeleteLogicalViewNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/write/view/RollbackLogicalViewBlackListNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/AbstractSchemaMergeNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/CountSchemaMergeNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/DeviceSchemaFetchScanNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/DevicesCountNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/DevicesSchemaScanNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/LevelTimeSeriesCountNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/LogicalViewSchemaScanNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/NodeManagementMemoryMergeNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/NodePathsConvertNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/NodePathsCountNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/NodePathsSchemaScanNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/PathsUsingTemplateScanNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/SchemaFetchMergeNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/SchemaFetchScanNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/SchemaQueryMergeNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/SchemaQueryOrderByHeatNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/SchemaQueryScanNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/SeriesSchemaFetchScanNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/TimeSeriesCountNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/TimeSeriesSchemaScanNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/ActivateTemplateNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/AlterTimeSeriesNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/BatchActivateTemplateNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/ConstructSchemaBlackListNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/CreateAlignedTimeSeriesNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/CreateMultiTimeSeriesNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/CreateTimeSeriesNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/DeactivateTemplateNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/DeleteTimeSeriesNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/InternalBatchActivateTemplateNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/InternalCreateMultiTimeSeriesNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/InternalCreateTimeSeriesNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/MeasurementGroup.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/PreDeactivateTemplateNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/RollbackPreDeactivateTemplateNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/RollbackSchemaBlackListNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/view/AlterLogicalViewNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/view/ConstructLogicalViewBlackListNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/view/CreateLogicalViewNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/view/DeleteLogicalViewNode.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/view/RollbackLogicalViewBlackListNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertRowNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertRowsNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertTabletNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AggregationAnalyzer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Analysis.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Analyzer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/CanonicalizationAware.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/CorrelationSupport.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/ExpressionAnalysis.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/ExpressionAnalyzer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/ExpressionTreeUtils.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Field.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/FieldId.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/NodeRef.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/RelationId.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/RelationType.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/ResolvedField.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Scope.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/ScopeReferenceExtractor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzerFactory.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/ConvertPredicateToFilterVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/ConvertPredicateToTimeFilterVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicateCombineIntoTableScanChecker.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicatePushIntoMetadataChecker.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicatePushIntoScanChecker.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicateVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/CheckSchemaPredicateVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ExtractPredicateColumnNameVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/execution/querystats/PlanOptimizersStatsCollector.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/execution/querystats/QueryPlanOptimizerStatistics.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/execution/querystats/QueryPlanOptimizerStats.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/BoundSignature.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/FunctionId.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/FunctionKind.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/LongVariableConstraint.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/OperatorType.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/Signature.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/TypeVariableConstraint.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/BuiltinFunctionResolver.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/ColumnHandle.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/ColumnMetadata.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/ColumnSchema.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/DeviceEntry.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/ITableDeviceSchemaValidation.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/Metadata.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/MetadataUtil.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/OperatorNotFoundException.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/QualifiedObjectName.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/QualifiedTablePrefix.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/ResolvedFunction.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableHandle.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadata.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableSchema.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/DeviceInCacheFilterVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/SchemaPredicateUtil.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableDeviceSchemaFetcher.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableDeviceSchemaValidator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/cache/TableDeviceCacheEntry.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/cache/TableDeviceId.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/cache/TableDeviceSchemaCache.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/cache/TableId.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/Assignments.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ExpressionExtractor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ExpressionSymbolInliner.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/LogicalPlanner.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/OrderingScheme.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/OrderingTranslator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PlanBuilder.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PlanNodeSearcher.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PlannerContext.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PredicateUtils.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/QueryPlanner.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationPlan.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationPlanner.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationalModelPlanner.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationalPlanVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ScopeAware.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/SortOrder.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/Symbol.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/SymbolAllocator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/SymbolResolver.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/SymbolsExtractor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TranslationMap.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/AddExchangeNodes.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/SubPlanGenerator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributedPlanGenerator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributedPlanner.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableModelQueryFragmentPlanner.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableModelTypeProviderExtractor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/DefaultTraversalVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/DeterminismEvaluator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/ExpressionRewriter.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/ExpressionTreeRewriter.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/ExtractCommonPredicatesExpressionRewriter.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/GlobalTimePredicateExtractVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/IrUtils.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/IrVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/NormalizeOrExpressionRewriter.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/RewritingVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/SerializeVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/GroupReference.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/IterativeOptimizer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Lookup.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Memo.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Plans.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Rule.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/RuleIndex.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/RuleStats.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/RuleStatsRecorder.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EliminateLimitProjectWithTableScan.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EliminateLimitWithTableScan.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/InlineProjections.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitOverProjectWithMergeSort.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitOverProjectWithSort.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitWithMergeSort.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitWithSort.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ProjectOffPushDownRule.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneFilterColumns.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneLimitColumns.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneOffsetColumns.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneOutputSourceColumns.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneProjectColumns.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneSortColumns.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneTableScanColumns.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneTopKColumns.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushLimitThroughOffset.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushLimitThroughProject.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantIdentityProjections.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/Util.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/ChildReplacer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/CollectNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/CreateTableDeviceNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/FilterNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/LimitNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/MergeSortNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/OffsetNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/OutputNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/Patterns.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/ProjectNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/SortNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/StreamSortNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/TableScanNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/TopKNode.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/AdaptivePlanOptimizer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/DistributedOptimizeFactory.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/LogicalOptimizeFactory.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PlanOptimizer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushLimitOffsetIntoTableScan.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/SimplifyExpressions.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/SortElimination.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/TransformSortToStreamSort.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/Util.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/AccessControl.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/Identity.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AbstractQueryDevice.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AddColumn.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AliasedRelation.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AllColumns.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AllRows.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ArithmeticBinaryExpression.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ArithmeticUnaryExpression.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AstVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/BetweenPredicate.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/BinaryLiteral.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/BooleanLiteral.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Cast.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/CoalesceExpression.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ColumnDefinition.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ComparisonExpression.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/CountDevice.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/CreateDB.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/CreateDevice.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/CreateFunction.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/CreateIndex.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/CreateTable.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/CurrentDatabase.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/CurrentTime.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/CurrentUser.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DataType.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DataTypeParameter.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DecimalLiteral.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DefaultExpressionTraversalVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DefaultTraversalVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Delete.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DereferenceExpression.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DescribeTable.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DoubleLiteral.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DropColumn.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DropDB.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DropFunction.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DropIndex.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DropTable.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Except.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ExistsPredicate.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Explain.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ExplainAnalyze.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Expression.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/FetchDevice.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/FieldReference.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Flush.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/FunctionCall.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/GenericDataType.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/GenericLiteral.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/GroupBy.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/GroupByTime.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/GroupingElement.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/GroupingSets.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Identifier.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/IfExpression.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/InListExpression.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/InPredicate.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Insert.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/InsertRow.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/InsertRows.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/InsertTablet.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Intersect.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/IsNotNullPredicate.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/IsNullPredicate.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Join.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/JoinCriteria.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/JoinOn.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/JoinUsing.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/LikePredicate.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Limit.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Literal.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/LogicalExpression.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/LongLiteral.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/NaturalJoin.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Node.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/NodeLocation.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/NotExpression.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/NullIfExpression.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/NullLiteral.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/NumericParameter.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Offset.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/OrderBy.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Parameter.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Property.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/QualifiedName.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/QuantifiedComparisonExpression.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Query.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/QueryBody.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/QuerySpecification.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Relation.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/RenameColumn.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/RenameTable.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Row.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SearchedCaseExpression.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Select.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SelectItem.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SetConfiguration.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SetOperation.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SetProperties.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowCluster.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowConfigNodes.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowDB.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowDataNodes.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowDevice.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowFunctions.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowIndex.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowRegions.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowTables.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SimpleCaseExpression.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SimpleGroupBy.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SingleColumn.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SortItem.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/StackableAstVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Statement.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/StringLiteral.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SubqueryExpression.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SymbolReference.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Table.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/TableExpressionType.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/TableSubquery.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/TimeRange.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Trim.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/TypeParameter.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Union.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Update.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/UpdateAssignment.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Use.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Values.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/WhenClause.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/With.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/WithQuery.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/WrappedInsertStatement.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/WrappedStatement.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AntlrATNCacheFields.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AstBuilder.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/CaseInsensitiveStream.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/ErrorHandler.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/ParsingException.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/RefreshableSqlBaseParserInitializer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/SqlParser.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/AstUtil.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/ExpressionFormatter.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/QueryUtil.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/ReservedIdentifiers.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/SqlFormatter.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/InternalTypeManager.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/NamedTypeSignature.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/ParameterKind.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/RowFieldName.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/StandardTypes.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/TypeId.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/TypeManager.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/TypeNotFoundException.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/TypeSignature.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/TypeSignatureParameter.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/TypeSignatureTranslator.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/ConversionUtils.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/MoreLists.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/NodeUtils.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Capture.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Captures.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/DefaultPrinter.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Match.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Pattern.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/PatternVisitor.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Property.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/PropertyPattern.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/CapturePattern.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/EqualsPattern.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/FilterPattern.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/TypeOfPattern.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/WithPattern.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/LogicalAndMultiColumnTransformer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/LogicalMultiColumnTransformer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/LogicalOrMultiColumnTransformer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/MultiColumnTransformer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DiffColumnTransformer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Replace2ColumnTransformer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Replace3ColumnTransformer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RoundColumnTransformer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SubString2ColumnTransformer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SubString3ColumnTransformer.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/attribute/DeviceAttributeStore.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/attribute/IDeviceAttributeStore.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/mem/mnode/container/KeyNullableConcurrentHashMap.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/mem/mnode/info/TableDeviceInfo.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/read/req/impl/ShowTableDevicesPlan.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/table/DataNodeTableCache.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/table/ITableCache.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/exception/CompactionTableSchemaNotMatchException.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/CompactionTableSchema.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/CompactionTableSchemaCollector.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/tsfile/timeindex/ArrayDeviceTimeIndex.java
 delete mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/tsfile/timeindex/DeviceTimeIndex.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/tsfile/timeindex/PlainDeviceTimeIndex.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/annotations/TableModel.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/annotations/TreeModel.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/sort/TableDiskSpiller.java
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/sort/TreeDiskSpiller.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/SchemaRegionTableDeviceTest.java
 delete mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/LastQuerySortOperatorTest.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/LastQueryTreeSortOperatorTest.java
 delete mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/MergeSortOperatorTest.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/MergeTreeSortOperatorTest.java
 delete mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SortOperatorTest.java
 delete mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/TopKOperatorTest.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/TreeSortOperatorTest.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/TreeTopKOperatorTest.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/TableStreamSortOperatorTest.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AnalyzerTest.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/LimitOffsetPushDownTest.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/MockTableModelDataPartition.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/SortTest.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TestMatadata.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TestPlanBuilder.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/cache/TableDeviceSchemaCacheTest.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ExampleTest.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PlanTester.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PredicateUtilsTest.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/AliasMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/AliasPresent.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/BaseStrictSymbolsMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/ColumnReference.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/ExchangeNodeMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/ExpressionMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/ExpressionVerifier.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/FilterMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/IdentityProjectionMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/LimitMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/MatchResult.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/Matcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/NotPlanNodeMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/OffsetMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/OutputMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/PlanAssert.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/PlanMatchPattern.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/PlanMatchingState.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/PlanMatchingVisitor.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/PlanNodeMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/PlanTestSymbol.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/RvalueMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/SortMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/StrictAssignedSymbolsMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/StrictSymbolsMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/SymbolAlias.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/SymbolAliases.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/TableScanMatcher.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/Util.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/statement/InsertStatementTest.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/statement/StatementTestUtils.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/CompactionTableModelTestFileWriter.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/TableModelFastCompactionPerformerTest.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/TableModelReadChunkCompactionPerformerTest.java
 create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/TableModelReadPointCompactionPerformerTest.java
 create mode 100644 iotdb-core/datanode/src/test/resources/v3tsfile/compaction-test-tsfile
 create mode 100644 iotdb-core/datanode/src/test/resources/v3tsfile/compaction-test-tsfile-resource
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IoTDBRuntimeException.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/path/AlignedFullPath.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/path/ExtendedPartialPath.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/path/IFullPath.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/path/NonAlignedFullPath.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/MemUsageUtil.java
 delete mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/AndFilter.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/DeviceFilterUtil.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/StringValueFilterVisitor.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/multichildren/AbstractMultiChildrenFilter.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/multichildren/AndFilter.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/multichildren/OrFilter.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/singlechild/AbstractSingleChildFilter.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/singlechild/AttributeFilter.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/singlechild/IdFilter.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/singlechild/NotFilter.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/values/ComparisonFilter.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/values/InFilter.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/values/LikeFilter.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/values/PreciseFilter.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/AlterTableOperationType.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/TsTable.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/TsTableInternalRPCType.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/TsTableInternalRPCUtil.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/column/AttributeColumnSchema.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/column/IdColumnSchema.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/column/MeasurementColumnSchema.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/column/TimeColumnSchema.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/column/TsTableColumnCategory.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/column/TsTableColumnSchema.java
 create mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/column/TsTableColumnSchemaUtil.java
 create mode 100644 iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/partition/executor/HashExecutorTest.java
 create mode 100644 iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/schema/SchemaFilterSerDeTest.java
 create mode 100644 iotdb-core/relational-grammar/pom.xml
 create mode 100644 iotdb-core/relational-grammar/src/main/antlr4/org/apache/iotdb/db/relational/grammar/sql/RelationalSql.g4
 create mode 100644 iotdb-core/relational-grammar/src/main/antlr4/org/apache/iotdb/db/relational/grammar/type/TypeCalculation.g4
 create mode 100644 iotdb-core/relational-grammar/src/main/java/org/apache/iotdb/db/relational/grammar/sql/RelationalSqlKeywords.java
 create mode 100644 library-udf/src/main/java/org/apache/iotdb/library/dprofile/util/Area.java
 create mode 100644 library-udf/src/main/java/org/apache/iotdb/library/dprofile/util/Bucket.java
 create mode 100644 library-udf/src/main/java/org/apache/iotdb/library/dprofile/util/LTThreeBuckets.java
 create mode 100644 library-udf/src/main/java/org/apache/iotdb/library/dprofile/util/OnePassBucketizer.java
 create mode 100644 library-udf/src/main/java/org/apache/iotdb/library/dprofile/util/SlidingCollector.java
 create mode 100644 library-udf/src/main/java/org/apache/iotdb/library/dprofile/util/Triangle.java