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

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

commit 20f3fed8c32c41a7d3b8204302ed6d50e98b2892
Merge: 716e8ff9fb4 97046f9023c
Author: JackieTien97 <[email protected]>
AuthorDate: Fri Dec 20 20:13:40 2024 +0800

    resolve conflicts

 dependencies.json                                  |    2 +-
 .../iotdb/db/it/IoTDBSetConfigurationIT.java       |    8 +
 .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java |    1 -
 .../db/it/schema/IoTDBDeleteStorageGroupIT.java    |    4 +-
 .../pipe/it/tablemodel/IoTDBPipeClusterIT.java     |    3 +-
 .../it/db/it/IoTDBFlushQueryTableIT.java           |    8 +-
 .../relational/it/schema/IoTDBDatabaseIT.java      |   57 +-
 .../apache/iotdb/tools/it/ExportTsFileTestIT.java  |    4 +-
 .../org/apache/iotdb/tool/tsfile/ExportTsFile.java |   31 +-
 .../confignode/conf/ConfigNodeDescriptor.java      |  600 ++---
 .../request/read/database/CountDatabasePlan.java   |   15 +-
 .../request/read/database/GetDatabasePlan.java     |    7 +-
 .../database/AdjustMaxRegionGroupNumPlan.java      |   20 +-
 .../request/write/quota/SetSpaceQuotaPlan.java     |    2 +-
 .../write/region/CreateRegionGroupsPlan.java       |   39 +-
 .../statemachine/ConfigRegionStateMachine.java     |    4 +-
 .../exception/NoAvailableRegionGroupException.java |    2 +-
 .../confignode/manager/ClusterQuotaManager.java    |    8 +-
 .../iotdb/confignode/manager/ConfigManager.java    |  128 +-
 .../apache/iotdb/confignode/manager/IManager.java  |    6 +-
 .../iotdb/confignode/manager/ProcedureManager.java |    9 +-
 .../iotdb/confignode/manager/load/LoadManager.java |    4 +-
 .../manager/load/balancer/PartitionBalancer.java   |   18 +-
 .../manager/load/balancer/RegionBalancer.java      |   28 +-
 .../confignode/manager/load/cache/LoadCache.java   |    2 +-
 .../manager/partition/PartitionManager.java        |  143 +-
 .../manager/schema/ClusterSchemaManager.java       |  102 +-
 .../persistence/executor/ConfigPlanExecutor.java   |   14 +-
 .../partition/DatabasePartitionTable.java          |    5 +-
 .../persistence/partition/PartitionInfo.java       |   47 +-
 .../persistence/schema/ClusterSchemaInfo.java      |  324 +--
 .../confignode/persistence/schema/ConfigMTree.java |   57 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |   15 +-
 .../impl/region/CreateRegionGroupsProcedure.java   |   51 +-
 .../impl/schema/AlterLogicalViewProcedure.java     |    2 +-
 .../impl/schema/DeactivateTemplateProcedure.java   |    2 +-
 .../impl/schema/DeleteTimeSeriesProcedure.java     |    2 +-
 .../impl/schema/table/CreateTableProcedure.java    |  119 +-
 .../impl/schema/table/DeleteDevicesProcedure.java  |   33 +-
 .../schema/table/DropTableColumnProcedure.java     |   23 +-
 .../impl/schema/table/DropTableProcedure.java      |   43 +-
 .../procedure/state/schema/CreateTableState.java   |    1 -
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   75 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |   21 +-
 .../confignode/persistence/PartitionInfoTest.java  |   16 +-
 .../persistence/schema/ClusterSchemaInfoTest.java  |    2 +-
 .../persistence/schema/ConfigMTreeTest.java        |   15 +-
 .../schema/table/AddTableColumnProcedureTest.java  |    2 +-
 .../schema/table/CreateTableProcedureTest.java     |    3 +-
 .../schema/table/DeleteDevicesProcedureTest.java   |    2 +-
 .../schema/table/DropTableColumnProcedureTest.java |    2 +-
 .../impl/schema/table/DropTableProcedureTest.java  |    2 +-
 .../table/RenameTableColumnProcedureTest.java      |    2 +-
 .../table/SetTablePropertiesProcedureTest.java     |    2 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  | 2475 ++++++--------------
 .../db/conf/rest/IoTDBRestServiceDescriptor.java   |   92 +-
 .../dataregion/DataExecutionVisitor.java           |    4 +
 .../exception/metadata/DatabaseModelException.java |   53 -
 .../deletion/persist/PageCacheDeletionBuffer.java  |    2 +-
 .../db/pipe/event/common/PipeInsertionEvent.java   |    6 +-
 ...oricalDataRegionTsFileAndDeletionExtractor.java |    9 +-
 .../realtime/PipeRealtimeDataRegionExtractor.java  |    4 +-
 .../protocol/thrift/IoTDBDataNodeReceiver.java     |    5 +-
 .../iotdb/db/protocol/client/ConfigNodeClient.java |    4 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |    4 +-
 .../thrift/impl/DataNodeRegionManager.java         |   14 +-
 .../db/queryengine/plan/analyze/Analysis.java      |   27 +-
 .../db/queryengine/plan/analyze/AnalyzeUtils.java  |   69 +-
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |   21 -
 .../plan/analyze/ClusterPartitionFetcher.java      |   75 +-
 .../db/queryengine/plan/analyze/IAnalysis.java     |    2 +-
 .../plan/analyze/IPartitionFetcher.java            |   16 +-
 .../analyze/cache/partition/PartitionCache.java    |  101 +-
 .../load/LoadTsFileToTableModelAnalyzer.java       |    5 +-
 .../queryengine/plan/execution/QueryExecution.java |    4 +-
 .../execution/config/TableConfigTaskVisitor.java   |    7 +-
 .../config/executor/ClusterConfigTaskExecutor.java |   45 +-
 .../relational/AbstractAlterOrDropTableTask.java   |    4 +-
 .../metadata/relational/CreateTableTask.java       |    4 +-
 .../config/metadata/relational/ShowDBTask.java     |   13 +-
 .../plan/execution/config/sys/FlushTask.java       |   18 +-
 .../db/queryengine/plan/parser/ASTVisitor.java     |   12 +-
 .../distribution/WriteFragmentParallelPlanner.java |    2 +-
 .../node/write/RelationalInsertTabletNode.java     |   14 +-
 .../plan/relational/analyzer/Analysis.java         |   54 +-
 .../relational/metadata/TableMetadataImpl.java     |   18 +-
 .../fetcher/cache/TableDeviceSchemaCache.java      |   63 +-
 .../plan/relational/planner/RelationPlanner.java   |    5 +-
 .../distribute/TableDistributedPlanGenerator.java  |   67 +-
 .../node/schema/CreateOrUpdateTableDeviceNode.java |    5 +-
 .../schema/TableDeviceAttributeUpdateNode.java     |    9 +-
 .../optimizations/PushPredicateIntoTableScan.java  |   38 +-
 .../queryengine/plan/relational/sql/ast/Flush.java |    4 +-
 .../plan/relational/sql/parser/AstBuilder.java     |   46 +-
 .../statement/metadata/ShowDatabaseStatement.java  |    6 -
 .../plan/statement/sys/FlushStatement.java         |   33 +-
 .../apache/iotdb/db/schemaengine/SchemaEngine.java |   60 +-
 .../schemaregion/ISchemaRegionParams.java          |    3 +-
 .../schemaregion/SchemaRegionParams.java           |   11 +-
 .../GeneralRegionAttributeSecurityService.java     |    6 +-
 .../schemaregion/impl/SchemaRegionMemoryImpl.java  |   13 +-
 .../schemaregion/impl/SchemaRegionPBTreeImpl.java  |    6 +-
 .../mtree/impl/mem/MTreeBelowSGMemoryImpl.java     |    2 +-
 .../db/schemaengine/table/DataNodeTableCache.java  |   45 +-
 .../schemaengine/table/InformationSchemaUtils.java |    3 +-
 .../iotdb/db/storageengine/StorageEngine.java      |   27 +-
 .../db/storageengine/dataregion/DataRegion.java    |   33 +-
 .../DefaultCompactionTaskComparatorImpl.java       |   16 +-
 .../impl/NewSizeTieredCompactionSelector.java      |    2 +-
 .../wal/allocation/FirstCreateStrategy.java        |    1 +
 .../storageengine/dataregion/wal/node/WALNode.java |    8 +-
 .../db/tools/schema/SRStatementGenerator.java      |    3 +-
 .../schemaRegion/AbstractSchemaRegionTest.java     |    4 +-
 .../SchemaRegionSimpleRecoverTest.java             |    5 +-
 .../schemaRegion/SchemaRegionTableDeviceTest.java  |   10 +-
 .../schemaRegion/SchemaRegionTestUtil.java         |    3 +-
 .../schemaRegion/SchemaStatisticsTest.java         |    2 +-
 .../plan/analyze/FakePartitionFetcherImpl.java     |    5 -
 .../plan/analyze/cache/PartitionCacheTest.java     |    8 +-
 .../plan/planner/distribution/Util.java            |    5 -
 .../plan/planner/distribution/Util2.java           |    5 -
 .../plan/relational/analyzer/AnalyzerTest.java     |   49 +-
 .../analyzer/MockTableModelDataPartition.java      |   17 +-
 .../plan/relational/analyzer/TSBSMetadata.java     |    5 -
 .../plan/relational/analyzer/TestMatadata.java     |   68 +-
 .../DataNodeInternalRPCServiceImplTest.java        |    3 +-
 .../compaction/CompactionTaskComparatorTest.java   |    2 +-
 .../NewSizeTieredCompactionSelectorTest.java       |   30 +
 .../org/apache/iotdb/db/tools/MLogParserTest.java  |    5 +-
 .../db/utils/SchemaRegionSnapshotParserTest.java   |   89 +-
 .../reporter/prometheus/PrometheusReporter.java    |    5 +-
 iotdb-core/node-commons/pom.xml                    |    4 +-
 .../commons/client/sync/ByteBuddyEnhancer.java     |   75 -
 .../sync/SyncThriftClientWithErrorHandler.java     |   30 +-
 .../iotdb/commons/conf/ConfigurationFileUtils.java |   22 +-
 .../iotdb/commons/partition/DataPartition.java     |   55 +-
 .../iotdb/commons/partition/SchemaPartition.java   |   10 +-
 .../org/apache/iotdb/commons/path/PartialPath.java |   11 +-
 .../schema/column/ColumnHeaderConstant.java        |    9 +-
 .../commons/schema/table/InformationSchema.java    |    5 +-
 .../org/apache/iotdb/commons/utils/PathUtils.java  |    8 +-
 .../src/main/thrift/confignode.thrift              |    4 +-
 pom.xml                                            |    8 +-
 143 files changed, 2458 insertions(+), 3938 deletions(-)

diff --cc 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributedPlanGenerator.java
index 7911b868070,dbab02fcf2c..bc0e269f468
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributedPlanGenerator.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributedPlanGenerator.java
@@@ -504,11 -499,15 +505,12 @@@ public class TableDistributedPlanGenera
        return Collections.singletonList(node);
      }
  
-     List<PlanNode> resultTableScanNodeList = new ArrayList<>();
+     final List<PlanNode> resultTableScanNodeList = new ArrayList<>();
      TRegionReplicaSet mostUsedDataRegion = null;
      int maxDeviceEntrySizeOfTableScan = 0;
-     for (Map.Entry<TRegionReplicaSet, DeviceTableScanNode> entry : 
tableScanNodeMap.entrySet()) {
-       DeviceTableScanNode subDeviceTableScanNode = entry.getValue();
+     for (final Map.Entry<TRegionReplicaSet, DeviceTableScanNode> entry :
+         tableScanNodeMap.entrySet()) {
 -      final TRegionReplicaSet regionReplicaSet = entry.getKey();
+       final DeviceTableScanNode subDeviceTableScanNode = entry.getValue();
 -      subDeviceTableScanNode.setPlanNodeId(queryId.genPlanNodeId());
 -      subDeviceTableScanNode.setRegionReplicaSet(regionReplicaSet);
        resultTableScanNodeList.add(subDeviceTableScanNode);
  
        if (mostUsedDataRegion == null
diff --cc 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java
index dd6bd86e0c2,420e682f723..2a208226653
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java
@@@ -449,12 -449,8 +450,12 @@@ public class PushPredicateIntoTableSca
                attributeColumns,
                queryContext);
        tableScanNode.setDeviceEntries(deviceEntries);
 +      if (deviceEntries.stream()
 +          .anyMatch(deviceEntry -> deviceEntry instanceof 
NonAlignedAlignedDeviceEntry)) {
 +        tableScanNode.setContainsNonAlignedDevice();
 +      }
  
-       long schemaFetchCost = System.nanoTime() - startTime;
+       final long schemaFetchCost = System.nanoTime() - startTime;
        QueryPlanCostMetricSet.getInstance()
            .recordPlanCost(TABLE_TYPE, SCHEMA_FETCHER, schemaFetchCost);
        queryContext.setFetchSchemaCost(schemaFetchCost);
diff --cc 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TestMatadata.java
index 4a8d727cee3,a26aa698085..e980e2995c6
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TestMatadata.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TestMatadata.java
@@@ -122,11 -115,8 +122,11 @@@ public class TestMatadata implements Me
    public static final String DB2 = "db2";
    public static final String TABLE2 = "table2";
  
 +  private static final String TREE_VIEW_DB = "tree_view_db";
 +  private static final String DEVICE_VIEW_TEST_TABLE = 
"root.test.device_view";
 +
    @Override
-   public boolean tableExists(QualifiedObjectName name) {
+   public boolean tableExists(final QualifiedObjectName name) {
      return name.getDatabaseName().equalsIgnoreCase(DB1)
          && name.getObjectName().equalsIgnoreCase(TABLE1);
    }
@@@ -271,27 -240,10 +273,27 @@@
  
    @Override
    public List<DeviceEntry> indexScan(
-       QualifiedObjectName tableName,
-       List<Expression> expressionList,
-       List<String> attributeColumns,
-       MPPQueryContext context) {
+       final QualifiedObjectName tableName,
+       final List<Expression> expressionList,
+       final List<String> attributeColumns,
+       final MPPQueryContext context) {
 +    if (tableName.getDatabaseName().equals(TREE_VIEW_DB)) {
 +      if (expressionList.isEmpty()) {
 +        return ImmutableList.of(
 +            new AlignedDeviceEntry(
 +                new StringArrayDeviceID(DEVICE_3.split("\\.")), 
ImmutableList.of()),
 +            new AlignedDeviceEntry(
 +                new StringArrayDeviceID(DEVICE_5.split("\\.")), 
ImmutableList.of()),
 +            new NonAlignedAlignedDeviceEntry(
 +                new StringArrayDeviceID(DEVICE_4.split("\\.")), 
ImmutableList.of()));
 +      }
 +
 +      return ImmutableList.of(
 +          new AlignedDeviceEntry(
 +              new StringArrayDeviceID(DEVICE_3.split("\\.")), 
ImmutableList.of()),
 +          new AlignedDeviceEntry(
 +              new StringArrayDeviceID(DEVICE_5.split("\\.")), 
ImmutableList.of()));
 +    }
  
      if (expressionList.size() == 2) {
        if (compareEqualsMatch(expressionList.get(0), "tag1", "beijing")
@@@ -345,16 -286,16 +347,17 @@@
      }
  
      return Arrays.asList(
 -        new DeviceEntry(new StringArrayDeviceID(DEVICE_4.split("\\.")), 
DEVICE_4_ATTRIBUTES),
 -        new DeviceEntry(new StringArrayDeviceID(DEVICE_1.split("\\.")), 
DEVICE_1_ATTRIBUTES),
 -        new DeviceEntry(new StringArrayDeviceID(DEVICE_6.split("\\.")), 
DEVICE_6_ATTRIBUTES),
 -        new DeviceEntry(new StringArrayDeviceID(DEVICE_5.split("\\.")), 
DEVICE_5_ATTRIBUTES),
 -        new DeviceEntry(new StringArrayDeviceID(DEVICE_3.split("\\.")), 
DEVICE_3_ATTRIBUTES),
 -        new DeviceEntry(new StringArrayDeviceID(DEVICE_2.split("\\.")), 
DEVICE_2_ATTRIBUTES));
 +        new AlignedDeviceEntry(new 
StringArrayDeviceID(DEVICE_4.split("\\.")), DEVICE_4_ATTRIBUTES),
 +        new AlignedDeviceEntry(new 
StringArrayDeviceID(DEVICE_1.split("\\.")), DEVICE_1_ATTRIBUTES),
 +        new AlignedDeviceEntry(new 
StringArrayDeviceID(DEVICE_6.split("\\.")), DEVICE_6_ATTRIBUTES),
 +        new AlignedDeviceEntry(new 
StringArrayDeviceID(DEVICE_5.split("\\.")), DEVICE_5_ATTRIBUTES),
 +        new AlignedDeviceEntry(new 
StringArrayDeviceID(DEVICE_3.split("\\.")), DEVICE_3_ATTRIBUTES),
 +        new AlignedDeviceEntry(
 +            new StringArrayDeviceID(DEVICE_2.split("\\.")), 
DEVICE_2_ATTRIBUTES));
    }
  
-   private boolean compareEqualsMatch(Expression expression, String idOrAttr, 
String value) {
+   private boolean compareEqualsMatch(
+       final Expression expression, final String idOrAttr, final String value) 
{
      if (expression instanceof ComparisonExpression
          && ((ComparisonExpression) expression).getOperator()
              == ComparisonExpression.Operator.EQUAL) {

Reply via email to