Skip to content

Commit f2265e1

Browse files
authored
Merge pull request #7698 from zhang2014/refactor/remove_useless
refactor(sessions): remove useless code
2 parents 9ea070e + b6e7948 commit f2265e1

File tree

64 files changed

+190
-245
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+190
-245
lines changed

src/query/catalog/src/table_context.rs

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,12 @@ use common_io::prelude::FormatSettings;
2828
use common_legacy_planners::Partitions;
2929
use common_legacy_planners::PlanNode;
3030
use common_legacy_planners::ReadDataSourcePlan;
31-
use common_legacy_planners::Statistics;
3231
use common_meta_types::UserInfo;
3332
use common_settings::Settings;
34-
use common_users::UserApiProvider;
3533
use opendal::Operator;
3634
use parking_lot::Mutex;
3735

3836
use crate::catalog::Catalog;
39-
use crate::catalog::CatalogManager;
4037
use crate::cluster_info::Cluster;
4138
use crate::table::Table;
4239

@@ -76,12 +73,8 @@ pub trait TableContext: Send + Sync {
7673
fn try_get_partitions(&self, num: u64) -> Result<Partitions>;
7774
// Update the context partition pool from the pipeline builder.
7875
fn try_set_partitions(&self, partitions: Partitions) -> Result<()>;
79-
fn try_get_statistics(&self) -> Result<Statistics>;
80-
fn try_set_statistics(&self, val: &Statistics) -> Result<()>;
8176
fn attach_query_str(&self, query: &str);
82-
fn attach_query_plan(&self, query_plan: &PlanNode);
8377
fn get_fragment_id(&self) -> usize;
84-
fn get_catalog_manager(&self) -> Result<Arc<CatalogManager>>;
8578
fn get_catalog(&self, catalog_name: &str) -> Result<Arc<dyn Catalog>>;
8679
fn get_id(&self) -> String;
8780
fn get_current_catalog(&self) -> String;
@@ -94,7 +87,6 @@ pub trait TableContext: Send + Sync {
9487
fn apply_changed_settings(&self, changed_settings: Arc<Settings>) -> Result<()>;
9588
fn get_format_settings(&self) -> Result<FormatSettings>;
9689
fn get_tenant(&self) -> String;
97-
fn set_current_tenant(&self, tenant: String);
9890
fn get_subquery_name(&self, _query: &PlanNode) -> String;
9991
/// Get the data accessor metrics.
10092
fn get_dal_metrics(&self) -> DalMetrics;
@@ -108,10 +100,8 @@ pub trait TableContext: Send + Sync {
108100
fn try_get_function_context(&self) -> Result<FunctionContext>;
109101
fn get_connection_id(&self) -> String;
110102
fn get_settings(&self) -> Arc<Settings>;
111-
// Get user manager api.
112-
fn get_user_manager(&self) -> Arc<UserApiProvider>;
113103
fn get_cluster(&self) -> Arc<Cluster>;
114104
async fn get_table(&self, catalog: &str, database: &str, table: &str)
115105
-> Result<Arc<dyn Table>>;
116-
async fn get_processes_info(&self) -> Vec<ProcessInfo>;
106+
fn get_processes_info(&self) -> Vec<ProcessInfo>;
117107
}

src/query/service/src/interpreters/interpreter.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,11 @@ pub trait Interpreter: Sync + Send {
7878
)));
7979
}
8080

81+
// WTF: We need to implement different logic for the HTTP handler
82+
if let Some(handle) = ctx.get_http_query() {
83+
return handle.execute(ctx.clone(), build_res, self.schema()).await;
84+
}
85+
8186
Ok(Box::pin(Box::pin(ProcessorExecutorStream::create(
8287
PipelinePullingExecutor::from_pipelines(
8388
ctx.query_need_abort(),

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ use common_exception::Result;
1919
use common_legacy_planners::CreateDatabasePlan;
2020
use common_meta_types::GrantObject;
2121
use common_meta_types::UserPrivilegeType;
22+
use common_users::UserApiProvider;
2223

2324
use crate::interpreters::Interpreter;
2425
use crate::pipelines::PipelineBuildResult;
@@ -51,10 +52,7 @@ impl Interpreter for CreateDatabaseInterpreter {
5152
.await?;
5253

5354
let tenant = self.plan.tenant.clone();
54-
let quota_api = self
55-
.ctx
56-
.get_user_manager()
57-
.get_tenant_quota_api_client(&tenant)?;
55+
let quota_api = UserApiProvider::instance().get_tenant_quota_api_client(&tenant)?;
5856
let quota = quota_api.get_quota(None).await?.data;
5957
let catalog = self.ctx.get_catalog(&self.plan.catalog)?;
6058
let databases = catalog.list_databases(&tenant).await?;

src/query/service/src/interpreters/interpreter_kill.rs

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ impl KillInterpreter {
3535
}
3636

3737
async fn execute_kill(&self, session_id: &String) -> Result<PipelineBuildResult> {
38-
match self.ctx.get_session_by_id(session_id).await {
38+
match self.ctx.get_session_by_id(session_id) {
3939
None => Err(ErrorCode::UnknownSession(format!(
4040
"Not found session id {}",
4141
session_id
@@ -73,16 +73,13 @@ impl Interpreter for KillInterpreter {
7373
// otherwise use the session_id.
7474
// More info Link to: https://github.com/datafuselabs/databend/discussions/5405.
7575
match id.parse::<u32>() {
76-
Ok(mysql_conn_id) => {
77-
let session_id = self.ctx.get_id_by_mysql_conn_id(&Some(mysql_conn_id)).await;
78-
match session_id {
79-
Some(get) => self.execute_kill(&get).await,
80-
None => Err(ErrorCode::UnknownSession(format!(
81-
"MySQL connection id {} not found session id",
82-
mysql_conn_id
83-
))),
84-
}
85-
}
76+
Ok(mysql_conn_id) => match self.ctx.get_id_by_mysql_conn_id(&Some(mysql_conn_id)) {
77+
Some(get) => self.execute_kill(&get).await,
78+
None => Err(ErrorCode::UnknownSession(format!(
79+
"MySQL connection id {} not found session id",
80+
mysql_conn_id
81+
))),
82+
},
8683
Err(_) => self.execute_kill(id).await,
8784
}
8885
}

src/query/service/src/interpreters/interpreter_privilege_grant.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ use common_legacy_planners::GrantPrivilegePlan;
1919
use common_meta_types::GrantObject;
2020
use common_meta_types::PrincipalIdentity;
2121
use common_meta_types::UserPrivilegeSet;
22+
use common_users::UserApiProvider;
2223

2324
use crate::interpreters::interpreter_common::validate_grant_object_exists;
2425
use crate::interpreters::Interpreter;
@@ -55,7 +56,7 @@ impl Interpreter for GrantPrivilegeInterpreter {
5556
// TODO: check privilege on granting on the grant object
5657

5758
let tenant = self.ctx.get_tenant();
58-
let user_mgr = self.ctx.get_user_manager();
59+
let user_mgr = UserApiProvider::instance();
5960
match plan.principal {
6061
PrincipalIdentity::User(user) => {
6162
user_mgr

src/query/service/src/interpreters/interpreter_privilege_revoke.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ use std::sync::Arc;
1717
use common_exception::Result;
1818
use common_legacy_planners::RevokePrivilegePlan;
1919
use common_meta_types::PrincipalIdentity;
20+
use common_users::UserApiProvider;
2021

2122
use crate::interpreters::interpreter_common::validate_grant_object_exists;
2223
use crate::interpreters::Interpreter;
@@ -52,7 +53,7 @@ impl Interpreter for RevokePrivilegeInterpreter {
5253
// TODO: check privilege on granting on the grant object
5354

5455
let tenant = self.ctx.get_tenant();
55-
let user_mgr = self.ctx.get_user_manager();
56+
let user_mgr = UserApiProvider::instance();
5657

5758
match plan.principal {
5859
PrincipalIdentity::User(user) => {

src/query/service/src/interpreters/interpreter_role_create.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ use std::sync::Arc;
1717
use common_exception::Result;
1818
use common_legacy_planners::CreateRolePlan;
1919
use common_meta_types::RoleInfo;
20+
use common_users::UserApiProvider;
2021

2122
use crate::interpreters::Interpreter;
2223
use crate::pipelines::PipelineBuildResult;
@@ -46,10 +47,8 @@ impl Interpreter for CreateRoleInterpreter {
4647
// TODO: add privilege check about CREATE ROLE
4748
let plan = self.plan.clone();
4849
let tenant = self.ctx.get_tenant();
49-
let user_mgr = self.ctx.get_user_manager();
50-
let role_info = RoleInfo::new(&plan.role_name);
51-
user_mgr
52-
.add_role(&tenant, role_info, plan.if_not_exists)
50+
UserApiProvider::instance()
51+
.add_role(&tenant, RoleInfo::new(&plan.role_name), plan.if_not_exists)
5352
.await?;
5453

5554
Ok(PipelineBuildResult::create())

src/query/service/src/interpreters/interpreter_role_drop.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ use std::sync::Arc;
1616

1717
use common_exception::Result;
1818
use common_legacy_planners::DropRolePlan;
19+
use common_users::UserApiProvider;
1920

2021
use crate::interpreters::Interpreter;
2122
use crate::pipelines::PipelineBuildResult;
@@ -45,8 +46,7 @@ impl Interpreter for DropRoleInterpreter {
4546
// TODO: add privilege check about DROP role
4647
let plan = self.plan.clone();
4748
let tenant = self.ctx.get_tenant();
48-
let user_mgr = self.ctx.get_user_manager();
49-
user_mgr
49+
UserApiProvider::instance()
5050
.drop_role(&tenant, plan.role_name, plan.if_exists)
5151
.await?;
5252

src/query/service/src/interpreters/interpreter_role_grant.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ use std::sync::Arc;
1717
use common_exception::Result;
1818
use common_legacy_planners::GrantRolePlan;
1919
use common_meta_types::PrincipalIdentity;
20+
use common_users::UserApiProvider;
2021

2122
use crate::interpreters::Interpreter;
2223
use crate::pipelines::PipelineBuildResult;
@@ -45,7 +46,7 @@ impl Interpreter for GrantRoleInterpreter {
4546
async fn execute2(&self) -> Result<PipelineBuildResult> {
4647
let plan = self.plan.clone();
4748
let tenant = self.ctx.get_tenant();
48-
let user_mgr = self.ctx.get_user_manager();
49+
let user_mgr = UserApiProvider::instance();
4950

5051
// TODO: check privileges
5152

src/query/service/src/interpreters/interpreter_role_revoke.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ use std::sync::Arc;
1717
use common_exception::Result;
1818
use common_legacy_planners::RevokeRolePlan;
1919
use common_meta_types::PrincipalIdentity;
20+
use common_users::UserApiProvider;
2021

2122
use crate::interpreters::Interpreter;
2223
use crate::pipelines::PipelineBuildResult;
@@ -45,15 +46,14 @@ impl Interpreter for RevokeRoleInterpreter {
4546
async fn execute2(&self) -> Result<PipelineBuildResult> {
4647
let plan = self.plan.clone();
4748
let tenant = self.ctx.get_tenant();
48-
let user_mgr = self.ctx.get_user_manager();
4949
match plan.principal {
5050
PrincipalIdentity::User(user) => {
51-
user_mgr
51+
UserApiProvider::instance()
5252
.revoke_role_from_user(&tenant, user, plan.role)
5353
.await?;
5454
}
5555
PrincipalIdentity::Role(role) => {
56-
user_mgr
56+
UserApiProvider::instance()
5757
.revoke_role_from_role(&tenant, role.clone(), plan.role)
5858
.await?;
5959
}

0 commit comments

Comments
 (0)