StandardCommandTransaction

Struct StandardCommandTransaction 

Source
pub struct StandardCommandTransaction {
    pub multi: TransactionMultiVersion,
    pub single: TransactionSingle,
    /* private fields */
}
Expand description

An active command transaction that holds a multi command transaction and provides query/command access to single storage.

The transaction will auto-rollback on drop if not explicitly committed.

Fields§

§multi: TransactionMultiVersion§single: TransactionSingle

Implementations§

Source§

impl StandardCommandTransaction

Source

pub async fn new( multi: TransactionMultiVersion, single: TransactionSingle, cdc: TransactionCdc, event_bus: EventBus, catalog: MaterializedCatalog, interceptors: Interceptors<Self>, ) -> Result<Self>

Creates a new active command transaction with a pre-commit callback

Source

pub fn event_bus(&self) -> &EventBus

Source

pub async fn commit(&mut self) -> Result<CommitVersion>

Commit the transaction. Since single transactions are short-lived and auto-commit, this only commits the multi transaction.

Source

pub fn rollback(&mut self) -> Result<()>

Rollback the transaction.

Source

pub fn cdc(&self) -> &TransactionCdc

Get access to the CDC transaction interface

Source

pub fn pending_writes(&self) -> &PendingWrites

Get access to the pending writes in this transaction

This allows checking for key conflicts when committing FlowTransactions to ensure they operate on non-overlapping keyspaces.

Source

pub async fn with_single_query<'a, I, F, R>(&self, keys: I, f: F) -> Result<R>
where I: IntoIterator<Item = &'a EncodedKey> + Send, F: FnOnce(&mut <TransactionSingle as SingleVersionTransaction>::Query<'_>) -> Result<R> + Send, R: Send,

Execute a function with query access to the single transaction.

Source

pub async fn with_single_command<'a, I, F, R>(&self, keys: I, f: F) -> Result<R>
where I: IntoIterator<Item = &'a EncodedKey> + Send, F: FnOnce(&mut <TransactionSingle as SingleVersionTransaction>::Command<'_>) -> Result<R> + Send, R: Send,

Execute a function with query access to the single transaction.

Source

pub async fn with_multi_query<F, R>(&self, f: F) -> Result<R>
where F: FnOnce(&mut StandardQueryTransaction) -> Result<R>,

Execute a function with a query transaction view. This creates a new query transaction using the stored multi-version storage. The query transaction will operate independently but share the same single/CDC storage.

Source

pub async fn with_multi_query_as_of_exclusive<F, R>( &self, version: CommitVersion, f: F, ) -> Result<R>
where F: FnOnce(&mut StandardQueryTransaction) -> Result<R>,

Source

pub async fn with_multi_query_as_of_inclusive<F, R>( &self, version: CommitVersion, f: F, ) -> Result<R>
where F: FnOnce(&mut StandardQueryTransaction) -> Result<R>,

Trait Implementations§

Source§

impl CatalogTrackDictionaryChangeOperations for StandardCommandTransaction

Source§

impl CatalogTrackFlowChangeOperations for StandardCommandTransaction

Source§

impl CatalogTrackNamespaceChangeOperations for StandardCommandTransaction

Source§

impl CatalogTrackRingBufferChangeOperations for StandardCommandTransaction

Source§

impl CatalogTrackTableChangeOperations for StandardCommandTransaction

Source§

impl CatalogTrackViewChangeOperations for StandardCommandTransaction

Source§

impl CommandTransaction for StandardCommandTransaction

Source§

type SingleVersionCommand<'a> = <TransactionSingle as SingleVersionTransaction>::Command<'a>

Source§

fn begin_single_command<'a, 'life0, 'async_trait, I>( &'life0 self, keys: I, ) -> Pin<Box<dyn Future<Output = Result<Self::SingleVersionCommand<'_>>> + Send + 'async_trait>>
where I: IntoIterator<Item = &'a EncodedKey> + Send + 'async_trait, Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait,

Source§

fn get_changes(&self) -> &TransactionalDefChanges

Get reference to catalog changes for this transaction
Source§

impl Drop for StandardCommandTransaction

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl ExecuteCommand<StandardCommandTransaction> for Executor

Source§

fn execute_command<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, txn: &'life1 mut StandardCommandTransaction, cmd: Command<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Frame>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

impl ExecuteCommand<StandardCommandTransaction> for StandardEngine

Source§

fn execute_command<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, txn: &'life1 mut StandardCommandTransaction, cmd: Command<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Frame>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

impl<'a> From<&'a mut StandardCommandTransaction> for StandardTransaction<'a>

Source§

fn from(txn: &'a mut StandardCommandTransaction) -> Self

Converts to this type from the input type.
Source§

impl MaterializedCatalogTransaction for StandardCommandTransaction

Source§

impl MultiVersionCommandTransaction for StandardCommandTransaction

Source§

fn set<'life0, 'life1, 'async_trait>( &'life0 mut self, key: &'life1 EncodedKey, row: EncodedValues, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn remove<'life0, 'life1, 'async_trait>( &'life0 mut self, key: &'life1 EncodedKey, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn commit<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = Result<CommitVersion>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn rollback<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

impl MultiVersionQueryTransaction for StandardCommandTransaction

Source§

fn version(&self) -> CommitVersion

Source§

fn id(&self) -> TransactionId

Source§

fn get<'life0, 'life1, 'async_trait>( &'life0 mut self, key: &'life1 EncodedKey, ) -> Pin<Box<dyn Future<Output = Result<Option<MultiVersionValues>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn contains_key<'life0, 'life1, 'async_trait>( &'life0 mut self, key: &'life1 EncodedKey, ) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn range_batch<'life0, 'async_trait>( &'life0 mut self, range: EncodedKeyRange, batch_size: u64, ) -> Pin<Box<dyn Future<Output = Result<MultiVersionBatch>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn range_rev_batch<'life0, 'async_trait>( &'life0 mut self, range: EncodedKeyRange, batch_size: u64, ) -> Pin<Box<dyn Future<Output = Result<MultiVersionBatch>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn read_as_of_version_exclusive<'life0, 'async_trait>( &'life0 mut self, version: CommitVersion, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn range<'life0, 'async_trait>( &'life0 mut self, range: EncodedKeyRange, ) -> Pin<Box<dyn Future<Output = Result<MultiVersionBatch, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Source§

fn range_rev<'life0, 'async_trait>( &'life0 mut self, range: EncodedKeyRange, ) -> Pin<Box<dyn Future<Output = Result<MultiVersionBatch, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Source§

fn prefix<'life0, 'life1, 'async_trait>( &'life0 mut self, prefix: &'life1 EncodedKey, ) -> Pin<Box<dyn Future<Output = Result<MultiVersionBatch, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

Source§

fn prefix_rev<'life0, 'life1, 'async_trait>( &'life0 mut self, prefix: &'life1 EncodedKey, ) -> Pin<Box<dyn Future<Output = Result<MultiVersionBatch, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

Source§

fn read_as_of_version_inclusive<'life0, 'async_trait>( &'life0 mut self, version: CommitVersion, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Source§

impl QueryTransaction for StandardCommandTransaction

Source§

type SingleVersionQuery<'a> = <TransactionSingle as SingleVersionTransaction>::Query<'a>

Source§

type CdcQuery<'a> = <TransactionCdc as CdcTransaction>::Query<'a>

Source§

fn begin_single_query<'a, 'life0, 'async_trait, I>( &'life0 self, keys: I, ) -> Pin<Box<dyn Future<Output = Result<Self::SingleVersionQuery<'_>>> + Send + 'async_trait>>
where I: IntoIterator<Item = &'a EncodedKey> + Send + 'async_trait, Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait,

Source§

fn begin_cdc_query<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Self::CdcQuery<'_>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

impl TransactionalDictionaryChanges for StandardCommandTransaction

Source§

impl TransactionalFlowChanges for StandardCommandTransaction

Source§

fn find_flow(&self, id: FlowId) -> Option<&FlowDef>

Source§

fn find_flow_by_name( &self, namespace: NamespaceId, name: &str, ) -> Option<&FlowDef>

Source§

fn is_flow_deleted(&self, id: FlowId) -> bool

Source§

fn is_flow_deleted_by_name(&self, namespace: NamespaceId, name: &str) -> bool

Source§

impl TransactionalNamespaceChanges for StandardCommandTransaction

Source§

impl TransactionalRingBufferChanges for StandardCommandTransaction

Source§

impl TransactionalTableChanges for StandardCommandTransaction

Source§

fn find_table(&self, id: TableId) -> Option<&TableDef>

Source§

fn find_table_by_name( &self, namespace: NamespaceId, name: &str, ) -> Option<&TableDef>

Source§

fn is_table_deleted(&self, id: TableId) -> bool

Source§

fn is_table_deleted_by_name(&self, namespace: NamespaceId, name: &str) -> bool

Source§

impl TransactionalViewChanges for StandardCommandTransaction

Source§

fn find_view(&self, id: ViewId) -> Option<&ViewDef>

Source§

fn find_view_by_name( &self, namespace: NamespaceId, name: &str, ) -> Option<&ViewDef>

Source§

fn is_view_deleted(&self, id: ViewId) -> bool

Source§

fn is_view_deleted_by_name(&self, namespace: NamespaceId, name: &str) -> bool

Source§

impl WithEventBus for StandardCommandTransaction

Source§

impl WithInterceptors<StandardCommandTransaction> for StandardCommandTransaction

Source§

fn table_pre_insert_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn TablePreInsertInterceptor<StandardCommandTransaction> + Send + Sync>

Access table pre-insert interceptor chain
Source§

fn table_post_insert_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn TablePostInsertInterceptor<StandardCommandTransaction> + Send + Sync>

Access table post-insert interceptor chain
Source§

fn table_pre_update_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn TablePreUpdateInterceptor<StandardCommandTransaction> + Send + Sync>

Access table pre-update interceptor chain
Source§

fn table_post_update_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn TablePostUpdateInterceptor<StandardCommandTransaction> + Send + Sync>

Access table post-update interceptor chain
Source§

fn table_pre_delete_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn TablePreDeleteInterceptor<StandardCommandTransaction> + Send + Sync>

Access table pre-delete interceptor chain
Source§

fn table_post_delete_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn TablePostDeleteInterceptor<StandardCommandTransaction> + Send + Sync>

Access table post-delete interceptor chain
Source§

fn ringbuffer_pre_insert_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn RingBufferPreInsertInterceptor<StandardCommandTransaction> + Send + Sync>

Access ring buffer pre-insert interceptor chain
Source§

fn ringbuffer_post_insert_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn RingBufferPostInsertInterceptor<StandardCommandTransaction> + Send + Sync>

Access ring buffer post-insert interceptor chain
Source§

fn ringbuffer_pre_update_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn RingBufferPreUpdateInterceptor<StandardCommandTransaction> + Send + Sync>

Access ring buffer pre-update interceptor chain
Source§

fn ringbuffer_post_update_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn RingBufferPostUpdateInterceptor<StandardCommandTransaction> + Send + Sync>

Access ring buffer post-update interceptor chain
Source§

fn ringbuffer_pre_delete_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn RingBufferPreDeleteInterceptor<StandardCommandTransaction> + Send + Sync>

Access ring buffer pre-delete interceptor chain
Source§

fn ringbuffer_post_delete_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn RingBufferPostDeleteInterceptor<StandardCommandTransaction> + Send + Sync>

Access ring buffer post-delete interceptor chain
Source§

fn pre_commit_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn PreCommitInterceptor<StandardCommandTransaction> + Send + Sync>

Access pre-commit interceptor chain
Source§

fn post_commit_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn PostCommitInterceptor<StandardCommandTransaction> + Send + Sync>

Access post-commit interceptor chain
Source§

fn namespace_def_post_create_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn NamespaceDefPostCreateInterceptor<StandardCommandTransaction> + Send + Sync>

Access namespace post-create interceptor chain
Source§

fn namespace_def_pre_update_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn NamespaceDefPreUpdateInterceptor<StandardCommandTransaction> + Send + Sync>

Access namespace pre-update interceptor chain
Source§

fn namespace_def_post_update_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn NamespaceDefPostUpdateInterceptor<StandardCommandTransaction> + Send + Sync>

Access namespace post-update interceptor chain
Source§

fn namespace_def_pre_delete_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn NamespaceDefPreDeleteInterceptor<StandardCommandTransaction> + Send + Sync>

Access namespace pre-delete interceptor chain
Source§

fn table_def_post_create_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn TableDefPostCreateInterceptor<StandardCommandTransaction> + Send + Sync>

Access table definition post-create interceptor chain
Source§

fn table_def_pre_update_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn TableDefPreUpdateInterceptor<StandardCommandTransaction> + Send + Sync>

Access table definition pre-update interceptor chain
Source§

fn table_def_post_update_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn TableDefPostUpdateInterceptor<StandardCommandTransaction> + Send + Sync>

Access table definition post-update interceptor chain
Source§

fn table_def_pre_delete_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn TableDefPreDeleteInterceptor<StandardCommandTransaction> + Send + Sync>

Access table definition pre-delete interceptor chain
Source§

fn view_def_post_create_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn ViewDefPostCreateInterceptor<StandardCommandTransaction> + Send + Sync>

Access view post-create interceptor chain
Source§

fn view_def_pre_update_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn ViewDefPreUpdateInterceptor<StandardCommandTransaction> + Send + Sync>

Access view pre-update interceptor chain
Source§

fn view_def_post_update_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn ViewDefPostUpdateInterceptor<StandardCommandTransaction> + Send + Sync>

Access view post-update interceptor chain
Source§

fn view_def_pre_delete_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn ViewDefPreDeleteInterceptor<StandardCommandTransaction> + Send + Sync>

Access view pre-delete interceptor chain
Source§

fn ringbuffer_def_post_create_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn RingBufferDefPostCreateInterceptor<StandardCommandTransaction> + Send + Sync>

Access ring buffer definition post-create interceptor chain
Source§

fn ringbuffer_def_pre_update_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn RingBufferDefPreUpdateInterceptor<StandardCommandTransaction> + Send + Sync>

Access ring buffer definition pre-update interceptor chain
Source§

fn ringbuffer_def_post_update_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn RingBufferDefPostUpdateInterceptor<StandardCommandTransaction> + Send + Sync>

Access ring buffer definition post-update interceptor chain
Source§

fn ringbuffer_def_pre_delete_interceptors( &mut self, ) -> &mut Chain<StandardCommandTransaction, dyn RingBufferDefPreDeleteInterceptor<StandardCommandTransaction> + Send + Sync>

Access ring buffer definition pre-delete interceptor chain
Source§

impl Execute<StandardCommandTransaction, StandardQueryTransaction> for Executor

Source§

impl TransactionalChanges for StandardCommandTransaction

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<CT> CatalogDictionaryCommandOperations for CT

Source§

fn create_dictionary<'life0, 'async_trait>( &'life0 mut self, to_create: DictionaryToCreate, ) -> Pin<Box<dyn Future<Output = Result<DictionaryDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, CT: 'async_trait,

Source§

impl<QT> CatalogDictionaryQueryOperations for QT

Source§

fn find_dictionary<'life0, 'async_trait>( &'life0 mut self, id: DictionaryId, ) -> Pin<Box<dyn Future<Output = Result<Option<DictionaryDef>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

fn find_dictionary_by_name<'life0, 'life1, 'async_trait>( &'life0 mut self, namespace: NamespaceId, name: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<DictionaryDef>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, QT: 'async_trait,

Source§

fn get_dictionary<'life0, 'async_trait>( &'life0 mut self, id: DictionaryId, ) -> Pin<Box<dyn Future<Output = Result<DictionaryDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

fn get_dictionary_by_name<'life0, 'async_trait>( &'life0 mut self, namespace: NamespaceId, name: impl Into<Fragment> + Send + 'async_trait, ) -> Pin<Box<dyn Future<Output = Result<DictionaryDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

impl<QT> CatalogFlowQueryOperations for QT

Source§

fn find_flow<'life0, 'async_trait>( &'life0 mut self, id: FlowId, ) -> Pin<Box<dyn Future<Output = Result<Option<FlowDef>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

fn find_flow_by_name<'life0, 'life1, 'async_trait>( &'life0 mut self, namespace: NamespaceId, name: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<FlowDef>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, QT: 'async_trait,

Source§

fn get_flow<'life0, 'async_trait>( &'life0 mut self, id: FlowId, ) -> Pin<Box<dyn Future<Output = Result<FlowDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

fn get_flow_by_name<'life0, 'async_trait>( &'life0 mut self, namespace: NamespaceId, name: impl Into<Fragment> + Send + 'async_trait, ) -> Pin<Box<dyn Future<Output = Result<FlowDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

impl<CT> CatalogNamespaceCommandOperations for CT

Source§

fn create_namespace<'life0, 'async_trait>( &'life0 mut self, to_create: NamespaceToCreate, ) -> Pin<Box<dyn Future<Output = Result<NamespaceDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, CT: 'async_trait,

Source§

impl<QT> CatalogNamespaceQueryOperations for QT

Source§

fn find_namespace<'life0, 'async_trait>( &'life0 mut self, id: NamespaceId, ) -> Pin<Box<dyn Future<Output = Result<Option<NamespaceDef>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

fn find_namespace_by_name<'life0, 'life1, 'async_trait>( &'life0 mut self, name: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<NamespaceDef>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, QT: 'async_trait,

Source§

fn get_namespace<'life0, 'async_trait>( &'life0 mut self, id: NamespaceId, ) -> Pin<Box<dyn Future<Output = Result<NamespaceDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

fn get_namespace_by_name<'life0, 'async_trait>( &'life0 mut self, name: impl Into<Fragment> + Send + 'async_trait, ) -> Pin<Box<dyn Future<Output = Result<NamespaceDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

impl<CT> CatalogRingBufferCommandOperations for CT

Source§

fn create_ringbuffer<'life0, 'async_trait>( &'life0 mut self, to_create: RingBufferToCreate, ) -> Pin<Box<dyn Future<Output = Result<RingBufferDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, CT: 'async_trait,

Source§

impl<QT> CatalogRingBufferQueryOperations for QT

Source§

fn find_ringbuffer<'life0, 'async_trait>( &'life0 mut self, id: RingBufferId, ) -> Pin<Box<dyn Future<Output = Result<Option<RingBufferDef>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

fn find_ringbuffer_by_name<'life0, 'life1, 'async_trait>( &'life0 mut self, namespace: NamespaceId, name: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<RingBufferDef>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, QT: 'async_trait,

Source§

fn get_ringbuffer<'life0, 'async_trait>( &'life0 mut self, id: RingBufferId, ) -> Pin<Box<dyn Future<Output = Result<RingBufferDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

fn get_ringbuffer_by_name<'life0, 'async_trait>( &'life0 mut self, namespace: NamespaceId, name: impl Into<Fragment> + Send + 'async_trait, ) -> Pin<Box<dyn Future<Output = Result<RingBufferDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

impl<T> CatalogSourceQueryOperations for T

Source§

fn find_source_by_name<'life0, 'life1, 'async_trait>( &'life0 mut self, _namespace: NamespaceId, _source: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<SourceDef>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, T: 'async_trait,

Source§

fn find_source<'life0, 'async_trait>( &'life0 mut self, id: SourceId, ) -> Pin<Box<dyn Future<Output = Result<Option<SourceDef>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, T: 'async_trait,

Source§

fn get_source<'life0, 'async_trait>( &'life0 mut self, id: SourceId, ) -> Pin<Box<dyn Future<Output = Result<SourceDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, T: 'async_trait,

Source§

fn get_source_by_name<'life0, 'life1, 'async_trait>( &'life0 mut self, _namespace: NamespaceId, _name: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<SourceDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, T: 'async_trait,

Source§

impl<CT> CatalogTableCommandOperations for CT

Source§

fn create_table<'life0, 'async_trait>( &'life0 mut self, to_create: TableToCreate, ) -> Pin<Box<dyn Future<Output = Result<TableDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, CT: 'async_trait,

Source§

impl<QT> CatalogTableQueryOperations for QT

Source§

fn find_table<'life0, 'async_trait>( &'life0 mut self, id: TableId, ) -> Pin<Box<dyn Future<Output = Result<Option<TableDef>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

fn find_table_by_name<'life0, 'life1, 'async_trait>( &'life0 mut self, namespace: NamespaceId, name: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<TableDef>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, QT: 'async_trait,

Source§

fn get_table<'life0, 'async_trait>( &'life0 mut self, id: TableId, ) -> Pin<Box<dyn Future<Output = Result<TableDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

fn get_table_by_name<'life0, 'async_trait>( &'life0 mut self, namespace: NamespaceId, name: impl Into<Fragment> + Send + 'async_trait, ) -> Pin<Box<dyn Future<Output = Result<TableDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

impl<T> CatalogTableVirtualUserQueryOperations for T

Source§

fn find_table_virtual_user_by_name( &self, namespace: NamespaceId, name: &str, ) -> Option<Arc<TableVirtualDef>>

Find a user-defined virtual table by namespace and name.
Source§

impl<CT> CatalogViewCommandOperations for CT

Source§

fn create_view<'life0, 'async_trait>( &'life0 mut self, to_create: ViewToCreate, ) -> Pin<Box<dyn Future<Output = Result<ViewDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, CT: 'async_trait,

Source§

impl<QT> CatalogViewQueryOperations for QT

Source§

fn find_view<'life0, 'async_trait>( &'life0 mut self, id: ViewId, ) -> Pin<Box<dyn Future<Output = Result<Option<ViewDef>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

fn find_view_by_name<'life0, 'life1, 'async_trait>( &'life0 mut self, namespace: NamespaceId, name: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<ViewDef>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, QT: 'async_trait,

Source§

fn get_view<'life0, 'async_trait>( &'life0 mut self, id: ViewId, ) -> Pin<Box<dyn Future<Output = Result<ViewDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

fn get_view_by_name<'life0, 'async_trait>( &'life0 mut self, namespace: NamespaceId, name: impl Into<Fragment> + Send + 'async_trait, ) -> Pin<Box<dyn Future<Output = Result<ViewDef, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, QT: 'async_trait,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<CT> NamespaceDefInterceptor<CT> for CT

Source§

fn post_create<'life0, 'life1, 'async_trait>( &'life0 mut self, post: &'life1 NamespaceDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, CT: 'async_trait,

Intercept namespace post-create operations
Source§

fn pre_update<'life0, 'life1, 'async_trait>( &'life0 mut self, pre: &'life1 NamespaceDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, CT: 'async_trait,

Intercept namespace pre-update operations
Source§

fn post_update<'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, pre: &'life1 NamespaceDef, post: &'life2 NamespaceDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, CT: 'async_trait,

Intercept namespace post-update operations
Source§

fn pre_delete<'life0, 'life1, 'async_trait>( &'life0 mut self, pre: &'life1 NamespaceDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, CT: 'async_trait,

Intercept namespace pre-delete operations
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<CT> RingBufferDefInterceptor<CT> for CT

Source§

fn post_create<'life0, 'life1, 'async_trait>( &'life0 mut self, post: &'life1 RingBufferDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, CT: 'async_trait,

Intercept ring buffer definition post-create operations
Source§

fn pre_update<'life0, 'life1, 'async_trait>( &'life0 mut self, pre: &'life1 RingBufferDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, CT: 'async_trait,

Intercept ring buffer definition pre-update operations
Source§

fn post_update<'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, pre: &'life1 RingBufferDef, post: &'life2 RingBufferDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, CT: 'async_trait,

Intercept ring buffer definition post-update operations
Source§

fn pre_delete<'life0, 'life1, 'async_trait>( &'life0 mut self, pre: &'life1 RingBufferDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, CT: 'async_trait,

Intercept ring buffer definition pre-delete operations
Source§

impl<CT> RingBufferInterceptor<CT> for CT

Source§

fn pre_insert<'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, ringbuffer: &'life1 RingBufferDef, row: &'life2 EncodedValues, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, CT: 'async_trait,

Intercept ring buffer pre-insert operations
Source§

fn post_insert<'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, ringbuffer: &'life1 RingBufferDef, id: RowNumber, row: &'life2 EncodedValues, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, CT: 'async_trait,

Intercept ring buffer post-insert operations
Source§

fn pre_update<'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, ringbuffer: &'life1 RingBufferDef, id: RowNumber, row: &'life2 EncodedValues, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, CT: 'async_trait,

Intercept ring buffer pre-update operations
Source§

fn post_update<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, ringbuffer: &'life1 RingBufferDef, id: RowNumber, row: &'life2 EncodedValues, old_row: &'life3 EncodedValues, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, CT: 'async_trait,

Intercept ring buffer post-update operations
Source§

fn pre_delete<'life0, 'life1, 'async_trait>( &'life0 mut self, ringbuffer: &'life1 RingBufferDef, id: RowNumber, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, CT: 'async_trait,

Intercept ring buffer pre-delete operations
Source§

fn post_delete<'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, ringbuffer: &'life1 RingBufferDef, id: RowNumber, deleted_row: &'life2 EncodedValues, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, CT: 'async_trait,

Intercept ring buffer post-delete operations
Source§

impl<CT> TableDefInterceptor<CT> for CT

Source§

fn post_create<'life0, 'life1, 'async_trait>( &'life0 mut self, post: &'life1 TableDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, CT: 'async_trait,

Intercept table definition post-create operations
Source§

fn pre_update<'life0, 'life1, 'async_trait>( &'life0 mut self, pre: &'life1 TableDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, CT: 'async_trait,

Intercept table definition pre-update operations
Source§

fn post_update<'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, pre: &'life1 TableDef, post: &'life2 TableDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, CT: 'async_trait,

Intercept table definition post-update operations
Source§

fn pre_delete<'life0, 'life1, 'async_trait>( &'life0 mut self, pre: &'life1 TableDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, CT: 'async_trait,

Intercept table definition pre-delete operations
Source§

impl<CT> TableInterceptor<CT> for CT

Source§

fn pre_insert<'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, table: &'life1 TableDef, rn: RowNumber, row: &'life2 EncodedValues, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, CT: 'async_trait,

Intercept table pre-insert operations
Source§

fn post_insert<'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, table: &'life1 TableDef, id: RowNumber, row: &'life2 EncodedValues, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, CT: 'async_trait,

Intercept table post-insert operations
Source§

fn pre_update<'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, table: &'life1 TableDef, id: RowNumber, row: &'life2 EncodedValues, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, CT: 'async_trait,

Intercept table pre-update operations
Source§

fn post_update<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, table: &'life1 TableDef, id: RowNumber, row: &'life2 EncodedValues, old_row: &'life3 EncodedValues, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, CT: 'async_trait,

Intercept table post-update operations
Source§

fn pre_delete<'life0, 'life1, 'async_trait>( &'life0 mut self, table: &'life1 TableDef, id: RowNumber, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, CT: 'async_trait,

Intercept table pre-delete operations
Source§

fn post_delete<'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, table: &'life1 TableDef, id: RowNumber, deleted_row: &'life2 EncodedValues, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, CT: 'async_trait,

Intercept table post-delete operations
Source§

impl<CT> TransactionInterceptor<CT> for CT

Source§

fn pre_commit<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, CT: 'async_trait,

Intercept pre-commit operations
Source§

fn post_commit<'life0, 'async_trait>( &'life0 mut self, id: TransactionId, version: CommitVersion, changes: TransactionalDefChanges, row_changes: Vec<RowChange>, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, CT: 'async_trait,

Intercept post-commit operations
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<CT> ViewDefInterceptor<CT> for CT

Source§

fn post_create<'life0, 'life1, 'async_trait>( &'life0 mut self, post: &'life1 ViewDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, CT: 'async_trait,

Intercept view post-create operations
Source§

fn pre_update<'life0, 'life1, 'async_trait>( &'life0 mut self, pre: &'life1 ViewDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, CT: 'async_trait,

Intercept view pre-update operations
Source§

fn post_update<'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, pre: &'life1 ViewDef, post: &'life2 ViewDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, CT: 'async_trait,

Intercept view post-update operations
Source§

fn pre_delete<'life0, 'life1, 'async_trait>( &'life0 mut self, pre: &'life1 ViewDef, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, CT: 'async_trait,

Intercept view pre-delete operations
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<QT> CatalogQueryTransaction for QT