This is an automated email from the ASF dual-hosted git repository. dataroaring 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 1e304bda93b [fix](group commit) Fix prepare stmt setNull return too many filtered rows error (#38262) 1e304bda93b is described below commit 1e304bda93b8ac280a126d1609c11189f4162cd9 Author: meiyi <myime...@gmail.com> AuthorDate: Wed Jul 24 09:57:08 2024 +0800 [fix](group commit) Fix prepare stmt setNull return too many filtered rows error (#38262) When use prepare statement and setNull to do group commit: ``` stmt.setString(3, "WAGERNO"); stmt.setNull(4, Types.INTEGER); ``` we may get `too many rows filtered` rows. --- fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java | 4 ++++ .../suites/insert_p0/insert_group_commit_with_prepare_stmt.groovy | 4 ---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java index 840d9e18992..181a7d3c7bc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java @@ -47,6 +47,7 @@ import org.apache.doris.analysis.NativeInsertStmt; import org.apache.doris.analysis.NullLiteral; import org.apache.doris.analysis.OutFileClause; import org.apache.doris.analysis.PartitionNames; +import org.apache.doris.analysis.PlaceHolderExpr; import org.apache.doris.analysis.PrepareStmt; import org.apache.doris.analysis.PrepareStmt.PreparedType; import org.apache.doris.analysis.Queriable; @@ -351,6 +352,9 @@ public class StmtExecutor { } InternalService.PDataRow.Builder row = InternalService.PDataRow.newBuilder(); for (Expr expr : cols) { + if (expr instanceof PlaceHolderExpr) { + expr = ((PlaceHolderExpr) expr).getLiteral(); + } if (!expr.isLiteralOrCastExpr()) { throw new UserException( "do not support non-literal expr in transactional insert operation: " + expr.toSql()); diff --git a/regression-test/suites/insert_p0/insert_group_commit_with_prepare_stmt.groovy b/regression-test/suites/insert_p0/insert_group_commit_with_prepare_stmt.groovy index e686b752db5..6e05513a8d6 100644 --- a/regression-test/suites/insert_p0/insert_group_commit_with_prepare_stmt.groovy +++ b/regression-test/suites/insert_p0/insert_group_commit_with_prepare_stmt.groovy @@ -148,8 +148,6 @@ suite("insert_group_commit_with_prepare_stmt") { ); """ - sql """ set enable_insert_strict = false; """ - // 1. insert into def insert_stmt = prepareStatement """ INSERT INTO ${table} VALUES(?, ?, ?) """ assertEquals(com.mysql.cj.jdbc.ServerPreparedStatement, insert_stmt.class) @@ -212,8 +210,6 @@ suite("insert_group_commit_with_prepare_stmt") { ); """ - sql """ set enable_insert_strict = false; """ - // 1. insert into def insert_stmt = prepareStatement """ INSERT INTO ${table} VALUES(?, ?, ?) """ assertEquals(com.mysql.cj.jdbc.ServerPreparedStatement, insert_stmt.class) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org