Trait datafusion::catalog::schema::SchemaProvider
source · [−]pub trait SchemaProvider: Sync + Send {
fn as_any(&self) -> &dyn Any;
fn table_names(&self) -> Vec<String>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
;
fn table(&self, name: &str) -> Option<Arc<dyn TableProvider>>;
fn table_exist(&self, name: &str) -> bool;
fn register_table(
&self,
name: String,
table: Arc<dyn TableProvider>
) -> Result<Option<Arc<dyn TableProvider>>> { ... }
fn deregister_table(
&self,
name: &str
) -> Result<Option<Arc<dyn TableProvider>>> { ... }
}
Expand description
Represents a schema, comprising a number of named tables.
Required Methods
sourcefn as_any(&self) -> &dyn Any
fn as_any(&self) -> &dyn Any
Returns the schema provider as Any
so that it can be downcast to a specific implementation.
sourcefn table_names(&self) -> Vec<String>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
fn table_names(&self) -> Vec<String>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
Retrieves the list of available table names in this schema.
sourcefn table(&self, name: &str) -> Option<Arc<dyn TableProvider>>
fn table(&self, name: &str) -> Option<Arc<dyn TableProvider>>
Retrieves a specific table from the schema by name, provided it exists.
sourcefn table_exist(&self, name: &str) -> bool
fn table_exist(&self, name: &str) -> bool
If supported by the implementation, checks the table exist in the schema provider or not. If no matched table in the schema provider, return false. Otherwise, return true.
Provided Methods
sourcefn 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 to this schema. If a table of the same name existed before, it returns “Table already exists” error.
sourcefn 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 an existing table from this schema and returns it. If no table of that name exists, returns Ok(None).