This is an automated email from the ASF dual-hosted git repository.

kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 4a1cdfec1bacfa174cbc319c5e5f19236ed7d702
Author: Jibing-Li <[email protected]>
AuthorDate: Wed Sep 6 08:53:30 2023 +0800

    [fix](statistics)Set default database while forwarding stmt to master. 
#23938
    
    Set default database while forwarding request to master. Avoid No database 
selected error.
---
 fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java | 3 +++
 fe/fe-core/src/main/java/org/apache/doris/qe/MasterOpExecutor.java | 1 +
 gensrc/thrift/FrontendService.thrift                               | 1 +
 3 files changed, 5 insertions(+)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java
index 2bdfba3548..73c6debb69 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java
@@ -748,6 +748,9 @@ public class ConnectProcessor {
             if (request.isSetDefaultCatalog()) {
                 ctx.getEnv().changeCatalog(ctx, request.getDefaultCatalog());
             }
+            if (request.isSetDefaultDatabase() && 
!request.getDefaultDatabase().isEmpty()) {
+                ctx.getEnv().changeDb(ctx, request.getDefaultDatabase());
+            }
             TUniqueId queryId; // This query id will be set in ctx
             if (request.isSetQueryId()) {
                 queryId = request.getQueryId();
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/MasterOpExecutor.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/MasterOpExecutor.java
index 05fc4e2d21..5c15007ffa 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/MasterOpExecutor.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/MasterOpExecutor.java
@@ -168,6 +168,7 @@ public class MasterOpExecutor {
         params.setStmtIdx(originStmt.idx);
         params.setUser(ctx.getQualifiedUser());
         params.setDefaultCatalog(ctx.getDefaultCatalog());
+        params.setDefaultDatabase(ctx.getDatabase());
         params.setDb(ctx.getDatabase());
         params.setUserIp(ctx.getRemoteIP());
         params.setStmtId(ctx.getStmtId());
diff --git a/gensrc/thrift/FrontendService.thrift 
b/gensrc/thrift/FrontendService.thrift
index 6a005450cc..14bf4ac1ae 100644
--- a/gensrc/thrift/FrontendService.thrift
+++ b/gensrc/thrift/FrontendService.thrift
@@ -470,6 +470,7 @@ struct TMasterOpRequest {
     23: optional i32 clientNodePort
     24: optional bool syncJournalOnly // if set to true, this request means to 
do nothing but just sync max journal id of master
     25: optional string defaultCatalog
+    26: optional string defaultDatabase
 }
 
 struct TColumnDefinition {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to