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 <22125576+xy...@users.noreply.github.com>
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: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to