This is an automated email from the ASF dual-hosted git repository. yupeng pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push: new d2789319d5 Support st-union function in v2 (#11235) d2789319d5 is described below commit d2789319d56886b29433e8e4594c3f309a2415c4 Author: Xiang Fu <xiangfu.1...@gmail.com> AuthorDate: Tue Aug 1 08:49:51 2023 -0700 Support st-union function in v2 (#11235) --- .../tests/GeoSpatialClusterIntegrationTest.java | 20 ++++++++++++++++++++ .../pinot/segment/spi/AggregationFunctionType.java | 3 ++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/GeoSpatialClusterIntegrationTest.java b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/GeoSpatialClusterIntegrationTest.java index 8982988780..408a2191c7 100644 --- a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/GeoSpatialClusterIntegrationTest.java +++ b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/GeoSpatialClusterIntegrationTest.java @@ -362,4 +362,24 @@ public class GeoSpatialClusterIntegrationTest extends BaseClusterIntegrationTest Assert.assertEquals(actualResult, expectedResult); } } + + @Test(dataProvider = "useBothQueryEngines") + public void testStUnionQuery(boolean useMultiStageQueryEngine) + throws Exception { + setUseMultiStageQueryEngine(useMultiStageQueryEngine); + String query = + String.format("Select STUnion(ST_GeogFromText(%s)) from %s", + AREA_GEOG_NAME, DEFAULT_TABLE_NAME); + JsonNode pinotResponse = postQuery(query); + JsonNode rows = pinotResponse.get("resultTable").get("rows"); + String actualResult = rows.get(0).get(0).asText(); + String expectedResult = + "850000000200000012000000000000000a0000000000000000000000000000000000000000000000003f826b0721dd331700000" + + "000000000003ff0000000000000000000000000000040568000000000003ff00000000000004056400000000000405640000000" + + "00003ff0000000000000405680000000000000000000000000003ff000000000000000000000000000003f826b0721dd3317000" + + "000000000000000000000000000000000000000000000c05e899ba1b196104042be385c67dfe3c05e898c8259e1f44042be491a" + + "fc04c9c05e89538ef34d6a4042be4840e1719fc05e8956cd6c2efd4042bdf26f1dc50dc05e898e864020814042bdc1e7967cafc" + + "05e89a7503b81b64042bddabe27179cc05e89a85caafbc24042be215336deb9c05e899ba1b196104042be385c67dfe3"; + Assert.assertEquals(actualResult, expectedResult); + } } diff --git a/pinot-segment-spi/src/main/java/org/apache/pinot/segment/spi/AggregationFunctionType.java b/pinot-segment-spi/src/main/java/org/apache/pinot/segment/spi/AggregationFunctionType.java index 460bf61faf..5f7ed4a748 100644 --- a/pinot-segment-spi/src/main/java/org/apache/pinot/segment/spi/AggregationFunctionType.java +++ b/pinot-segment-spi/src/main/java/org/apache/pinot/segment/spi/AggregationFunctionType.java @@ -147,7 +147,8 @@ public enum AggregationFunctionType { AVGVALUEINTEGERSUMTUPLESKETCH("avgValueIntegerSumTupleSketch"), // Geo aggregation functions - STUNION("STUnion"), + STUNION("STUnion", ImmutableList.of("ST_UNION"), SqlKind.OTHER_FUNCTION, SqlFunctionCategory.USER_DEFINED_FUNCTION, + OperandTypes.BINARY, ReturnTypes.explicit(SqlTypeName.VARBINARY), ReturnTypes.explicit(SqlTypeName.OTHER)), // Aggregation functions for multi-valued columns COUNTMV("countMV", null, SqlKind.OTHER_FUNCTION, SqlFunctionCategory.USER_DEFINED_FUNCTION, --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org