Skip to content

Commit 04f09e2

Browse files
committed
fix
1 parent 4c15a99 commit 04f09e2

12 files changed

Lines changed: 52 additions & 40 deletions

File tree

src/query/service/src/interpreters/interpreter_table_recluster.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ impl ReclusterTableInterpreter {
221221
)));
222222
};
223223

224-
self.build_push_downs(push_downs, &tbl)?;
224+
self.build_push_downs(push_downs, table.to_string(), &tbl)?;
225225

226226
let physical_plan = match cluster_type {
227227
ClusterType::Hilbert => {
@@ -564,12 +564,13 @@ impl ReclusterTableInterpreter {
564564
fn build_push_downs(
565565
&self,
566566
push_downs: &mut Option<PushDownInfo>,
567+
name: String,
567568
tbl: &Arc<dyn Table>,
568569
) -> Result<()> {
569570
if push_downs.is_none() {
570571
if let Some(expr) = &self.plan.selection {
571572
let settings = self.ctx.get_settings();
572-
let (mut bind_context, metadata) = bind_table(tbl.clone())?;
573+
let (mut bind_context, metadata) = bind_table(name, tbl.clone())?;
573574
let name_resolution_ctx = NameResolutionContext::try_from(settings.as_ref())?;
574575
let mut type_checker = TypeChecker::try_create(
575576
&mut bind_context,

src/query/sql/src/planner/binder/bind_table_reference/bind_table.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -231,13 +231,13 @@ impl Binder {
231231
let table_index = self.metadata.write().add_table(
232232
catalog,
233233
database.clone(),
234+
table_name.clone(),
234235
table_meta.clone(),
235236
branch_name,
236237
table_name_alias,
237238
!bind_context.binding_views.is_empty(),
238239
bind_context.planning_agg_index,
239240
false,
240-
cte_suffix_name,
241241
);
242242
let (s_expr, mut bind_context) = self.bind_base_table(
243243
bind_context,
@@ -321,13 +321,13 @@ impl Binder {
321321
self.metadata.write().add_table(
322322
catalog,
323323
database.clone(),
324+
table_name,
324325
table_meta,
325326
branch_name,
326327
table_name_alias,
327328
false,
328329
false,
329330
false,
330-
None,
331331
);
332332
let (s_expr, mut new_bind_context) =
333333
self.bind_query(&mut new_bind_context, query)?;
@@ -355,15 +355,15 @@ impl Binder {
355355
}
356356
_ => {
357357
let table_index = self.metadata.write().add_table(
358-
catalog.clone(),
358+
catalog,
359359
database.clone(),
360-
table_meta.clone(),
360+
table_name,
361+
table_meta,
361362
branch_name,
362363
table_name_alias,
363364
!bind_context.binding_views.is_empty(),
364365
bind_context.planning_agg_index,
365366
false,
366-
cte_suffix_name,
367367
);
368368

369369
let (s_expr, mut bind_context) = self.bind_base_table(

src/query/sql/src/planner/binder/bind_table_reference/bind_table_function.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ use databend_common_expression::display::scalar_ref_to_string;
3737
use databend_common_expression::types::NumberScalar;
3838
use databend_common_functions::BUILTIN_FUNCTIONS;
3939
use databend_common_meta_app::principal::UDFDefinition;
40+
use databend_common_storages_basic::RESULT_SCAN;
4041
use databend_common_storages_basic::ResultCacheMetaManager;
4142
use databend_common_storages_basic::ResultScan;
4243
use databend_common_users::UserApiProvider;
@@ -301,13 +302,13 @@ impl Binder {
301302
let table_index = self.metadata.write().add_table(
302303
CATALOG_DEFAULT.to_string(),
303304
"system".to_string(),
305+
table.name().to_string(),
304306
table.as_table(),
305307
None,
306308
table_alias_name,
307309
false,
308310
false,
309311
false,
310-
None,
311312
);
312313
let (s_expr, mut bind_context) =
313314
self.bind_base_table(bind_context, "system", table_index, None, sample, true)?;
@@ -362,13 +363,13 @@ impl Binder {
362363
let table_index = self.metadata.write().add_table(
363364
CATALOG_DEFAULT.to_string(),
364365
"system".to_string(),
366+
RESULT_SCAN.to_string(),
365367
table.clone(),
366368
None,
367369
table_alias_name,
368370
false,
369371
false,
370372
false,
371-
None,
372373
);
373374

374375
let (s_expr, mut bind_context) =

src/query/sql/src/planner/binder/table.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,13 +151,13 @@ impl Binder {
151151
let table_index = self.metadata.write().add_table(
152152
CATALOG_DEFAULT.to_string(),
153153
"system".to_string(),
154+
table.name().to_string(),
154155
table.clone(),
155156
None,
156157
table_alias_name,
157158
false,
158159
false,
159160
true,
160-
None,
161161
);
162162

163163
let (s_expr, mut bind_context) =

src/query/sql/src/planner/dataframe.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,13 +115,13 @@ impl Dataframe {
115115
let table_index = metadata.write().add_table(
116116
CATALOG_DEFAULT.to_owned(),
117117
database.to_string(),
118+
"one".to_string(),
118119
table_meta,
119120
None,
120121
None,
121122
false,
122123
false,
123124
false,
124-
None,
125125
);
126126

127127
binder.bind_base_table(&bind_context, database, table_index, None, &None, true)

src/query/sql/src/planner/expression/expression_parser.rs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,19 +58,22 @@ use crate::planner::binder::BindContext;
5858
use crate::planner::semantic::NameResolutionContext;
5959
use crate::planner::semantic::TypeChecker;
6060

61-
pub fn bind_table(table_meta: Arc<dyn Table>) -> Result<(BindContext, MetadataRef)> {
61+
pub fn bind_table(
62+
table_name: String,
63+
table_meta: Arc<dyn Table>,
64+
) -> Result<(BindContext, MetadataRef)> {
6265
let mut bind_context = BindContext::new();
6366
let metadata = Arc::new(RwLock::new(Metadata::default()));
6467
let table_index = metadata.write().add_table(
6568
CATALOG_DEFAULT.to_owned(),
6669
"default".to_string(),
70+
table_name,
6771
table_meta,
6872
None,
6973
None,
7074
false,
7175
false,
7276
false,
73-
None,
7477
);
7578

7679
let columns = metadata.read().columns_by_table_index(table_index);
@@ -139,7 +142,8 @@ fn parse_ast_exprs(
139142
table_meta: Arc<dyn Table>,
140143
ast_exprs: Vec<AExpr>,
141144
) -> Result<Vec<Expr<ColumnBinding>>> {
142-
let (mut bind_context, metadata) = bind_table(table_meta)?;
145+
let table_name = table_meta.name().to_string();
146+
let (mut bind_context, metadata) = bind_table(table_name, table_meta)?;
143147
let settings = ctx.get_settings();
144148
let name_resolution_ctx = NameResolutionContext::try_from(settings.as_ref())?;
145149

@@ -384,7 +388,8 @@ pub fn parse_cluster_keys(
384388
ast_exprs: Vec<AExpr>,
385389
) -> Result<Vec<Expr>> {
386390
let schema = table_meta.schema();
387-
let (mut bind_context, metadata) = bind_table(table_meta)?;
391+
let table_name = table_meta.name().to_string();
392+
let (mut bind_context, metadata) = bind_table(table_name, table_meta)?;
388393
let settings = ctx.get_settings();
389394
let name_resolution_ctx = NameResolutionContext::try_from(settings.as_ref())?;
390395
let mut type_checker = TypeChecker::try_create(
@@ -456,7 +461,8 @@ pub fn analyze_cluster_keys(
456461
sql: &str,
457462
) -> Result<(String, Vec<Expr<Symbol>>)> {
458463
let ast_exprs = parse_cluster_key_exprs(sql)?;
459-
let (mut bind_context, metadata) = bind_table(table_meta)?;
464+
let table_name = table_meta.name().to_string();
465+
let (mut bind_context, metadata) = bind_table(table_name, table_meta)?;
460466
let name_resolution_ctx = NameResolutionContext::try_from(ctx.get_settings().as_ref())?;
461467
let mut type_checker = TypeChecker::try_create(
462468
&mut bind_context,

src/query/sql/src/planner/metadata/metadata.rs

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -358,41 +358,29 @@ impl Metadata {
358358
!self.agg_indices.is_empty()
359359
}
360360

361-
fn remove_cte_suffix(mut table_name: String, cte_suffix_name: Option<String>) -> String {
362-
if let Some(suffix) = cte_suffix_name {
363-
if table_name.ends_with(&suffix) {
364-
table_name.truncate(table_name.len() - suffix.len() - 1);
365-
}
366-
}
367-
table_name
368-
}
369-
370361
#[allow(clippy::too_many_arguments)]
371362
pub fn add_table(
372363
&mut self,
373364
catalog: String,
374365
database: String,
366+
name: String,
375367
table_meta: Arc<dyn Table>,
376368
branch: Option<String>,
377-
table_alias_name: Option<String>,
369+
alias_name: Option<String>,
378370
source_of_view: bool,
379371
source_of_index: bool,
380372
source_of_stage: bool,
381-
cte_suffix_name: Option<String>,
382373
) -> IndexType {
383-
let table_name = table_meta.name().to_string();
384-
let table_name = Self::remove_cte_suffix(table_name, cte_suffix_name);
385-
386374
let table_index = self.tables.len();
387375
// If exists table alias name, use it instead of origin name
388376
let table_entry = TableEntry {
389377
index: table_index,
390-
name: table_name,
378+
name,
391379
database,
392380
catalog,
393381
table: table_meta.clone(),
394382
branch,
395-
alias_name: table_alias_name,
383+
alias_name,
396384
source_of_view,
397385
source_of_index,
398386
source_of_stage,

src/query/storages/basic/src/lib.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,7 @@ pub use null::NullTable;
4141
pub use random::{RandomPartInfo, RandomTable};
4242
pub use recursive_cte_memory_table::RecursiveCteMemoryTable;
4343
// Result cache storage exports
44-
pub use result_cache::{
45-
ResultCacheMetaManager, ResultCacheReader, ResultScan, WriteResultCacheSink,
46-
gen_result_cache_key, gen_result_cache_meta_key, gen_result_cache_prefix,
47-
};
44+
pub use result_cache::*;
4845
// View storage exports
4946
pub use view::view_table;
5047

src/query/storages/basic/src/result_cache/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,6 @@ pub use common::gen_result_cache_meta_key;
2323
pub use common::gen_result_cache_prefix;
2424
pub use meta_manager::ResultCacheMetaManager;
2525
pub use read::ResultCacheReader;
26+
pub use table_function::RESULT_SCAN;
2627
pub use table_function::ResultScan;
2728
pub use write::WriteResultCacheSink;

src/query/storages/basic/src/result_cache/table_function/mod.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
mod table;
16-
17-
pub use table::ResultScan;
15+
mod table;
16+
17+
pub use table::RESULT_SCAN;
18+
pub use table::ResultScan;

0 commit comments

Comments
 (0)