[NO ISSUE][FUN] Allow extensions to add aggregate functions
- user model changes: yes
- storage format changes: no
- interface changes: no
Details:
- Make aggregate function related methods public in BuiltInFunctions,
so product extensions can register their own aggregate functions
Change-Id: I5bec031c833938e38c989acd7aa43b8e93669602
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2840
Reviewed-by: abdullah alamoudi <bamousaa@gmail.com>
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
index d2c8269..1df617e 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
@@ -2046,19 +2046,19 @@
registeredFunctions.put(fi, functionInfo);
}
- private static void addAgg(FunctionIdentifier fi) {
+ public static void addAgg(FunctionIdentifier fi) {
builtinAggregateFunctions.add(getAsterixFunctionInfo(fi));
}
- private static void addLocalAgg(FunctionIdentifier fi, FunctionIdentifier localfi) {
+ public static void addLocalAgg(FunctionIdentifier fi, FunctionIdentifier localfi) {
aggregateToLocalAggregate.put(getAsterixFunctionInfo(fi), getAsterixFunctionInfo(localfi));
}
- private static void addIntermediateAgg(FunctionIdentifier fi, FunctionIdentifier globalfi) {
+ public static void addIntermediateAgg(FunctionIdentifier fi, FunctionIdentifier globalfi) {
aggregateToIntermediateAggregate.put(getAsterixFunctionInfo(fi), getAsterixFunctionInfo(globalfi));
}
- private static void addGlobalAgg(FunctionIdentifier fi, FunctionIdentifier globalfi) {
+ public static void addGlobalAgg(FunctionIdentifier fi, FunctionIdentifier globalfi) {
aggregateToGlobalAggregate.put(getAsterixFunctionInfo(fi), getAsterixFunctionInfo(globalfi));
globalAggregateFunctions.add(getAsterixFunctionInfo(globalfi));
}
@@ -2067,15 +2067,15 @@
builtinUnnestingFunctions.put(getAsterixFunctionInfo(fi), returnsUniqueValues);
}
- private static void addSerialAgg(FunctionIdentifier fi, FunctionIdentifier serialfi) {
+ public static void addSerialAgg(FunctionIdentifier fi, FunctionIdentifier serialfi) {
aggregateToSerializableAggregate.put(getAsterixFunctionInfo(fi), getAsterixFunctionInfo(serialfi));
}
- private static void addScalarAgg(FunctionIdentifier fi, FunctionIdentifier scalarfi) {
+ public static void addScalarAgg(FunctionIdentifier fi, FunctionIdentifier scalarfi) {
scalarToAggregateFunctionMap.put(getAsterixFunctionInfo(scalarfi), getAsterixFunctionInfo(fi));
}
- private static void addDistinctAgg(FunctionIdentifier distinctfi, FunctionIdentifier regularscalarfi) {
+ public static void addDistinctAgg(FunctionIdentifier distinctfi, FunctionIdentifier regularscalarfi) {
distinctToRegularScalarAggregateFunctionMap.put(getAsterixFunctionInfo(distinctfi),
getAsterixFunctionInfo(regularscalarfi));
}