This is an automated email from the ASF dual-hosted git repository.
morrysnow 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 45f03ca4ab8 [fix](auth) show routine load db is null (#38365)
45f03ca4ab8 is described below
commit 45f03ca4ab8ae3ec51b0e24bdcd95bf00ca82285
Author: zhangdong <[email protected]>
AuthorDate: Tue Jul 30 17:42:19 2024 +0800
[fix](auth) show routine load db is null (#38365)
fix
- when label contains dbName, will loss
intro by #27861
- show routine load for xxx.yyy can export authentication error
intro by #33347
Note: Cases will be added uniformly in other PRs
---
.../apache/doris/analysis/ShowRoutineLoadStmt.java | 7 ++++--
.../main/java/org/apache/doris/load/ExportMgr.java | 4 ++--
.../doris/analysis/CancelExportStmtTest.java | 26 ----------------------
3 files changed, 7 insertions(+), 30 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRoutineLoadStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRoutineLoadStmt.java
index 73335d33020..05ce8be6ade 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRoutineLoadStmt.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRoutineLoadStmt.java
@@ -125,9 +125,12 @@ public class ShowRoutineLoadStmt extends ShowStmt {
}
private void checkLabelName(Analyzer analyzer) throws AnalysisException {
- dbFullName = analyzer.getContext().getDatabase();
+ dbFullName = labelName == null ? null : labelName.getDbName();
if (Strings.isNullOrEmpty(dbFullName)) {
- ErrorReport.reportAnalysisException(ErrorCode.ERR_NO_DB_ERROR);
+ dbFullName = analyzer.getContext().getDatabase();
+ if (Strings.isNullOrEmpty(dbFullName)) {
+ ErrorReport.reportAnalysisException(ErrorCode.ERR_NO_DB_ERROR);
+ }
}
name = labelName == null ? null : labelName.getLabelName();
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/ExportMgr.java
b/fe/fe-core/src/main/java/org/apache/doris/load/ExportMgr.java
index 6c02c75a698..bce0c5c4d9f 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/ExportMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/ExportMgr.java
@@ -145,7 +145,7 @@ public class ExportMgr {
public void checkCancelExportJobAuth(String ctlName, String dbName,
List<ExportJob> jobs) throws AnalysisException {
if (jobs.size() > 1) {
- if (Env.getCurrentEnv().getAccessManager()
+ if (!Env.getCurrentEnv().getAccessManager()
.checkDbPriv(ConnectContext.get(), ctlName, dbName,
PrivPredicate.SELECT)) {
ErrorReport.reportAnalysisException(ErrorCode.ERR_DB_ACCESS_DENIED_ERROR,
@@ -156,7 +156,7 @@ public class ExportMgr {
if (tableName == null) {
return;
}
- if (Env.getCurrentEnv().getAccessManager()
+ if (!Env.getCurrentEnv().getAccessManager()
.checkTblPriv(ConnectContext.get(), ctlName, dbName,
tableName.getTbl(),
PrivPredicate.SELECT)) {
diff --git
a/fe/fe-core/src/test/java/org/apache/doris/analysis/CancelExportStmtTest.java
b/fe/fe-core/src/test/java/org/apache/doris/analysis/CancelExportStmtTest.java
index 0b4ecad12e2..8808597ac3e 100644
---
a/fe/fe-core/src/test/java/org/apache/doris/analysis/CancelExportStmtTest.java
+++
b/fe/fe-core/src/test/java/org/apache/doris/analysis/CancelExportStmtTest.java
@@ -350,30 +350,4 @@ public class CancelExportStmtTest extends
TestWithFeService {
exportMgr.cancelExportJob(stmt);
Assert.assertTrue(job8.getState() == ExportJobState.CANCELLED);
}
-
- @Test
- public void testCancelAuth() {
- ExportMgr exportMgr = new ExportMgr();
- List<ExportJob> jobs = Lists.newArrayList();
- ExportJob job1 = new ExportJob();
- job1.setTableName(new TableName("ctl1", "db1", "table1"));
- jobs.add(job1);
- try {
- // should check table auth
- exportMgr.checkCancelExportJobAuth("ctl1", "db1", jobs);
- throw new RuntimeException("should exception");
- } catch (AnalysisException e) {
-
Assert.assertTrue(e.getMessage().contains("Admin_priv,Select_priv"));
- Assert.assertTrue(e.getMessage().contains("table1"));
- }
- jobs.add(new ExportJob());
- try {
- // should check db auth
- exportMgr.checkCancelExportJobAuth("ctl1", "db1", jobs);
- throw new RuntimeException("should exception");
- } catch (AnalysisException e) {
-
Assert.assertTrue(e.getMessage().contains("Admin_priv,Select_priv"));
- Assert.assertTrue(e.getMessage().contains("db1"));
- }
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]