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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]