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]

Reply via email to