From 1cf524a9d8fea6c26cc9b6676b30fb4433083d03 Mon Sep 17 00:00:00 2001 From: luofucong Date: Tue, 14 Feb 2023 19:16:41 +0800 Subject: [PATCH 1/2] Set `catalog_list` from outside for `SessionState`. --- datafusion/core/src/execution/context.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/datafusion/core/src/execution/context.rs b/datafusion/core/src/execution/context.rs index 0873895f79f65..c53376e78d095 100644 --- a/datafusion/core/src/execution/context.rs +++ b/datafusion/core/src/execution/context.rs @@ -1475,9 +1475,17 @@ pub fn default_session_builder(config: SessionConfig) -> SessionState { impl SessionState { /// Returns new SessionState using the provided configuration and runtime pub fn with_config_rt(config: SessionConfig, runtime: Arc) -> Self { + let catalog_list = Arc::new(MemoryCatalogList::new()) as Arc; + Self::with_config_rt_and_catalog_list(config, runtime, catalog_list) + } + + pub fn with_config_rt_and_catalog_list( + config: SessionConfig, + runtime: Arc, + catalog_list: Arc, + ) -> Self { let session_id = Uuid::new_v4().to_string(); - let catalog_list = Arc::new(MemoryCatalogList::new()) as Arc; if config.create_default_catalog_and_schema() { let default_catalog = MemoryCatalogProvider::new(); From d397ae263cf9a8e900c1291822d13830c4f37f88 Mon Sep 17 00:00:00 2001 From: luofucong Date: Wed, 15 Feb 2023 09:49:24 +0800 Subject: [PATCH 2/2] fix: resolve PR comments --- datafusion/core/src/execution/context.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/datafusion/core/src/execution/context.rs b/datafusion/core/src/execution/context.rs index c53376e78d095..c2ac3c2e9ff05 100644 --- a/datafusion/core/src/execution/context.rs +++ b/datafusion/core/src/execution/context.rs @@ -1479,6 +1479,7 @@ impl SessionState { Self::with_config_rt_and_catalog_list(config, runtime, catalog_list) } + /// Returns new SessionState using the provided configuration, runtime and catalog list. pub fn with_config_rt_and_catalog_list( config: SessionConfig, runtime: Arc,