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