pub struct InformationSchemaProvider { /* private fields */ }
Expand description
Implements the information_schema
virtual schema and tables
The underlying tables in the information_schema
are created on
demand. This means that if more tables are added to the underlying
providers, they will appear the next time the information_schema
table is queried.
Implementations§
source§impl InformationSchemaProvider
impl InformationSchemaProvider
sourcepub fn new(catalog_list: Arc<dyn CatalogProviderList>) -> Self
pub fn new(catalog_list: Arc<dyn CatalogProviderList>) -> Self
Creates a new InformationSchemaProvider
for the provided catalog_list
Trait Implementations§
source§impl SchemaProvider for InformationSchemaProvider
impl SchemaProvider for InformationSchemaProvider
source§fn as_any(&self) -> &dyn Any
fn as_any(&self) -> &dyn Any
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
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieves a specific table from the schema by name, if it exists,
otherwise returns
None
.source§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
source§fn register_table(
&self,
name: String,
table: Arc<dyn TableProvider>,
) -> Result<Option<Arc<dyn TableProvider>>>
fn register_table( &self, name: String, table: Arc<dyn TableProvider>, ) -> Result<Option<Arc<dyn TableProvider>>>
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>>>
fn deregister_table(&self, name: &str) -> Result<Option<Arc<dyn TableProvider>>>
If supported by the implementation, removes the
name
table from this
schema and returns the previously registered TableProvider
, if any. Read moreAuto Trait Implementations§
impl Freeze for InformationSchemaProvider
impl !RefUnwindSafe for InformationSchemaProvider
impl Send for InformationSchemaProvider
impl Sync for InformationSchemaProvider
impl Unpin for InformationSchemaProvider
impl !UnwindSafe for InformationSchemaProvider
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> 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 more