pub struct PaimonCatalogProvider;Trait Implementations§
Source§impl CatalogProvider for PaimonCatalogProvider
impl CatalogProvider for PaimonCatalogProvider
Source§type Error = PaimonError
type Error = PaimonError
Backend-specific error type (snafu enum).
Source§fn get_table_spec<'life0, 'life1, 'async_trait>(
&'life0 self,
_table: &'life1 TableIdent,
) -> Pin<Box<dyn Future<Output = Result<TableSpec, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_table_spec<'life0, 'life1, 'async_trait>(
&'life0 self,
_table: &'life1 TableIdent,
) -> Pin<Box<dyn Future<Output = Result<TableSpec, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Load a table’s current spec (schema, partition spec, properties,
current snapshot pointer). MUST be idempotent and safe to call
concurrently.
Source§fn write_batch<'life0, 'life1, 'async_trait>(
&'life0 self,
_table: &'life1 TableIdent,
_batch: RecordBatch,
) -> Pin<Box<dyn Future<Output = Result<WriteReceipt, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn write_batch<'life0, 'life1, 'async_trait>(
&'life0 self,
_table: &'life1 TableIdent,
_batch: RecordBatch,
) -> Pin<Box<dyn Future<Output = Result<WriteReceipt, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Write a batch of Arrow data to the backend’s storage layer.
MUST NOT visibly commit until
commit is called — for open table
formats, this produces staged data files; for StarRocks Stream Load
and Flight SQL, this is part of the commit itself.Source§fn commit<'life0, 'life1, 'async_trait>(
&'life0 self,
_table: &'life1 TableIdent,
_receipts: Vec<WriteReceipt>,
) -> Pin<Box<dyn Future<Output = Result<CommitOutcome, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn commit<'life0, 'life1, 'async_trait>(
&'life0 self,
_table: &'life1 TableIdent,
_receipts: Vec<WriteReceipt>,
) -> Pin<Box<dyn Future<Output = Result<CommitOutcome, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Commit previously written batches. For CAS-based backends (Iceberg,
Delta, Paimon), MUST be implemented with a retry loop.
For non-transactional backends (StarRocks), MAY be a no-op.
Source§fn get_security_context<'life0, 'life1, 'async_trait>(
&'life0 self,
_table: &'life1 TableIdent,
) -> Pin<Box<dyn Future<Output = Result<SecurityContext, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_security_context<'life0, 'life1, 'async_trait>(
&'life0 self,
_table: &'life1 TableIdent,
) -> Pin<Box<dyn Future<Output = Result<SecurityContext, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return the security context (credentials, encryption metadata)
for the table. Implementations MUST fetch short-lived credentials
and MUST NOT cache beyond the credential’s expiry.
Auto 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