This is an automated email from the ASF dual-hosted git repository.
mayanks 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 de3d803ba8 Add Postgres compliant name aliasing for String Functions.
(#12795)
de3d803ba8 is described below
commit de3d803ba8c82758ca0d2973550ea2cb3a022c2a
Author: Mayank Shrivastava <[email protected]>
AuthorDate: Thu Apr 4 20:07:40 2024 -0700
Add Postgres compliant name aliasing for String Functions. (#12795)
Certain String function names are not Postgres compliant, added aliasing
to fix that.
- left
- right
- split_part
- string_to_array
---
.../apache/pinot/common/function/TransformFunctionType.java | 2 +-
.../apache/pinot/common/function/scalar/StringFunctions.java | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git
a/pinot-common/src/main/java/org/apache/pinot/common/function/TransformFunctionType.java
b/pinot-common/src/main/java/org/apache/pinot/common/function/TransformFunctionType.java
index 88c269c6aa..f7740a1e35 100644
---
a/pinot-common/src/main/java/org/apache/pinot/common/function/TransformFunctionType.java
+++
b/pinot-common/src/main/java/org/apache/pinot/common/function/TransformFunctionType.java
@@ -180,7 +180,7 @@ public enum TransformFunctionType {
// string functions
SPLIT("split", ReturnTypes.TO_ARRAY, OperandTypes.family(
ImmutableList.of(SqlTypeFamily.CHARACTER, SqlTypeFamily.CHARACTER,
SqlTypeFamily.INTEGER),
- ordinal -> ordinal > 1), "split"),
+ ordinal -> ordinal > 1), "split", "string_to_array"),
// array functions
// The only column accepted by "cardinality" function is multi-value array,
thus putting "cardinality" as alias.
diff --git
a/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/StringFunctions.java
b/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/StringFunctions.java
index de7c146921..8ce77e8ccb 100644
---
a/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/StringFunctions.java
+++
b/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/StringFunctions.java
@@ -243,7 +243,7 @@ public class StringFunctions {
* @param input
* @return get substring starting from the first index and extending upto
specified length.
*/
- @ScalarFunction
+ @ScalarFunction(names = {"leftSubStr", "left"})
public static String leftSubStr(String input, int length) {
return StringUtils.left(input, length);
}
@@ -253,7 +253,7 @@ public class StringFunctions {
* @param input
* @return get substring ending at the last index with specified length
*/
- @ScalarFunction
+ @ScalarFunction(names = {"rightSubStr", "right"})
public static String rightSubStr(String input, int length) {
return StringUtils.right(input, length);
}
@@ -565,7 +565,7 @@ public class StringFunctions {
* @param delimiter
* @return splits string on specified delimiter and returns an array.
*/
- @ScalarFunction
+ @ScalarFunction(names = {"split", "string_to_array"})
public static String[] split(String input, String delimiter) {
return StringUtils.splitByWholeSeparator(input, delimiter);
}
@@ -576,7 +576,7 @@ public class StringFunctions {
* @param limit
* @return splits string on specified delimiter limiting the number of
results till the specified limit
*/
- @ScalarFunction
+ @ScalarFunction(names = {"split", "string_to_array"})
public static String[] split(String input, String delimiter, int limit) {
return StringUtils.splitByWholeSeparator(input, delimiter, limit);
}
@@ -588,7 +588,7 @@ public class StringFunctions {
* @param index
* @return splits string on specified delimiter and returns String at
specified index from the split.
*/
- @ScalarFunction
+ @ScalarFunction(names = {"splitPart", "split_part"})
public static String splitPart(String input, String delimiter, int index) {
String[] splitString = StringUtils.splitByWholeSeparator(input, delimiter);
if (index < splitString.length) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]