This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new 048537cd036 branch-2.1:[fix](nereids)Use utf-8 when convert string
like literal to double. (#50085) (#50155)
048537cd036 is described below
commit 048537cd036bc692b49ad22dfc5730d2ddef22bc
Author: James <[email protected]>
AuthorDate: Sat Apr 19 17:16:20 2025 +0800
branch-2.1:[fix](nereids)Use utf-8 when convert string like literal to
double. (#50085) (#50155)
backport: https://github.com/apache/doris/pull/50085
---
.../doris/nereids/trees/expressions/literal/StringLikeLiteral.java | 3 ++-
.../nereids/trees/expressions/literal/StringLikeLiteralTest.java | 7 +++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/StringLikeLiteral.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/StringLikeLiteral.java
index dba9247fe70..d1d98fe218a 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/StringLikeLiteral.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/StringLikeLiteral.java
@@ -19,6 +19,7 @@ package org.apache.doris.nereids.trees.expressions.literal;
import org.apache.doris.nereids.types.DataType;
+import java.nio.charset.StandardCharsets;
import java.util.Objects;
/**
@@ -46,7 +47,7 @@ public abstract class StringLikeLiteral extends Literal {
* get double value
*/
public static double getDouble(String str) {
- byte[] bytes = str.getBytes();
+ byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
long v = 0;
int pos = 0;
int len = Math.min(bytes.length, 7);
diff --git
a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/StringLikeLiteralTest.java
b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/StringLikeLiteralTest.java
index c1e9bc0e839..d9724f6b324 100644
---
a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/StringLikeLiteralTest.java
+++
b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/StringLikeLiteralTest.java
@@ -31,4 +31,11 @@ public class StringLikeLiteralTest {
double d2 = StringLikeLiteral.getDouble(maxStr);
Assertions.assertTrue(d1 < d2);
}
+
+ @Test
+ public void testUtf8() {
+ System.setProperty("file.encoding", "ANSI_X3.4-1968");
+ double d1 = StringLikeLiteral.getDouble("一般风险准备");
+ Assertions.assertEquals(d1, 6.4379158486625512E16);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]