This is an automated email from the ASF dual-hosted git repository.
xuyang 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 e612702c705 [bug](prepared statement) fix double type value incorrect
in legacy planner (#36704)
e612702c705 is described below
commit e612702c705e69f9573bf03daf2eb950ac5bee06
Author: xy720 <[email protected]>
AuthorDate: Mon Jun 24 16:00:59 2024 +0800
[bug](prepared statement) fix double type value incorrect in legacy planner
(#36704)
## Proposed changes
fix double type value incorrect.
<!--Describe your changes.-->
---
.../main/java/org/apache/doris/analysis/LiteralExpr.java | 1 +
regression-test/data/prepared_stmt_p0/prepared_stmt.out | 6 ++++++
.../suites/prepared_stmt_p0/prepared_stmt.groovy | 13 +++++++++++++
3 files changed, 20 insertions(+)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/LiteralExpr.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/LiteralExpr.java
index 1dfd952eb10..4377801a886 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/LiteralExpr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/LiteralExpr.java
@@ -358,6 +358,7 @@ public abstract class LiteralExpr extends Expr implements
Comparable<LiteralExpr
break;
case 5: // MYSQL_TYPE_DOUBLE
literalExpr = LiteralExpr.create("0", Type.DOUBLE);
+ literalExpr.setType(Type.DOUBLE);
break;
case 0: // MYSQL_TYPE_DECIMAL
case 246: // MYSQL_TYPE_NEWDECIMAL
diff --git a/regression-test/data/prepared_stmt_p0/prepared_stmt.out
b/regression-test/data/prepared_stmt_p0/prepared_stmt.out
index bd01fbf2c59..345973f20c1 100644
--- a/regression-test/data/prepared_stmt_p0/prepared_stmt.out
+++ b/regression-test/data/prepared_stmt_p0/prepared_stmt.out
@@ -59,6 +59,12 @@
-- !select7 --
2 1 user1 \N 1111111 1111111
+-- !select6_1 --
+2 1 user1 \N 1234.1111 xxxlalala
+
+-- !select7_1 --
+2 1 user1 \N 1111111 1111111
+
-- !select8 --
1
1
diff --git a/regression-test/suites/prepared_stmt_p0/prepared_stmt.groovy
b/regression-test/suites/prepared_stmt_p0/prepared_stmt.groovy
index f4c13fd04b0..5c27a1ec35e 100644
--- a/regression-test/suites/prepared_stmt_p0/prepared_stmt.groovy
+++ b/regression-test/suites/prepared_stmt_p0/prepared_stmt.groovy
@@ -101,6 +101,7 @@ suite("test_prepared_stmt", "nonConcurrent") {
sql """insert into mytable1 values(1,1,'user1',10);"""
sql """insert into mytable1 values(1,1,'user1',10);"""
sql "sync"
+
stmt_read = prepareStatement "SELECT *, ? FROM (select *, ? from
mytable1 where citycode = ?) AS `SpotfireCustomQuery1` WHERE 1 = 1"
assertEquals(stmt_read.class,
com.mysql.cj.jdbc.ServerPreparedStatement);
stmt_read.setInt(1, 12345)
@@ -116,6 +117,9 @@ suite("test_prepared_stmt", "nonConcurrent") {
qe_select5 stmt_read
sql """insert into mytable1 values(2,1,'user1',null);"""
+
+ sql "set experimental_enable_nereids_planner = false"
+
stmt_read = prepareStatement "SELECT *, ? FROM (select *, ? from
mytable1 where pv is null) AS `SpotfireCustomQuery1` WHERE 1 = 1"
assertEquals(stmt_read.class,
com.mysql.cj.jdbc.ServerPreparedStatement);
stmt_read.setString(1, "xxxlalala")
@@ -125,6 +129,15 @@ suite("test_prepared_stmt", "nonConcurrent") {
stmt_read.setString(2, "1111111")
qe_select7 stmt_read
+ sql "set experimental_enable_nereids_planner = true"
+
+ stmt_read.setString(1, "xxxlalala")
+ stmt_read.setDouble(2, 1234.1111)
+ qe_select6_1 stmt_read
+ stmt_read.setString(1, "1111111")
+ stmt_read.setString(2, "1111111")
+ qe_select7_1 stmt_read
+
stmt_read = prepareStatement "SELECT COUNT() from mytable1 WHERE
citycode = ? GROUP BY siteid"
stmt_read.setString(1, "1")
qe_select8 stmt_read
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]