This is an automated email from the ASF dual-hosted git repository.
zhangzc pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-gluten.git
The following commit(s) were added to refs/heads/main by this push:
new 150ccb92d [CH] Support function base64/unbase64 (#6077)
150ccb92d is described below
commit 150ccb92df132da33dc6f98fa5363403f546394a
Author: LiuNeng <[email protected]>
AuthorDate: Mon Jun 17 18:40:03 2024 +0800
[CH] Support function base64/unbase64 (#6077)
[CH] Support function base64/unbase64
Co-authored-by: liuneng1994 <[email protected]>
---
.../GlutenClickhouseStringFunctionsSuite.scala | 40 ++++++++++++++++++++++
.../gluten/expression/ExpressionMappings.scala | 2 ++
.../apache/gluten/expression/ExpressionNames.scala | 2 ++
3 files changed, 44 insertions(+)
diff --git
a/backends-clickhouse/src/test/scala/org/apache/gluten/execution/GlutenClickhouseStringFunctionsSuite.scala
b/backends-clickhouse/src/test/scala/org/apache/gluten/execution/GlutenClickhouseStringFunctionsSuite.scala
index 029a763c9..163a8feda 100644
---
a/backends-clickhouse/src/test/scala/org/apache/gluten/execution/GlutenClickhouseStringFunctionsSuite.scala
+++
b/backends-clickhouse/src/test/scala/org/apache/gluten/execution/GlutenClickhouseStringFunctionsSuite.scala
@@ -97,4 +97,44 @@ class GlutenClickhouseStringFunctionsSuite extends
GlutenClickHouseWholeStageTra
}
}
+ test("base64") {
+ val tableName = "base64_table"
+ withTable(tableName) {
+ sql(s"create table $tableName(data String) using parquet")
+ sql(s"""
+ |insert into $tableName values
+ | ("hello")
+ """.stripMargin)
+
+ val sql_str =
+ s"""
+ |select
+ | base64(data)
+ | from $tableName
+ """.stripMargin
+
+ runQueryAndCompare(sql_str) { _ => }
+ }
+ }
+
+ test("unbase64") {
+ val tableName = "unbase64_table"
+ withTable(tableName) {
+ sql(s"create table $tableName(data String) using parquet")
+ sql(s"""
+ |insert into $tableName values
+ | ("U3BhcmsgU1FM")
+ """.stripMargin)
+
+ val sql_str =
+ s"""
+ |select
+ | unbase64(data)
+ | from $tableName
+ """.stripMargin
+
+ runQueryAndCompare(sql_str) { _ => }
+ }
+ }
+
}
diff --git
a/gluten-core/src/main/scala/org/apache/gluten/expression/ExpressionMappings.scala
b/gluten-core/src/main/scala/org/apache/gluten/expression/ExpressionMappings.scala
index 230d91005..f0082456f 100644
---
a/gluten-core/src/main/scala/org/apache/gluten/expression/ExpressionMappings.scala
+++
b/gluten-core/src/main/scala/org/apache/gluten/expression/ExpressionMappings.scala
@@ -101,6 +101,8 @@ object ExpressionMappings {
Sig[Encode](ENCODE),
Sig[Uuid](UUID),
Sig[BitLength](BIT_LENGTH),
+ Sig[UnBase64](UNBASE64),
+ Sig[Base64](BASE64),
// URL functions
Sig[ParseUrl](PARSE_URL),
diff --git
a/shims/common/src/main/scala/org/apache/gluten/expression/ExpressionNames.scala
b/shims/common/src/main/scala/org/apache/gluten/expression/ExpressionNames.scala
index f817612a1..20db38018 100644
---
a/shims/common/src/main/scala/org/apache/gluten/expression/ExpressionNames.scala
+++
b/shims/common/src/main/scala/org/apache/gluten/expression/ExpressionNames.scala
@@ -127,6 +127,8 @@ object ExpressionNames {
final val ENCODE = "encode"
final val UUID = "uuid"
final val BIT_LENGTH = "bit_length"
+ final val UNBASE64 = "unbase64"
+ final val BASE64 = "base64"
// URL functions
final val PARSE_URL = "parse_url"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]