This is an automated email from the ASF dual-hosted git repository. ruifengz pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/master by this push: new 0865c0db923 [SPARK-43944][SPARK-43942][SQL][FOLLOWUP] Directly leverage `UnresolvedFunction` for functions `startswith`/`endswith`/`contains` 0865c0db923 is described below commit 0865c0db923eadb840dd9af5834dc72ba19e43c4 Author: Ruifeng Zheng <ruife...@apache.org> AuthorDate: Tue Jun 20 18:00:33 2023 +0800 [SPARK-43944][SPARK-43942][SQL][FOLLOWUP] Directly leverage `UnresolvedFunction` for functions `startswith`/`endswith`/`contains` ### What changes were proposed in this pull request? Directly leverage UnresolvedFunction for `startswith`/`endswith`/`contains` ### Why are the changes needed? to be more consistent with existing functions, like [ceil](https://github.com/apache/spark/blob/6b36a9368d6e97f7f1f94c4ca7f6ee76dcd0015f/sql/core/src/main/scala/org/apache/spark/sql/functions.scala#L2242-L2260), [floor](https://github.com/apache/spark/blob/6b36a9368d6e97f7f1f94c4ca7f6ee76dcd0015f/sql/core/src/main/scala/org/apache/spark/sql/functions.scala#L2397-L2416), [lpad](https://github.com/apache/spark/blob/6b36a9368d6e97f7f1f94c4ca7f6ee76dcd0015f/sql/core/src/main/scala/org/apa [...] ### Does this PR introduce _any_ user-facing change? no ### How was this patch tested? existing GA Closes #41669 from zhengruifeng/use_unresolved_func. Authored-by: Ruifeng Zheng <ruife...@apache.org> Signed-off-by: Ruifeng Zheng <ruife...@apache.org> --- .../main/scala/org/apache/spark/sql/functions.scala | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/sql/core/src/main/scala/org/apache/spark/sql/functions.scala b/sql/core/src/main/scala/org/apache/spark/sql/functions.scala index 68b81810da4..7c3f65e2495 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/functions.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/functions.scala @@ -4051,10 +4051,8 @@ object functions { * @group string_funcs * @since 3.5.0 */ - def endswith(str: Column, suffix: Column): Column = { - // 'EndsWith' expression only supports StringType, - // use 'call_udf' to support both StringType and BinaryType. - call_udf("endswith", str, suffix) + def endswith(str: Column, suffix: Column): Column = withExpr { + UnresolvedFunction(Seq("endswith"), Seq(str.expr, suffix.expr), isDistinct = false) } /** @@ -4065,10 +4063,8 @@ object functions { * @group string_funcs * @since 3.5.0 */ - def startswith(str: Column, prefix: Column): Column = { - // 'StartsWith' expression only supports StringType, - // use 'call_udf' to support both StringType and BinaryType. - call_udf("startswith", str, prefix) + def startswith(str: Column, prefix: Column): Column = withExpr { + UnresolvedFunction(Seq("startswith"), Seq(str.expr, prefix.expr), isDistinct = false) } /** @@ -4145,10 +4141,8 @@ object functions { * @group string_funcs * @since 3.5.0 */ - def contains(left: Column, right: Column): Column = { - // 'Contains' expression only supports StringType - // use 'call_udf' to support both StringType and BinaryType. - call_udf("contains", left, right) + def contains(left: Column, right: Column): Column = withExpr { + UnresolvedFunction(Seq("contains"), Seq(left.expr, right.expr), isDistinct = false) } /** --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org For additional commands, e-mail: commits-h...@spark.apache.org