Struct deltalake::data_catalog::storage::ListingSchemaProvider
source · pub struct ListingSchemaProvider { /* private fields */ }
Expand description
A SchemaProvider
that scans an ObjectStore
to automatically discover delta tables.
A subfolder relationship is assumed, i.e. given: authority = s3://host.example.com:3000 path = /data/tpch
A table called “customer” will be registered for the folder: s3://host.example.com:3000/data/tpch/customer
assuming it contains valid deltalake data, i.e a _delta_log
folder:
s3://host.example.com:3000/data/tpch/customer/_delta_log/
Implementations§
source§impl ListingSchemaProvider
impl ListingSchemaProvider
sourcepub fn try_new(
root_uri: impl AsRef<str>,
storage_options: Option<HashMap<String, String>>
) -> Result<ListingSchemaProvider, DeltaTableError>
pub fn try_new( root_uri: impl AsRef<str>, storage_options: Option<HashMap<String, String>> ) -> Result<ListingSchemaProvider, DeltaTableError>
Create a new ListingSchemaProvider
sourcepub async fn refresh(&self) -> Result<(), DataFusionError>
pub async fn refresh(&self) -> Result<(), DataFusionError>
Reload table information from ObjectStore
Trait Implementations§
source§impl SchemaProvider for ListingSchemaProvider
impl SchemaProvider for ListingSchemaProvider
source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Returns this
SchemaProvider
as Any
so that it can be downcast to a
specific implementation.source§fn table_names(&self) -> Vec<String>
fn table_names(&self) -> Vec<String>
Retrieves the list of available table names in this schema.
source§fn table<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Option<Arc<dyn TableProvider>>, DataFusionError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
ListingSchemaProvider: 'async_trait,
fn table<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Option<Arc<dyn TableProvider>>, DataFusionError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
ListingSchemaProvider: 'async_trait,
Retrieves a specific table from the schema by name, if it exists,
otherwise returns
None
.source§fn register_table(
&self,
_name: String,
_table: Arc<dyn TableProvider>
) -> Result<Option<Arc<dyn TableProvider>>, DataFusionError>
fn register_table( &self, _name: String, _table: Arc<dyn TableProvider> ) -> Result<Option<Arc<dyn TableProvider>>, DataFusionError>
If supported by the implementation, adds a new table named
name
to
this schema. Read moresource§fn deregister_table(
&self,
_name: &str
) -> Result<Option<Arc<dyn TableProvider>>, DataFusionError>
fn deregister_table( &self, _name: &str ) -> Result<Option<Arc<dyn TableProvider>>, DataFusionError>
If supported by the implementation, removes the
name
table from this
schema and returns the previously registered TableProvider
, if any. Read moresource§fn table_exist(&self, name: &str) -> bool
fn table_exist(&self, name: &str) -> bool
Returns true if table exist in the schema provider, false otherwise.
source§fn owner_name(&self) -> Option<&str>
fn owner_name(&self) -> Option<&str>
Returns the owner of the Schema, default is None. This value is reported
as part of `information_tables.schemata
Auto Trait Implementations§
impl Freeze for ListingSchemaProvider
impl !RefUnwindSafe for ListingSchemaProvider
impl Send for ListingSchemaProvider
impl Sync for ListingSchemaProvider
impl Unpin for ListingSchemaProvider
impl !UnwindSafe for ListingSchemaProvider
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.