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

caogaofei pushed a commit to branch beyyes/topk
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/beyyes/topk by this push:
     new 818744f584d fix test
818744f584d is described below

commit 818744f584d61100a70a0ffacf7ca4c2b7056dca
Author: Beyyes <[email protected]>
AuthorDate: Thu Jul 18 14:31:48 2024 +0800

    fix test
---
 .../plan/relational/analyzer/AnalyzerTest.java     |  17 +--
 .../plan/relational/analyzer/SortTest.java         | 157 +++++++++------------
 2 files changed, 79 insertions(+), 95 deletions(-)

diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AnalyzerTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AnalyzerTest.java
index 6f5aac35df5..30b9c8ed03c 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AnalyzerTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AnalyzerTest.java
@@ -69,6 +69,7 @@ import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 import static 
org.apache.iotdb.db.queryengine.execution.warnings.WarningCollector.NOOP;
+import static 
org.apache.iotdb.db.queryengine.plan.relational.analyzer.LimitOffsetPushDownTest.getChildrenNode;
 import static 
org.apache.iotdb.db.queryengine.plan.statement.component.Ordering.ASC;
 import static org.apache.tsfile.read.common.type.BooleanType.BOOLEAN;
 import static org.apache.tsfile.read.common.type.DoubleType.DOUBLE;
@@ -764,11 +765,11 @@ public class AnalyzerTest {
         new LogicalPlanner(context, metadata, sessionInfo, 
WarningCollector.NOOP)
             .plan(actualAnalysis);
     rootNode = logicalQueryPlan.getRootNode();
-    assertTrue(rootNode.getChildren().get(0) instanceof LimitNode);
-    LimitNode limitNode = (LimitNode) rootNode.getChildren().get(0);
-    assertEquals(5, limitNode.getCount());
-    OffsetNode offsetNode = (OffsetNode) limitNode.getChild();
+    assertTrue(rootNode.getChildren().get(0) instanceof OffsetNode);
+    OffsetNode offsetNode = (OffsetNode) rootNode.getChildren().get(0);
     assertEquals(3, offsetNode.getCount());
+    LimitNode limitNode = (LimitNode) offsetNode.getChild();
+    assertEquals(8, limitNode.getCount());
 
     sql =
         "SELECT *, s1/2, s2+1 FROM table1 WHERE tag1 in ('A', 'B') and tag2 = 
'C' "
@@ -780,11 +781,11 @@ public class AnalyzerTest {
             .plan(actualAnalysis);
     rootNode = logicalQueryPlan.getRootNode();
     assertTrue(rootNode.getChildren().get(0) instanceof ProjectNode);
-    assertTrue(rootNode.getChildren().get(0).getChildren().get(0) instanceof 
LimitNode);
-    limitNode = (LimitNode) rootNode.getChildren().get(0).getChildren().get(0);
-    assertEquals(5, limitNode.getCount());
-    offsetNode = (OffsetNode) limitNode.getChild();
+    assertTrue(getChildrenNode(rootNode, 2) instanceof OffsetNode);
+    offsetNode = (OffsetNode) getChildrenNode(rootNode, 2);
     assertEquals(3, offsetNode.getCount());
+    limitNode = (LimitNode) offsetNode.getChild();
+    assertEquals(8, limitNode.getCount());
   }
 
   public static Analysis analyzeSQL(String sql, Metadata metadata) {
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/SortTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/SortTest.java
index 3ca16e80040..2242ebb74ca 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/SortTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/SortTest.java
@@ -123,11 +123,9 @@ public class SortTest {
     rootNode = logicalQueryPlan.getRootNode();
 
     assertTrue(rootNode instanceof OutputNode);
-    assertTrue(rootNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(rootNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
-    assertTrue(
-        rootNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
-            instanceof ProjectNode);
+    assertTrue(getChildrenNode(rootNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 2) instanceof LimitNode);
+    assertTrue(getChildrenNode(rootNode, 3) instanceof ProjectNode);
     SortNode sortNode =
         (SortNode)
             rootNode
@@ -159,8 +157,8 @@ public class SortTest {
     OutputNode outputNode =
         (OutputNode)
             
distributedQueryPlan.getFragments().get(0).getPlanNodeTree().getChildren().get(0);
-    assertTrue(outputNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(outputNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 2) instanceof LimitNode);
     assertTrue(
         
outputNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
             instanceof ProjectNode);
@@ -263,11 +261,10 @@ public class SortTest {
             .plan(actualAnalysis);
     rootNode = logicalQueryPlan.getRootNode();
 
-    // OutputNode - LimitNode - OffsetNode - ProjectNode - SortNode - 
ProjectNode - FilterNode -
-    // TableScanNode
+    // Output - Offset - Limit - Project - Sort - Project - Filter - TableScan
     assertTrue(rootNode instanceof OutputNode);
-    assertTrue(rootNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(rootNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 2) instanceof LimitNode);
     assertTrue(
         rootNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
             instanceof ProjectNode);
@@ -292,7 +289,7 @@ public class SortTest {
     assertEquals(5, tableScanNode.getIdAndAttributeIndexMap().size());
     assertTrue(tableScanNode.getPushDownLimit() == 0 && 
tableScanNode.getPushDownOffset() == 0);
 
-    // Output - Limit - Offset - Project - MergeSort - Sort - Project - Filter 
- TableScan
+    // Output - Offset - Limit - Project - MergeSort - Sort - Project - Filter 
- TableScan
     distributionPlanner = new TableDistributionPlanner(actualAnalysis, 
logicalQueryPlan, context);
     distributedQueryPlan = distributionPlanner.plan();
     assertEquals(3, distributedQueryPlan.getFragments().size());
@@ -302,8 +299,8 @@ public class SortTest {
     OutputNode outputNode =
         (OutputNode)
             
distributedQueryPlan.getFragments().get(0).getPlanNodeTree().getChildren().get(0);
-    assertTrue(outputNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(outputNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 2) instanceof LimitNode);
     assertTrue(
         
outputNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
             instanceof ProjectNode);
@@ -407,10 +404,10 @@ public class SortTest {
             .plan(actualAnalysis);
     rootNode = logicalQueryPlan.getRootNode();
 
-    // Output - Limit - Offset - Project - Sort - Project - Filter - TableScan
+    // Output - Offset - Limit - Project - Sort - Project - Filter - TableScan
     assertTrue(rootNode instanceof OutputNode);
-    assertTrue(rootNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(rootNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 2) instanceof LimitNode);
     assertTrue(
         rootNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
             instanceof ProjectNode);
@@ -444,8 +441,8 @@ public class SortTest {
     OutputNode outputNode =
         (OutputNode)
             
distributedQueryPlan.getFragments().get(0).getPlanNodeTree().getChildren().get(0);
-    assertTrue(outputNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(outputNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 2) instanceof LimitNode);
     assertTrue(
         
outputNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
             instanceof ProjectNode);
@@ -546,11 +543,10 @@ public class SortTest {
             .plan(actualAnalysis);
     rootNode = logicalQueryPlan.getRootNode();
 
-    // OutputNode - LimitNode - OffsetNode - ProjectNode - SortNode - 
ProjectNode - FilterNode -
-    // TableScanNode
+    // Output - Limit - Offset - Project - Sort - Project - Filter - TableScan
     assertTrue(rootNode instanceof OutputNode);
-    assertTrue(rootNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(rootNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 2) instanceof LimitNode);
     assertTrue(
         rootNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
             instanceof ProjectNode);
@@ -574,9 +570,7 @@ public class SortTest {
     assertEquals(6, tableScanNode.getDeviceEntries().size());
     assertEquals(5, tableScanNode.getIdAndAttributeIndexMap().size());
 
-    // OutputNode - LimitNode - OffsetNode - ProjectNode - MergeSortNode - 
SortNode - ProjectNode -
-    // FilterNode -
-    // TableScanNode
+    // Output - Offset - Limit - Project - MergeSort - Sort - Project - Filter 
- TableScan
     distributionPlanner = new TableDistributionPlanner(actualAnalysis, 
logicalQueryPlan, context);
     distributedQueryPlan = distributionPlanner.plan();
     assertEquals(3, distributedQueryPlan.getFragments().size());
@@ -586,8 +580,8 @@ public class SortTest {
     OutputNode outputNode =
         (OutputNode)
             
distributedQueryPlan.getFragments().get(0).getPlanNodeTree().getChildren().get(0);
-    assertTrue(outputNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(outputNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 2) instanceof LimitNode);
     assertTrue(
         
outputNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
             instanceof ProjectNode);
@@ -700,10 +694,10 @@ public class SortTest {
             .plan(actualAnalysis);
     rootNode = logicalQueryPlan.getRootNode();
 
-    // LogicalPlan: 
`Output-Limit-Offset-Project-StreamSort-Project-Filter-TableScan`
+    // LogicalPlan: 
`Output-Offset-Limit-Project-StreamSort-Project-Filter-TableScan`
     assertTrue(rootNode instanceof OutputNode);
-    assertTrue(getChildrenNode(rootNode, 1) instanceof LimitNode);
-    assertTrue(getChildrenNode(rootNode, 2) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 2) instanceof LimitNode);
     assertTrue(getChildrenNode(rootNode, 3) instanceof ProjectNode);
     assertTrue(getChildrenNode(rootNode, 4) instanceof StreamSortNode);
     streamSortNode = (StreamSortNode) getChildrenNode(rootNode, 4);
@@ -716,15 +710,15 @@ public class SortTest {
     assertEquals(6, tableScanNode.getDeviceEntries().size());
     assertEquals(5, tableScanNode.getIdAndAttributeIndexMap().size());
 
-    // DistributePlan: 
`Output-Limit-Offset-Project-MergeSort-StreamSort-Project-Filter-TableScan`
+    // DistributePlan: 
`Output-Offset-Limit-Project-MergeSort-StreamSort-Project-Filter-TableScan`
     distributionPlanner = new TableDistributionPlanner(actualAnalysis, 
logicalQueryPlan, context);
     distributedQueryPlan = distributionPlanner.plan();
     assertEquals(3, distributedQueryPlan.getFragments().size());
     outputNode =
         (OutputNode)
             
distributedQueryPlan.getFragments().get(0).getPlanNodeTree().getChildren().get(0);
-    assertTrue(getChildrenNode(outputNode, 1) instanceof LimitNode);
-    assertTrue(getChildrenNode(outputNode, 2) instanceof OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 2) instanceof LimitNode);
     assertTrue(getChildrenNode(outputNode, 3) instanceof ProjectNode);
     MergeSortNode mergeSortNode = (MergeSortNode) getChildrenNode(outputNode, 
4);
     assertTrue(mergeSortNode.getChildren().get(0) instanceof ExchangeNode);
@@ -775,10 +769,10 @@ public class SortTest {
             .plan(actualAnalysis);
     rootNode = logicalQueryPlan.getRootNode();
 
-    // LogicalPlan: 
`Output-Limit-Offset-Project-StreamSort-Project-Filter-TableScan`
+    // LogicalPlan: 
`Output-Offset-Limit-Project-StreamSort-Project-Filter-TableScan`
     assertTrue(rootNode instanceof OutputNode);
-    assertTrue(getChildrenNode(rootNode, 1) instanceof LimitNode);
-    assertTrue(getChildrenNode(rootNode, 2) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 2) instanceof LimitNode);
     assertTrue(getChildrenNode(rootNode, 3) instanceof ProjectNode);
     assertTrue(getChildrenNode(rootNode, 4) instanceof StreamSortNode);
     StreamSortNode streamSortNode = (StreamSortNode) getChildrenNode(rootNode, 
4);
@@ -791,15 +785,15 @@ public class SortTest {
     assertEquals(6, tableScanNode.getDeviceEntries().size());
     assertEquals(5, tableScanNode.getIdAndAttributeIndexMap().size());
 
-    // DistributePlan: 
`Output-Limit-Offset-Project-MergeSort-Project-Filter-TableScan`
+    // DistributePlan: 
`Output-Offset-Limit-Project-MergeSort-Project-Filter-TableScan`
     distributionPlanner = new TableDistributionPlanner(actualAnalysis, 
logicalQueryPlan, context);
     distributedQueryPlan = distributionPlanner.plan();
     assertEquals(3, distributedQueryPlan.getFragments().size());
     outputNode =
         (OutputNode)
             
distributedQueryPlan.getFragments().get(0).getPlanNodeTree().getChildren().get(0);
-    assertTrue(getChildrenNode(outputNode, 1) instanceof LimitNode);
-    assertTrue(getChildrenNode(outputNode, 2) instanceof OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 2) instanceof LimitNode);
     assertTrue(getChildrenNode(outputNode, 3) instanceof ProjectNode);
     MergeSortNode mergeSortNode = (MergeSortNode) getChildrenNode(outputNode, 
4);
     assertTrue(mergeSortNode.getChildren().get(0) instanceof ExchangeNode);
@@ -848,10 +842,10 @@ public class SortTest {
             .plan(actualAnalysis);
     rootNode = logicalQueryPlan.getRootNode();
 
-    // LogicalPlan: 
`Output-Limit-Offset-Project-StreamSort-Project-Filter-TableScan`
+    // LogicalPlan: 
`Output-Offset-Limit-Project-StreamSort-Project-Filter-TableScan`
     assertTrue(rootNode instanceof OutputNode);
-    assertTrue(getChildrenNode(rootNode, 1) instanceof LimitNode);
-    assertTrue(getChildrenNode(rootNode, 2) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 2) instanceof LimitNode);
     assertTrue(getChildrenNode(rootNode, 3) instanceof ProjectNode);
     assertTrue(getChildrenNode(rootNode, 4) instanceof StreamSortNode);
     streamSortNode = (StreamSortNode) getChildrenNode(rootNode, 4);
@@ -865,15 +859,15 @@ public class SortTest {
     assertEquals(6, tableScanNode.getDeviceEntries().size());
     assertEquals(5, tableScanNode.getIdAndAttributeIndexMap().size());
 
-    // DistributePlan: 
`Output-Limit-Offset-Project-MergeSort-StreamSort-Project-Filter-TableScan`
+    // DistributePlan: 
`Output-Offset-Limit-Project-MergeSort-StreamSort-Project-Filter-TableScan`
     distributionPlanner = new TableDistributionPlanner(actualAnalysis, 
logicalQueryPlan, context);
     distributedQueryPlan = distributionPlanner.plan();
     assertEquals(3, distributedQueryPlan.getFragments().size());
     outputNode =
         (OutputNode)
             
distributedQueryPlan.getFragments().get(0).getPlanNodeTree().getChildren().get(0);
-    assertTrue(getChildrenNode(outputNode, 1) instanceof LimitNode);
-    assertTrue(getChildrenNode(outputNode, 2) instanceof OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 2) instanceof LimitNode);
     assertTrue(getChildrenNode(outputNode, 3) instanceof ProjectNode);
     MergeSortNode mergeSortNode = (MergeSortNode) getChildrenNode(outputNode, 
4);
     assertTrue(mergeSortNode.getChildren().get(0) instanceof ExchangeNode);
@@ -931,10 +925,10 @@ public class SortTest {
             .plan(actualAnalysis);
     rootNode = logicalQueryPlan.getRootNode();
 
-    // LogicalPlan: 
`Output-Limit-Offset-Project-StreamSort-Project-Filter-TableScan`
+    // LogicalPlan: 
`Output-Offset-Limit-Project-StreamSort-Project-Filter-TableScan`
     assertTrue(rootNode instanceof OutputNode);
-    assertTrue(getChildrenNode(rootNode, 1) instanceof LimitNode);
-    assertTrue(getChildrenNode(rootNode, 2) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 2) instanceof LimitNode);
     assertTrue(getChildrenNode(rootNode, 3) instanceof ProjectNode);
     assertTrue(getChildrenNode(rootNode, 4) instanceof StreamSortNode);
     streamSortNode = (StreamSortNode) getChildrenNode(rootNode, 4);
@@ -948,15 +942,15 @@ public class SortTest {
     assertEquals(6, tableScanNode.getDeviceEntries().size());
     assertEquals(5, tableScanNode.getIdAndAttributeIndexMap().size());
 
-    // DistributePlan: 
`Output-Limit-Offset-Project-MergeSort-StreamSort-Project-Filter-TableScan`
+    // DistributePlan: 
`Output-Offset-Limit-Project-MergeSort-StreamSort-Project-Filter-TableScan`
     distributionPlanner = new TableDistributionPlanner(actualAnalysis, 
logicalQueryPlan, context);
     distributedQueryPlan = distributionPlanner.plan();
     assertEquals(3, distributedQueryPlan.getFragments().size());
     outputNode =
         (OutputNode)
             
distributedQueryPlan.getFragments().get(0).getPlanNodeTree().getChildren().get(0);
-    assertTrue(getChildrenNode(outputNode, 1) instanceof LimitNode);
-    assertTrue(getChildrenNode(outputNode, 2) instanceof OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 2) instanceof LimitNode);
     assertTrue(getChildrenNode(outputNode, 3) instanceof ProjectNode);
     MergeSortNode mergeSortNode = (MergeSortNode) getChildrenNode(outputNode, 
4);
     assertTrue(mergeSortNode.getChildren().get(0) instanceof ExchangeNode);
@@ -1007,11 +1001,11 @@ public class SortTest {
             .plan(actualAnalysis);
     rootNode = logicalQueryPlan.getRootNode();
 
-    // OutputNode - LimitNode - OffsetNode - ProjectNode - SortNode - 
ProjectNode - FilterNode -
+    // OutputNode -  OffsetNode - LimitNode - ProjectNode - SortNode - 
ProjectNode - FilterNode -
     // TableScanNode
     assertTrue(rootNode instanceof OutputNode);
-    assertTrue(rootNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(rootNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
+    assertTrue(rootNode.getChildren().get(0) instanceof OffsetNode);
+    assertTrue(rootNode.getChildren().get(0).getChildren().get(0) instanceof 
LimitNode);
     assertTrue(
         rootNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
             instanceof ProjectNode);
@@ -1050,8 +1044,8 @@ public class SortTest {
     OutputNode outputNode =
         (OutputNode)
             
distributedQueryPlan.getFragments().get(0).getPlanNodeTree().getChildren().get(0);
-    assertTrue(outputNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(outputNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 2) instanceof LimitNode);
     assertTrue(
         
outputNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
             instanceof ProjectNode);
@@ -1153,14 +1147,11 @@ public class SortTest {
             .plan(actualAnalysis);
     rootNode = logicalQueryPlan.getRootNode();
 
-    // OutputNode - LimitNode - OffsetNode - ProjectNode - SortNode - 
ProjectNode - FilterNode -
-    // TableScanNode
+    // Output-Offset-Limit-Project-Sort-Project-Filter-TableScan
     assertTrue(rootNode instanceof OutputNode);
-    assertTrue(rootNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(rootNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
-    assertTrue(
-        rootNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
-            instanceof ProjectNode);
+    assertTrue(getChildrenNode(rootNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 2) instanceof LimitNode);
+    assertTrue(getChildrenNode(rootNode, 3) instanceof ProjectNode);
     SortNode sortNode =
         (SortNode)
             rootNode
@@ -1184,9 +1175,7 @@ public class SortTest {
     assertEquals(6, tableScanNode.getDeviceEntries().size());
     assertEquals(5, tableScanNode.getIdAndAttributeIndexMap().size());
 
-    // OutputNode - LimitNode - OffsetNode - ProjectNode - MergeSortNode - 
SortNode - ProjectNode -
-    // FilterNode -
-    // TableScanNode
+    // Output-Offset-Limit-Project-MergeSort-Sort-Project-Filter-TableScan
     distributionPlanner = new TableDistributionPlanner(actualAnalysis, 
logicalQueryPlan, context);
     distributedQueryPlan = distributionPlanner.plan();
     assertEquals(3, distributedQueryPlan.getFragments().size());
@@ -1196,8 +1185,8 @@ public class SortTest {
     OutputNode outputNode =
         (OutputNode)
             
distributedQueryPlan.getFragments().get(0).getPlanNodeTree().getChildren().get(0);
-    assertTrue(outputNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(outputNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 2) instanceof LimitNode);
     assertTrue(
         
outputNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
             instanceof ProjectNode);
@@ -1310,11 +1299,10 @@ public class SortTest {
             .plan(actualAnalysis);
     rootNode = logicalQueryPlan.getRootNode();
 
-    // OutputNode - LimitNode - OffsetNode - ProjectNode - SortNode - 
ProjectNode - FilterNode -
-    // TableScanNode
+    // Output-Offset-Limit-Project-Sort-Project-Filter-TableScan
     assertTrue(rootNode instanceof OutputNode);
-    assertTrue(rootNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(rootNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 2) instanceof LimitNode);
     assertTrue(
         rootNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
             instanceof ProjectNode);
@@ -1338,9 +1326,7 @@ public class SortTest {
     assertEquals(6, tableScanNode.getDeviceEntries().size());
     assertEquals(5, tableScanNode.getIdAndAttributeIndexMap().size());
 
-    // OutputNode - LimitNode - OffsetNode - ProjectNode - MergeSortNode - 
SortNode - ProjectNode -
-    // FilterNode -
-    // TableScanNode
+    // Output-Offset-Limit-Project-MergeSort-Sort-Project-Filter-TableScan
     distributionPlanner = new TableDistributionPlanner(actualAnalysis, 
logicalQueryPlan, context);
     distributedQueryPlan = distributionPlanner.plan();
     assertEquals(3, distributedQueryPlan.getFragments().size());
@@ -1350,8 +1336,8 @@ public class SortTest {
     OutputNode outputNode =
         (OutputNode)
             
distributedQueryPlan.getFragments().get(0).getPlanNodeTree().getChildren().get(0);
-    assertTrue(outputNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(outputNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 2) instanceof LimitNode);
     assertTrue(
         
outputNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
             instanceof ProjectNode);
@@ -1450,11 +1436,10 @@ public class SortTest {
             .plan(actualAnalysis);
     rootNode = logicalQueryPlan.getRootNode();
 
-    // OutputNode - LimitNode - OffsetNode - ProjectNode - SortNode - 
ProjectNode - FilterNode -
-    // TableScanNode
+    // Output-Offset-Limit-Project-Sort-Project-Filter-TableScan
     assertTrue(rootNode instanceof OutputNode);
-    assertTrue(rootNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(rootNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(rootNode, 2) instanceof LimitNode);
     assertTrue(
         rootNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
             instanceof ProjectNode);
@@ -1484,9 +1469,7 @@ public class SortTest {
     assertEquals(6, tableScanNode.getDeviceEntries().size());
     assertEquals(5, tableScanNode.getIdAndAttributeIndexMap().size());
 
-    // OutputNode - LimitNode - OffsetNode - ProjectNode - MergeSortNode - 
SortNode - ProjectNode -
-    // FilterNode -
-    // TableScanNode
+    // Output-Offset-Limit-Project-MergeSort-Sort-Project-Filter-TableScan
     distributionPlanner = new TableDistributionPlanner(actualAnalysis, 
logicalQueryPlan, context);
     distributedQueryPlan = distributionPlanner.plan();
     assertEquals(3, distributedQueryPlan.getFragments().size());
@@ -1496,8 +1479,8 @@ public class SortTest {
     OutputNode outputNode =
         (OutputNode)
             
distributedQueryPlan.getFragments().get(0).getPlanNodeTree().getChildren().get(0);
-    assertTrue(outputNode.getChildren().get(0) instanceof LimitNode);
-    assertTrue(outputNode.getChildren().get(0).getChildren().get(0) instanceof 
OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 1) instanceof OffsetNode);
+    assertTrue(getChildrenNode(outputNode, 2) instanceof LimitNode);
     assertTrue(
         
outputNode.getChildren().get(0).getChildren().get(0).getChildren().get(0)
             instanceof ProjectNode);

Reply via email to