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

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


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new d9eaa1d94d [bugfix](auth)fix db is null when table instanceof 
FunctionGenTable (#22147)
d9eaa1d94d is described below

commit d9eaa1d94d36f8e028c48718cf97c524a95faf62
Author: zhangdong <[email protected]>
AuthorDate: Mon Jul 24 22:05:15 2023 +0800

    [bugfix](auth)fix db is null when table instanceof FunctionGenTable (#22147)
    
    bug generate by: #22019
---
 .../doris/nereids/rules/analysis/UserAuthentication.java  | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/UserAuthentication.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/UserAuthentication.java
index 04723a1e9c..9ad3edc683 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/UserAuthentication.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/UserAuthentication.java
@@ -17,8 +17,10 @@
 
 package org.apache.doris.nereids.rules.analysis;
 
+import org.apache.doris.catalog.DatabaseIf;
 import org.apache.doris.catalog.TableIf;
 import org.apache.doris.common.ErrorCode;
+import org.apache.doris.datasource.CatalogIf;
 import org.apache.doris.mysql.privilege.PrivPredicate;
 import org.apache.doris.nereids.exceptions.AnalysisException;
 import org.apache.doris.nereids.rules.Rule;
@@ -49,8 +51,17 @@ public class UserAuthentication extends 
OneAnalysisRuleFactory {
             return relation;
         }
         String tableName = table.getName();
-        String dbName = table.getDatabase().getFullName();
-        String ctlName = table.getDatabase().getCatalog().getName();
+        DatabaseIf db = table.getDatabase();
+        // when table inatanceof FunctionGenTable,db will be null
+        if (db == null) {
+            return relation;
+        }
+        String dbName = db.getFullName();
+        CatalogIf catalog = db.getCatalog();
+        if (catalog == null) {
+            return relation;
+        }
+        String ctlName = catalog.getName();
         // TODO: 2023/7/19 checkColumnsPriv
         if 
(!connectContext.getEnv().getAccessManager().checkTblPriv(connectContext, 
ctlName, dbName,
                 tableName, PrivPredicate.SELECT)) {


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

Reply via email to