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