@@ -532,17 +532,18 @@ DB::Names RestCatalog::parseTables(DB::ReadBuffer & buf, const std::string & bas
532532bool RestCatalog::existsTable (const std::string & namespace_name, const std::string & table_name) const
533533{
534534 TableMetadata table_metadata;
535- return tryGetTableMetadata (namespace_name, table_name, table_metadata);
535+ return tryGetTableMetadata (namespace_name, table_name, getContext (), table_metadata);
536536}
537537
538538bool RestCatalog::tryGetTableMetadata (
539539 const std::string & namespace_name,
540540 const std::string & table_name,
541+ DB::ContextPtr context_,
541542 TableMetadata & result) const
542543{
543544 try
544545 {
545- return getTableMetadataImpl (namespace_name, table_name, result);
546+ return getTableMetadataImpl (namespace_name, table_name, context_, result);
546547 }
547548 catch (...)
548549 {
@@ -554,15 +555,17 @@ bool RestCatalog::tryGetTableMetadata(
554555void RestCatalog::getTableMetadata (
555556 const std::string & namespace_name,
556557 const std::string & table_name,
558+ DB::ContextPtr context_,
557559 TableMetadata & result) const
558560{
559- if (!getTableMetadataImpl (namespace_name, table_name, result))
561+ if (!getTableMetadataImpl (namespace_name, table_name, context_, result))
560562 throw DB::Exception (DB::ErrorCodes::DATALAKE_DATABASE_ERROR, " No response from iceberg catalog" );
561563}
562564
563565bool RestCatalog::getTableMetadataImpl (
564566 const std::string & namespace_name,
565567 const std::string & table_name,
568+ DB::ContextPtr context_,
566569 TableMetadata & result) const
567570{
568571 LOG_TEST (log, " Checking table {} in namespace {}" , table_name, namespace_name);
@@ -623,7 +626,7 @@ bool RestCatalog::getTableMetadataImpl(
623626 if (result.requiresSchema ())
624627 {
625628 // int format_version = metadata_object->getValue<int>("format-version");
626- auto schema_processor = DB::Iceberg::IcebergSchemaProcessor (getContext () );
629+ auto schema_processor = DB::Iceberg::IcebergSchemaProcessor (context_ );
627630 auto id = DB::IcebergMetadata::parseTableSchema (metadata_object, schema_processor, log);
628631 auto schema = schema_processor.getClickhouseTableSchemaById (id);
629632 result.setSchema (*schema);
0 commit comments