This is an automated email from the ASF dual-hosted git repository.
zclll pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 2490469a5f5 [Enhancement](length) Support alias OCTET_LENGTH for
function LENGTH (#57369)
2490469a5f5 is described below
commit 2490469a5f5c83fb3172ada552b469589985aefd
Author: linrrarity <[email protected]>
AuthorDate: Wed Oct 29 11:42:46 2025 +0800
[Enhancement](length) Support alias OCTET_LENGTH for function LENGTH
(#57369)
An alias for `LENGTH`(see [OCTET_LENGTH in
MySQL](https://dev.mysql.com/doc/refman/8.4/en/string-functions.html#function_octet-length):
[OCTET_LENGTH()](https://dev.mysql.com/doc/refman/8.4/en/string-functions.html#function_octet-length)
is a synonym for
[LENGTH()](https://dev.mysql.com/doc/refman/8.4/en/string-functions.html#function_length).)
```text
mysql> SELECT OCTET_LENGTH('abc');
+---------------------+
| OCTET_LENGTH('abc') |
+---------------------+
| 3 |
+---------------------+
mysql> SELECT OCTET_LENGTH('你好');
+------------------------+
| OCTET_LENGTH('你好') |
+------------------------+
| 6 |
+------------------------+
```
---
be/src/vec/functions/function_string.cpp | 1 +
.../org/apache/doris/catalog/BuiltinScalarFunctions.java | 2 +-
.../suites/nereids_function_p0/scalar_function/L.groovy | 12 ++++++++++++
3 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/be/src/vec/functions/function_string.cpp
b/be/src/vec/functions/function_string.cpp
index 68ecee34cd6..9119d25bfe0 100644
--- a/be/src/vec/functions/function_string.cpp
+++ b/be/src/vec/functions/function_string.cpp
@@ -1457,6 +1457,7 @@ void register_function_string(SimpleFunctionFactory&
factory) {
factory.register_alias(FunctionStringDigestMulti<SM3Sum>::name, "sm3");
factory.register_alias(FunctionStringDigestSHA1::name, "sha");
factory.register_alias(FunctionStringLocatePos::name, "position");
+ factory.register_alias(FunctionStringLength::name, "octet_length");
}
} // namespace doris::vectorized
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java
b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java
index 0417ed86a98..448d7bc3fb6 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java
@@ -832,7 +832,7 @@ public class BuiltinScalarFunctions implements
FunctionHelper {
scalar(Lcm.class, "lcm"),
scalar(Least.class, "least"),
scalar(Left.class, "left", "strleft"),
- scalar(Length.class, "length"),
+ scalar(Length.class, "length", "octet_length"),
scalar(Crc32.class, "crc32"),
scalar(Crc32Internal.class, "crc32_internal"),
scalar(Like.class, "like"),
diff --git
a/regression-test/suites/nereids_function_p0/scalar_function/L.groovy
b/regression-test/suites/nereids_function_p0/scalar_function/L.groovy
index 5f6e44341bd..daf28b3a8a9 100644
--- a/regression-test/suites/nereids_function_p0/scalar_function/L.groovy
+++ b/regression-test/suites/nereids_function_p0/scalar_function/L.groovy
@@ -73,6 +73,18 @@ suite("nereids_scalar_fn_L") {
qt_sql_length_Varchar_notnull "select length(kvchrs1) from
fn_test_not_nullable order by kvchrs1"
qt_sql_length_String "select length(kstr) from fn_test order by kstr"
qt_sql_length_String_notnull "select length(kstr) from
fn_test_not_nullable order by kstr"
+ def length_str = sql """select length(kvchrs1) from fn_test order by
kvchrs1"""
+ def octet_length_str = sql """select octet_length(kvchrs1) from fn_test
order by kvchrs1"""
+ assertEquals(length_str, octet_length_str)
+ length_str = sql """select length(kvchrs1) from fn_test_not_nullable
order by kvchrs1"""
+ octet_length_str = sql """select length(kvchrs1) from
fn_test_not_nullable order by kvchrs1"""
+ assertEquals(length_str, octet_length_str)
+ length_str = sql """select length(kstr) from fn_test order by kstr"""
+ octet_length_str = sql """select octet_length(kstr) from fn_test order
by kstr"""
+ assertEquals(length_str, octet_length_str)
+ length_str = sql """select length(kstr) from fn_test_not_nullable order
by kstr"""
+ octet_length_str = sql """select octet_length(kstr) from
fn_test_not_nullable order by kstr"""
+ assertEquals(length_str, octet_length_str)
qt_sql_like_Varchar_Varchar "select like(kvchrs1, kvchrs2) from fn_test
order by kvchrs1"
qt_sql_like_Varchar_Varchar_not_null "select like(kvchrs1, kvchrs2)
from fn_test_not_nullable order by kvchrs1"
qt_sql_ln_Double "select ln(kdbl) from fn_test order by kdbl"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]