This is an automated email from the ASF dual-hosted git repository.
dataroaring 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 ccd1b073f80 branch-2.1: [fix](group commit) check group commit session
value (#48253)
ccd1b073f80 is described below
commit ccd1b073f800cd993a7fd313ab6e43e71e7dc64b
Author: meiyi <[email protected]>
AuthorDate: Mon Feb 24 21:55:53 2025 +0800
branch-2.1: [fix](group commit) check group commit session value (#48253)
pick https://github.com/apache/doris/pull/48112
---
fe/fe-core/src/main/java/org/apache/doris/analysis/SetVar.java | 8 ++++++++
regression-test/suites/insert_p0/insert_group_commit_into.groovy | 5 +++++
2 files changed, 13 insertions(+)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetVar.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetVar.java
index e80860bf584..38b3a472e77 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetVar.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetVar.java
@@ -25,6 +25,7 @@ import org.apache.doris.common.UserException;
import org.apache.doris.common.util.ParseUtil;
import org.apache.doris.common.util.TimeUtils;
import org.apache.doris.mysql.privilege.PrivPredicate;
+import org.apache.doris.planner.GroupCommitBlockSink;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.qe.GlobalVariable;
import org.apache.doris.qe.SessionVariable;
@@ -178,6 +179,13 @@ public class SetVar {
this.value = new
StringLiteral(TimeUtils.checkTimeZoneValidAndStandardize(getResult().getStringValue()));
this.result = (LiteralExpr) this.value;
}
+ if (getVariable().equalsIgnoreCase(SessionVariable.GROUP_COMMIT)) {
+ String value = getResult().getStringValue();
+ if (GroupCommitBlockSink.parseGroupCommit(value) == null) {
+
ErrorReport.reportAnalysisException(ErrorCode.ERR_WRONG_VALUE_FOR_VAR,
+ SessionVariable.GROUP_COMMIT, value);
+ }
+ }
if (getVariable().equalsIgnoreCase(SessionVariable.EXEC_MEM_LIMIT)
||
getVariable().equalsIgnoreCase(SessionVariable.SCAN_QUEUE_MEM_LIMIT)) {
diff --git a/regression-test/suites/insert_p0/insert_group_commit_into.groovy
b/regression-test/suites/insert_p0/insert_group_commit_into.groovy
index 4c616c3a33f..4d43c38f149 100644
--- a/regression-test/suites/insert_p0/insert_group_commit_into.groovy
+++ b/regression-test/suites/insert_p0/insert_group_commit_into.groovy
@@ -121,6 +121,11 @@ suite("insert_group_commit_into") {
"""
connect(context.config.jdbcUser, context.config.jdbcPassword,
context.config.jdbcUrl) {
+ test {
+ sql """ set group_commit = abc; """
+ exception """ Variable 'group_commit' can't be set to the
value of """
+ }
+
sql """ set group_commit = async_mode; """
if (item == "nereids") {
sql """ set enable_nereids_dml = true; """
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]