somandal commented on code in PR #8993:
URL: https://github.com/apache/pinot/pull/8993#discussion_r911314611


##########
pinot-core/src/test/java/org/apache/pinot/queries/MultiValueRawQueriesTest.java:
##########
@@ -468,6 +907,80 @@ private void 
validateSimpleAggregateQueryResults(ResultTable resultTable, DataSc
     assertEquals(avgInt, avgIntRaw);
   }
 
+  @Test
+  public void testAggregateWithFilterQueries() {
+    {
+      // Aggregation on int columns with filter
+      String query = "SELECT COUNTMV(mvIntCol), COUNTMV(mvRawIntCol), 
SUMMV(mvIntCol), SUMMV(mvRawIntCol), "
+          + "MINMV(mvIntCol), MINMV(mvRawIntCol), MAXMV(mvIntCol), 
MAXMV(mvRawIntCol), AVGMV(mvIntCol), "
+          + "AVGMV(mvRawIntCol) from testTable WHERE mvRawIntCol > 1000";
+      ResultTable resultTable = getBrokerResponse(query).getResultTable();
+
+      DataSchema dataSchema = new DataSchema(new String[]{
+          "countmv(mvIntCol)", "countmv(mvRawIntCol)", "summv(mvIntCol)", 
"summv(mvRawIntCol)", "minmv(mvIntCol)",
+          "minmv(mvRawIntCol)", "maxmv(mvIntCol)", "maxmv(mvRawIntCol)", 
"avgmv(mvIntCol)", "avgmv(mvRawIntCol)"
+      }, new DataSchema.ColumnDataType[]{
+          DataSchema.ColumnDataType.LONG, DataSchema.ColumnDataType.LONG, 
DataSchema.ColumnDataType.DOUBLE,
+          DataSchema.ColumnDataType.DOUBLE, DataSchema.ColumnDataType.DOUBLE, 
DataSchema.ColumnDataType.DOUBLE,
+          DataSchema.ColumnDataType.DOUBLE, DataSchema.ColumnDataType.DOUBLE, 
DataSchema.ColumnDataType.DOUBLE,
+          DataSchema.ColumnDataType.DOUBLE
+      });
+      validateAggregateWithFilterQueryResults(resultTable, dataSchema);
+    }
+    {
+      // Aggregation on double columns with filter
+      String query = "SELECT COUNTMV(mvDoubleCol), COUNTMV(mvRawDoubleCol), 
SUMMV(mvDoubleCol), SUMMV(mvRawDoubleCol), "
+          + "MINMV(mvDoubleCol), MINMV(mvRawDoubleCol), MAXMV(mvDoubleCol), 
MAXMV(mvRawDoubleCol), AVGMV(mvDoubleCol), "
+          + "AVGMV(mvRawDoubleCol) from testTable WHERE mvRawDoubleCol > 
1000.0";
+      ResultTable resultTable = getBrokerResponse(query).getResultTable();
+
+      DataSchema dataSchema = new DataSchema(new String[]{
+          "countmv(mvDoubleCol)", "countmv(mvRawDoubleCol)", 
"summv(mvDoubleCol)", "summv(mvRawDoubleCol)",
+          "minmv(mvDoubleCol)", "minmv(mvRawDoubleCol)", "maxmv(mvDoubleCol)", 
"maxmv(mvRawDoubleCol)",
+          "avgmv(mvDoubleCol)", "avgmv(mvRawDoubleCol)"
+      }, new DataSchema.ColumnDataType[]{
+          DataSchema.ColumnDataType.LONG, DataSchema.ColumnDataType.LONG, 
DataSchema.ColumnDataType.DOUBLE,
+          DataSchema.ColumnDataType.DOUBLE, DataSchema.ColumnDataType.DOUBLE, 
DataSchema.ColumnDataType.DOUBLE,
+          DataSchema.ColumnDataType.DOUBLE, DataSchema.ColumnDataType.DOUBLE, 
DataSchema.ColumnDataType.DOUBLE,
+          DataSchema.ColumnDataType.DOUBLE
+      });
+      validateAggregateWithFilterQueryResults(resultTable, dataSchema);
+    }
+  }
+
+  private void validateAggregateWithFilterQueryResults(ResultTable 
resultTable, DataSchema expectedDataSchema) {
+    assertNotNull(resultTable);
+    assertEquals(resultTable.getDataSchema(), expectedDataSchema);
+    List<Object[]> recordRows = resultTable.getRows();
+    assertEquals(recordRows.size(), 1);
+
+    Object[] values = recordRows.get(0);
+    long count = (long) values[0];
+    long countRaw = (long) values[1];
+    assertEquals(count, 80);
+    assertEquals(count, countRaw);
+
+    double sum = (double) values[2];
+    double sumRaw = (double) values[3];
+    assertEquals(sum, 84360.0);
+    assertEquals(sum, sumRaw);
+
+    double min = (double) values[4];
+    double minRaw = (double) values[5];
+    assertEquals(min, 1000.0);
+    assertEquals(min, minRaw);
+
+    double max = (double) values[6];
+    double maxRaw = (double) values[7];
+    assertEquals(max, 1109.0);
+    assertEquals(max, maxRaw);
+
+    double avg = (double) values[8];
+    double avgRaw = (double) values[9];
+    assertEquals(avg, 1054.5);
+    assertEquals(avg, avgRaw);
+  }
+
   @Test
   public void testAggregateWithGroupByQueries() {

Review Comment:
   added tests for the first 3 cases as discussed. the others are already 
covered. Transform is also covered in a different test function.



-- 
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