siddharthteotia commented on code in PR #9868:
URL: https://github.com/apache/pinot/pull/9868#discussion_r1035107005


##########
pinot-core/src/test/java/org/apache/pinot/queries/ForwardIndexHandlerReloadQueriesTest.java:
##########
@@ -554,23 +605,66 @@ public void testSelectWithAggregationQueriesWithReload()
     List<Object[]> afterResultRows3 = resultTable.getRows();
 
     validateBeforeAfterQueryResults(beforeResultRows3, afterResultRows3);
+
+    query = "SELECT MAX(ARRAYLENGTH(column6)) from testTable LIMIT 10";
+    brokerResponseNative = getBrokerResponse(query);
+    assertTrue(brokerResponseNative.getProcessingExceptions() == null
+        || brokerResponseNative.getProcessingExceptions().size() == 0);
+    resultTable = brokerResponseNative.getResultTable();
+    assertEquals(brokerResponseNative.getNumRowsResultSet(), 1);
+    assertEquals(brokerResponseNative.getTotalDocs(), 400_000L);
+    assertEquals(brokerResponseNative.getNumDocsScanned(), 400_000L);
+    assertEquals(brokerResponseNative.getNumSegmentsProcessed(), 4L);
+    assertEquals(brokerResponseNative.getNumSegmentsMatched(), 4L);
+    assertEquals(brokerResponseNative.getNumEntriesScannedPostFilter(), 
400000);
+    assertEquals(brokerResponseNative.getNumEntriesScannedInFilter(), 0L);
+    assertNotNull(brokerResponseNative.getProcessingExceptions());
+    assertEquals(brokerResponseNative.getProcessingExceptions().size(), 0);
+    assertEquals(resultTable.getDataSchema(), new DataSchema(new 
String[]{"max(arraylength(column6))"},
+        new DataSchema.ColumnDataType[]{DataSchema.ColumnDataType.DOUBLE}));
+    List<Object[]> afterResultRows4 = resultTable.getRows();
+
+    validateBeforeAfterQueryResults(beforeResultRows4, afterResultRows4);
+
+    query = "SELECT column1, max(column1), sum(column10) from testTable WHERE 
column6 = 1001 GROUP BY "
+        + "column1 ORDER BY column1";
+    brokerResponseNative = getBrokerResponse(query);
+    assertTrue(brokerResponseNative.getProcessingExceptions() == null
+        || brokerResponseNative.getProcessingExceptions().size() == 0);
+    resultTable = brokerResponseNative.getResultTable();
+    assertEquals(brokerResponseNative.getNumRowsResultSet(), 1);
+    assertEquals(brokerResponseNative.getTotalDocs(), 400_000L);
+    assertEquals(brokerResponseNative.getNumDocsScanned(), 8);
+    assertEquals(brokerResponseNative.getNumSegmentsProcessed(), 4L);
+    assertEquals(brokerResponseNative.getNumSegmentsMatched(), 4L);
+    assertEquals(brokerResponseNative.getNumEntriesScannedPostFilter(), 16L);
+    assertEquals(brokerResponseNative.getNumEntriesScannedInFilter(), 426752);
+    assertNotNull(brokerResponseNative.getProcessingExceptions());
+    assertEquals(brokerResponseNative.getProcessingExceptions().size(), 0);
+    assertEquals(resultTable.getDataSchema(),
+        new DataSchema(new String[]{"column1", "max(column1)", 
"sum(column10)"}, new DataSchema.ColumnDataType[]{
+            DataSchema.ColumnDataType.INT, DataSchema.ColumnDataType.DOUBLE, 
DataSchema.ColumnDataType.DOUBLE
+        }));
+    List<Object[]> afterResultRows5 = resultTable.getRows();
+
+    validateBeforeAfterQueryResults(beforeResultRows5, afterResultRows5);
   }
 
   @Test
   public void testRangeIndexAfterReload()
       throws Exception {
-    String query = "select count(*) from testTable where column10 > 674022574";
+    String query = "select count(*) from testTable where column10 > 674022574 
and column9 < 674022574";
     BrokerResponseNative brokerResponseNative = getBrokerResponse(query);
     assertTrue(brokerResponseNative.getProcessingExceptions() == null
         || brokerResponseNative.getProcessingExceptions().size() == 0);
     ResultTable resultTable1 = brokerResponseNative.getResultTable();
     assertEquals(brokerResponseNative.getNumRowsResultSet(), 1);
     assertEquals(brokerResponseNative.getTotalDocs(), 400_000L);
-    assertEquals(brokerResponseNative.getNumDocsScanned(), 103280L);
+    assertEquals(brokerResponseNative.getNumDocsScanned(), 40224L);

Review Comment:
   So rangeIndex will be rewritten to be raw value based right ? I wonder why 
should `numDocsScanned` / `numEntriesScannedInFilter` change ?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to