pub struct PaimonCatalogProvider { /* private fields */ }Expand description
Provides an interface to manage and access multiple schemas (databases)
within a Paimon Catalog.
This provider uses lazy loading - databases and tables are fetched on-demand from the catalog, ensuring data is always fresh.
Implementations§
Source§impl PaimonCatalogProvider
impl PaimonCatalogProvider
Sourcepub fn new(catalog: Arc<dyn Catalog>) -> Self
pub fn new(catalog: Arc<dyn Catalog>) -> Self
Creates a new PaimonCatalogProvider.
All data is loaded lazily when accessed.
Trait Implementations§
Source§impl CatalogProvider for PaimonCatalogProvider
impl CatalogProvider for PaimonCatalogProvider
Source§fn as_any(&self) -> &dyn Any
fn as_any(&self) -> &dyn Any
Returns the catalog provider as
Any
so that it can be downcast to a specific implementation.Source§fn schema_names(&self) -> Vec<String>
fn schema_names(&self) -> Vec<String>
Retrieves the list of available schema names in this catalog.
Source§fn schema(&self, name: &str) -> Option<Arc<dyn SchemaProvider>>
fn schema(&self, name: &str) -> Option<Arc<dyn SchemaProvider>>
Retrieves a specific schema from the catalog by name, provided it exists.
Source§fn register_schema(
&self,
name: &str,
_schema: Arc<dyn SchemaProvider>,
) -> DFResult<Option<Arc<dyn SchemaProvider>>>
fn register_schema( &self, name: &str, _schema: Arc<dyn SchemaProvider>, ) -> DFResult<Option<Arc<dyn SchemaProvider>>>
Adds a new schema to this catalog. Read more
Source§fn deregister_schema(
&self,
name: &str,
cascade: bool,
) -> DFResult<Option<Arc<dyn SchemaProvider>>>
fn deregister_schema( &self, name: &str, cascade: bool, ) -> DFResult<Option<Arc<dyn SchemaProvider>>>
Removes a schema from this catalog. Implementations of this method should return
errors if the schema exists but cannot be dropped. For example, in DataFusion’s
default in-memory catalog,
MemoryCatalogProvider, a non-empty schema
will only be successfully dropped when cascade is true.
This is equivalent to how DROP SCHEMA works in PostgreSQL. Read moreAuto Trait Implementations§
impl Freeze for PaimonCatalogProvider
impl !RefUnwindSafe for PaimonCatalogProvider
impl Send for PaimonCatalogProvider
impl Sync for PaimonCatalogProvider
impl Unpin for PaimonCatalogProvider
impl UnsafeUnpin for PaimonCatalogProvider
impl !UnwindSafe for PaimonCatalogProvider
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 more