Skip to content

Commit 23ab909

Browse files
committed
fix
1 parent 34be4e4 commit 23ab909

37 files changed

+893
-607
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/common/exception/src/exception_code.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,6 @@ build_exceptions! {
424424
InvalidSessionState(4004),
425425

426426
// recluster error codes
427-
NoNeedToRecluster(4011),
428427
NoNeedToCompact(4012),
429428
UnsupportedClusterType(4013),
430429

src/query/service/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ databend-enterprise-aggregating-index = { workspace = true }
107107
databend-enterprise-attach-table = { workspace = true }
108108
databend-enterprise-background-service = { workspace = true }
109109
databend-enterprise-data-mask-feature = { workspace = true }
110+
databend-enterprise-hilbert-clustering = { workspace = true }
110111
databend-enterprise-inverted-index = { workspace = true }
111112
databend-enterprise-resources-management = { workspace = true }
112113
databend-enterprise-stream-handler = { workspace = true }

src/query/service/src/interpreters/access/privilege_access.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ use databend_common_sql::plans::InsertInputSource;
3838
use databend_common_sql::plans::Mutation;
3939
use databend_common_sql::plans::OptimizeCompactBlock;
4040
use databend_common_sql::plans::PresignAction;
41-
use databend_common_sql::plans::Recluster;
4241
use databend_common_sql::plans::RewriteKind;
4342
use databend_common_sql::Planner;
4443
use databend_common_users::RoleCacheManager;
@@ -965,9 +964,7 @@ impl AccessChecker for PrivilegeAccess {
965964
Plan::DropTableClusterKey(plan) => {
966965
self.validate_table_access(&plan.catalog, &plan.database, &plan.table, UserPrivilegeType::Drop, false, false).await?
967966
}
968-
Plan::ReclusterTable{s_expr, ..} => {
969-
let plan: Recluster = s_expr.plan().clone().try_into()?;
970-
// UDF has been disabled in recluster, no need to check udf privilege access.
967+
Plan::ReclusterTable(plan) => {
971968
self.validate_table_access(&plan.catalog, &plan.database, &plan.table, UserPrivilegeType::Alter, false, false).await?
972969
}
973970
Plan::TruncateTable(plan) => {

src/query/service/src/interpreters/hook/compact_hook.rs

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ use databend_common_pipeline_core::Pipeline;
2626
use databend_common_sql::executor::physical_plans::MutationKind;
2727
use databend_common_sql::optimizer::SExpr;
2828
use databend_common_sql::plans::OptimizeCompactBlock;
29-
use databend_common_sql::plans::Recluster;
29+
use databend_common_sql::plans::ReclusterPlan;
3030
use databend_common_sql::plans::RelOperator;
3131
use databend_storages_common_table_meta::table::ClusterType;
3232
use log::info;
@@ -218,21 +218,16 @@ async fn compact_table(
218218
&compact_target.table,
219219
)?;
220220
ctx.set_enable_sort_spill(false);
221-
let recluster = RelOperator::Recluster(Recluster {
221+
let recluster = ReclusterPlan {
222222
catalog: compact_target.catalog,
223223
database: compact_target.database,
224224
table: compact_target.table,
225225
limit: Some(settings.get_auto_compaction_segments_limit()? as usize),
226-
filters: None,
227-
});
228-
let s_expr = SExpr::create_leaf(Arc::new(recluster));
229-
let recluster_interpreter = ReclusterTableInterpreter::try_create(
230-
ctx.clone(),
231-
s_expr,
232-
None,
233-
lock_opt,
234-
false,
235-
)?;
226+
selection: None,
227+
is_final: false,
228+
};
229+
let recluster_interpreter =
230+
ReclusterTableInterpreter::try_create(ctx.clone(), recluster, lock_opt)?;
236231
// Recluster will be done in `ReclusterTableInterpreter::execute2` directly,
237232
// we do not need to use `PipelineCompleteExecutor` to execute it.
238233
let build_res = recluster_interpreter.execute2().await?;

src/query/service/src/interpreters/interpreter_factory.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -339,16 +339,10 @@ impl InterpreterFactory {
339339
Plan::DropTableClusterKey(drop_table_cluster_key) => Ok(Arc::new(
340340
DropTableClusterKeyInterpreter::try_create(ctx, *drop_table_cluster_key.clone())?,
341341
)),
342-
Plan::ReclusterTable {
343-
s_expr,
344-
hilbert_query,
345-
is_final,
346-
} => Ok(Arc::new(ReclusterTableInterpreter::try_create(
342+
Plan::ReclusterTable(recluster) => Ok(Arc::new(ReclusterTableInterpreter::try_create(
347343
ctx,
348-
*s_expr.clone(),
349-
hilbert_query.clone(),
344+
*recluster.clone(),
350345
LockTableOption::LockWithRetry,
351-
*is_final,
352346
)?)),
353347
Plan::TruncateTable(truncate_table) => Ok(Arc::new(
354348
TruncateTableInterpreter::try_create(ctx, *truncate_table.clone())?,

src/query/service/src/interpreters/interpreter_insert_multi_table.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,10 @@ fn not(expr: ScalarExpr) -> ScalarExpr {
337337
})
338338
}
339339

340-
fn scalar_expr_to_remote_expr(expr: &ScalarExpr, block_schema: &DataSchema) -> Result<RemoteExpr> {
340+
pub(crate) fn scalar_expr_to_remote_expr(
341+
expr: &ScalarExpr,
342+
block_schema: &DataSchema,
343+
) -> Result<RemoteExpr> {
341344
let expr = expr
342345
.as_expr()?
343346
.project_column_ref(|col| block_schema.index_of(&col.index.to_string()).unwrap());

0 commit comments

Comments
 (0)