diff --git a/Cargo.lock b/Cargo.lock index b135d630e2d25..cbc30a7365b8d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4130,7 +4130,6 @@ dependencies = [ name = "databend-common-storages-factory" version = "0.1.0" dependencies = [ - "async-trait", "dashmap 6.1.0", "databend-common-catalog", "databend-common-config", @@ -4145,7 +4144,6 @@ dependencies = [ "databend-common-storages-stream", "databend-common-storages-view", "databend-storages-common-index", - "tokio", ] [[package]] @@ -4531,6 +4529,7 @@ dependencies = [ "databend-common-exception", "databend-common-expression", "databend-common-functions", + "databend-common-management", "databend-common-meta-api", "databend-common-meta-app", "databend-common-meta-types", diff --git a/src/query/sql/src/planner/binder/bind_query/bind.rs b/src/query/sql/src/planner/binder/bind_query/bind.rs index 94386ce8b817c..28068f5d6620f 100644 --- a/src/query/sql/src/planner/binder/bind_query/bind.rs +++ b/src/query/sql/src/planner/binder/bind_query/bind.rs @@ -181,11 +181,14 @@ impl Binder { // The return value is temp_table name` fn m_cte_to_temp_table(&self, cte: &CTE) -> Result<()> { - let engine = if self.ctx.get_settings().get_persist_materialized_cte()? { + let engine = if self.ctx.get_settings().get_persist_materialized_cte()? + || !self.ctx.get_cluster().is_empty() + { Engine::Fuse } else { Engine::Memory }; + let database = self.ctx.get_current_database(); let table_name = normalize_identifier(&cte.alias.name, &self.name_resolution_ctx).name; if self