diff --git a/crates/core/src/data_catalog/storage/mod.rs b/crates/core/src/data_catalog/storage/mod.rs index 7b0b779069..4deeb6bfd5 100644 --- a/crates/core/src/data_catalog/storage/mod.rs +++ b/crates/core/src/data_catalog/storage/mod.rs @@ -47,9 +47,9 @@ impl ListingSchemaProvider { storage_options: Option>, ) -> DeltaResult { let uri = ensure_table_uri(root_uri)?; - let storage_options = storage_options.unwrap_or_default().into(); + let storage_options: StorageOptions = storage_options.unwrap_or_default().into(); // We already parsed the url, so unwrapping is safe. - let store = store_for(&uri)?; + let store = store_for(&uri, &storage_options)?; Ok(Self { authority: uri.to_string(), store, diff --git a/crates/core/src/storage/mod.rs b/crates/core/src/storage/mod.rs index 0ad1435d1c..99d3b8c587 100644 --- a/crates/core/src/storage/mod.rs +++ b/crates/core/src/storage/mod.rs @@ -395,10 +395,10 @@ pub fn factories() -> FactoryRegistry { } /// Simpler access pattern for the [FactoryRegistry] to get a single store -pub fn store_for(url: &Url) -> DeltaResult { +pub fn store_for(url: &Url, storage_options: &StorageOptions) -> DeltaResult { let scheme = Url::parse(&format!("{}://", url.scheme())).unwrap(); if let Some(factory) = factories().get(&scheme) { - let (store, _prefix) = factory.parse_url_opts(url, &StorageOptions::default())?; + let (store, _prefix) = factory.parse_url_opts(url, storage_options)?; Ok(store) } else { Err(DeltaTableError::InvalidTableLocation(url.clone().into())) diff --git a/crates/core/tests/fs_common/mod.rs b/crates/core/tests/fs_common/mod.rs index 13683b408a..061c0d8c58 100644 --- a/crates/core/tests/fs_common/mod.rs +++ b/crates/core/tests/fs_common/mod.rs @@ -5,7 +5,7 @@ use deltalake_core::kernel::{ use deltalake_core::operations::create::CreateBuilder; use deltalake_core::operations::transaction::CommitBuilder; use deltalake_core::protocol::{DeltaOperation, SaveMode}; -use deltalake_core::storage::{GetResult, ObjectStoreResult}; +use deltalake_core::storage::{GetResult, ObjectStoreResult, StorageOptions}; use deltalake_core::DeltaTable; use object_store::path::Path as StorePath; use object_store::{ @@ -152,7 +152,7 @@ impl SlowStore { _options: impl Into + Clone, ) -> deltalake_core::DeltaResult { Ok(Self { - inner: deltalake_core::storage::store_for(&location)?, + inner: deltalake_core::storage::store_for(&location, &StorageOptions::default())?, }) } }