You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by xi...@apache.org on 2020/10/08 23:24:22 UTC
[incubator-pinot] 01/01: Make transform functions support
underscore in the query functions
This is an automated email from the ASF dual-hosted git repository.
xiangfu pushed a commit to branch make_transform_functions_support_underscore_in_it
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git
commit 937189c823ab05486fa119c108d1962364d09052
Author: Xiang Fu <fx...@gmail.com>
AuthorDate: Thu Oct 8 16:23:50 2020 -0700
Make transform functions support underscore in the query functions
---
.../operator/transform/function/TransformFunctionFactory.java | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/TransformFunctionFactory.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/TransformFunctionFactory.java
index 6bdc701..287ba08 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/TransformFunctionFactory.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/TransformFunctionFactory.java
@@ -23,6 +23,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.apache.commons.lang3.StringUtils;
import org.apache.pinot.common.function.FunctionInfo;
import org.apache.pinot.common.function.FunctionRegistry;
import org.apache.pinot.common.function.TransformFunctionType;
@@ -148,7 +149,7 @@ public class TransformFunctionFactory {
"Caught exception while instantiating transform function from class: " + transformFunctionClass.toString(),
e);
}
- String transformFunctionName = transformFunction.getName().toLowerCase();
+ String transformFunctionName = canonicalize(transformFunction.getName());
if (TRANSFORM_FUNCTION_MAP.containsKey(transformFunctionName)) {
throw new IllegalArgumentException("Transform function: " + transformFunctionName + " already exists");
}
@@ -167,7 +168,7 @@ public class TransformFunctionFactory {
switch (expression.getType()) {
case FUNCTION:
FunctionContext function = expression.getFunction();
- String functionName = function.getFunctionName();
+ String functionName = canonicalize(function.getFunctionName());
List<ExpressionContext> arguments = function.getArguments();
int numArguments = arguments.size();
@@ -210,4 +211,8 @@ public class TransformFunctionFactory {
throw new IllegalStateException();
}
}
+
+ private static String canonicalize(String functionName) {
+ return StringUtils.remove(functionName, '_').toLowerCase();
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org