@@ -58,19 +58,22 @@ use crate::planner::binder::BindContext;
5858use crate :: planner:: semantic:: NameResolutionContext ;
5959use 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,
0 commit comments