pub struct MemorySchemaProvider {
tables: DashMap<String, Arc<dyn TableProvider>>,
}Expand description
Simple in-memory implementation of a schema.
Fields§
§tables: DashMap<String, Arc<dyn TableProvider>>Implementations§
Source§impl MemorySchemaProvider
impl MemorySchemaProvider
Sourcepub fn new() -> MemorySchemaProvider
pub fn new() -> MemorySchemaProvider
Instantiates a new MemorySchemaProvider with an empty collection of tables.
Trait Implementations§
Source§impl Debug for MemorySchemaProvider
impl Debug for MemorySchemaProvider
Source§impl Default for MemorySchemaProvider
impl Default for MemorySchemaProvider
Source§fn default() -> MemorySchemaProvider
fn default() -> MemorySchemaProvider
Returns the “default value” for a type. Read more
Source§impl SchemaProvider for MemorySchemaProvider
impl SchemaProvider for MemorySchemaProvider
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,
MemorySchemaProvider: '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,
MemorySchemaProvider: '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
Source§fn table_type<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<TableType>, DataFusionError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn table_type<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<TableType>, DataFusionError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Retrieves the type of a specific table from the schema by name, if it exists, otherwise
returns
None. Implementations for which this operation is cheap but Self::table is
expensive can override this to improve operations that only need the type, e.g.
SELECT * FROM information_schema.tables.Auto Trait Implementations§
impl Freeze for MemorySchemaProvider
impl !RefUnwindSafe for MemorySchemaProvider
impl Send for MemorySchemaProvider
impl Sync for MemorySchemaProvider
impl Unpin for MemorySchemaProvider
impl !UnwindSafe for MemorySchemaProvider
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more