Skip to content

Commit 1e24288

Browse files
committed
chore: minor refine on RoleMgr
1 parent 981a7bf commit 1e24288

File tree

6 files changed

+10
-8
lines changed

6 files changed

+10
-8
lines changed

src/query/management/src/role/role_mgr.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ static TXN_MAX_RETRY_TIMES: u32 = 60;
5757

5858
static BUILTIN_ROLE_ACCOUNT_ADMIN: &str = "account_admin";
5959

60+
#[derive(Clone)]
6061
pub struct RoleMgr {
6162
kv_api: Arc<dyn kvapi::KVApi<Error = MetaError> + Send + Sync>,
6263
tenant: Tenant,

src/query/service/src/interpreters/interpreter_create_warehouses.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ impl Interpreter for CreateWarehouseInterpreter {
8383
.await?;
8484

8585
if let WarehouseInfo::SystemManaged(sw) = warehouse {
86-
let role_api = UserApiProvider::instance().role_api(&tenant);
8786
if let Some(current_role) = self.ctx.get_current_role() {
87+
let role_api = UserApiProvider::instance().role_api(&tenant);
8888
role_api
8989
.grant_ownership(
9090
&OwnershipObject::Warehouse { id: sw.role_id },
@@ -114,8 +114,8 @@ impl Interpreter for CreateWarehouseInterpreter {
114114
.await?;
115115

116116
if let WarehouseInfo::SystemManaged(sw) = warehouse {
117-
let role_api = UserApiProvider::instance().role_api(&tenant);
118117
if let Some(current_role) = self.ctx.get_current_role() {
118+
let role_api = UserApiProvider::instance().role_api(&tenant);
119119
role_api
120120
.grant_ownership(
121121
&OwnershipObject::Warehouse { id: sw.role_id },

src/query/service/src/interpreters/interpreter_database_create.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ impl Interpreter for CreateDatabaseInterpreter {
7575

7676
// Grant ownership as the current role. The above create_db_req.meta.owner could be removed in
7777
// the future.
78-
let role_api = UserApiProvider::instance().role_api(&tenant);
7978
if let Some(current_role) = self.ctx.get_current_role() {
79+
let role_api = UserApiProvider::instance().role_api(&tenant);
8080
role_api
8181
.grant_ownership(
8282
&OwnershipObject::Database {

src/query/service/src/interpreters/interpreter_drop_warehouses.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ impl Interpreter for DropWarehouseInterpreter {
7272
);
7373

7474
if let WarehouseInfo::SystemManaged(sw) = warehouse {
75-
let role_api = UserApiProvider::instance().role_api(&tenant);
7675
if let Some(current_role) = self.ctx.get_current_role() {
76+
let role_api = UserApiProvider::instance().role_api(&tenant);
7777
role_api
7878
.grant_ownership(
7979
&OwnershipObject::Warehouse { id: sw.role_id },

src/query/service/src/interpreters/interpreter_user_stage_create.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,8 @@ impl Interpreter for CreateUserStageInterpreter {
121121

122122
// Grant ownership as the current role
123123
let tenant = self.ctx.get_tenant();
124-
let role_api = UserApiProvider::instance().role_api(&tenant);
125124
if let Some(current_role) = self.ctx.get_current_role() {
125+
let role_api = UserApiProvider::instance().role_api(&tenant);
126126
role_api
127127
.grant_ownership(
128128
&OwnershipObject::Stage {

src/query/users/src/user_api.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ use databend_common_management::PasswordPolicyMgr;
2828
use databend_common_management::ProcedureMgr;
2929
use databend_common_management::QuotaApi;
3030
use databend_common_management::QuotaMgr;
31-
use databend_common_management::RoleApi;
3231
use databend_common_management::RoleMgr;
3332
use databend_common_management::SettingMgr;
3433
use databend_common_management::StageApi;
@@ -45,6 +44,7 @@ use databend_common_meta_store::MetaStore;
4544
use databend_common_meta_store::MetaStoreProvider;
4645
use databend_common_meta_types::MatchSeq;
4746
use databend_common_meta_types::MetaError;
47+
use log::debug;
4848

4949
use crate::builtin::BuiltIn;
5050
use crate::BUILTIN_ROLE_PUBLIC;
@@ -125,13 +125,14 @@ impl UserApiProvider {
125125
Arc::new(user_mgr)
126126
}
127127

128-
pub fn role_api(&self, tenant: &Tenant) -> Arc<impl RoleApi> {
128+
pub fn role_api(&self, tenant: &Tenant) -> RoleMgr {
129129
let role_mgr = RoleMgr::create(
130130
self.client.clone(),
131131
tenant,
132132
GlobalConfig::instance().query.upgrade_to_pb,
133133
);
134-
Arc::new(role_mgr)
134+
debug!("RoleMgr created");
135+
role_mgr
135136
}
136137

137138
pub fn stage_api(&self, tenant: &Tenant) -> Arc<dyn StageApi> {

0 commit comments

Comments
 (0)