pub struct StandardQueryTransaction { /* private fields */ }Expand description
An active query transaction that holds a multi query transaction and provides query-only access to single storage.
Implementations§
Source§impl StandardQueryTransaction
impl StandardQueryTransaction
Sourcepub fn new(
multi: <TransactionMultiVersion as MultiVersionTransaction>::Query,
single: TransactionSingle,
cdc: TransactionCdc,
catalog: MaterializedCatalog,
) -> Self
pub fn new( multi: <TransactionMultiVersion as MultiVersionTransaction>::Query, single: TransactionSingle, cdc: TransactionCdc, catalog: MaterializedCatalog, ) -> Self
Creates a new active query transaction
Sourcepub 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,
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.
Sourcepub fn with_multi_query<F, R>(&mut self, f: F) -> Result<R>
pub fn with_multi_query<F, R>(&mut self, f: F) -> Result<R>
Execute a function with access to the multi query transaction. This operates within the same transaction context.
Sourcepub fn cdc(&self) -> &TransactionCdc
pub fn cdc(&self) -> &TransactionCdc
Get access to the CDC transaction interface
Trait Implementations§
Source§impl ExecuteQuery<StandardQueryTransaction> for Executor
impl ExecuteQuery<StandardQueryTransaction> for Executor
fn execute_query<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
txn: &'life1 mut StandardQueryTransaction,
qry: Query<'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 ExecuteQuery<StandardQueryTransaction> for StandardEngine
impl ExecuteQuery<StandardQueryTransaction> for StandardEngine
fn execute_query<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
txn: &'life1 mut StandardQueryTransaction,
qry: Query<'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 StandardQueryTransaction> for StandardTransaction<'a>
impl<'a> From<&'a mut StandardQueryTransaction> for StandardTransaction<'a>
Source§fn from(txn: &'a mut StandardQueryTransaction) -> Self
fn from(txn: &'a mut StandardQueryTransaction) -> Self
Converts to this type from the input type.
Source§impl MaterializedCatalogTransaction for StandardQueryTransaction
impl MaterializedCatalogTransaction for StandardQueryTransaction
fn catalog(&self) -> &MaterializedCatalog
Source§impl MultiVersionQueryTransaction for StandardQueryTransaction
impl MultiVersionQueryTransaction for StandardQueryTransaction
fn version(&self) -> CommitVersion
fn id(&self) -> TransactionId
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,
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,
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,
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,
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,
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,
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,
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,
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,
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 StandardQueryTransaction
impl QueryTransaction for StandardQueryTransaction
type SingleVersionQuery<'a> = <TransactionSingle as SingleVersionTransaction>::Query<'a>
type CdcQuery<'a> = <TransactionCdc as CdcTransaction>::Query<'a> where Self: 'a
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,
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 StandardQueryTransaction
impl TransactionalDictionaryChanges for StandardQueryTransaction
fn find_dictionary(&self, _id: DictionaryId) -> Option<&DictionaryDef>
fn find_dictionary_by_name( &self, _namespace: NamespaceId, _name: &str, ) -> Option<&DictionaryDef>
fn is_dictionary_deleted(&self, _id: DictionaryId) -> bool
fn is_dictionary_deleted_by_name( &self, _namespace: NamespaceId, _name: &str, ) -> bool
Source§impl TransactionalFlowChanges for StandardQueryTransaction
impl TransactionalFlowChanges for StandardQueryTransaction
fn find_flow(&self, _id: FlowId) -> Option<&FlowDef>
fn find_flow_by_name( &self, _namespace: NamespaceId, _name: &str, ) -> Option<&FlowDef>
fn is_flow_deleted(&self, _id: FlowId) -> bool
fn is_flow_deleted_by_name(&self, _namespace: NamespaceId, _name: &str) -> bool
Source§impl TransactionalNamespaceChanges for StandardQueryTransaction
impl TransactionalNamespaceChanges for StandardQueryTransaction
fn find_namespace(&self, _id: NamespaceId) -> Option<&NamespaceDef>
fn find_namespace_by_name(&self, _name: &str) -> Option<&NamespaceDef>
fn is_namespace_deleted(&self, _id: NamespaceId) -> bool
fn is_namespace_deleted_by_name(&self, _name: &str) -> bool
Source§impl TransactionalRingBufferChanges for StandardQueryTransaction
impl TransactionalRingBufferChanges for StandardQueryTransaction
fn find_ringbuffer(&self, _id: RingBufferId) -> Option<&RingBufferDef>
fn find_ringbuffer_by_name( &self, _namespace: NamespaceId, _name: &str, ) -> Option<&RingBufferDef>
fn is_ringbuffer_deleted(&self, _id: RingBufferId) -> bool
fn is_ringbuffer_deleted_by_name( &self, _namespace: NamespaceId, _name: &str, ) -> bool
Source§impl TransactionalTableChanges for StandardQueryTransaction
impl TransactionalTableChanges for StandardQueryTransaction
fn find_table(&self, _id: TableId) -> Option<&TableDef>
fn find_table_by_name( &self, _namespace: NamespaceId, _name: &str, ) -> Option<&TableDef>
fn is_table_deleted(&self, _id: TableId) -> bool
fn is_table_deleted_by_name(&self, _namespace: NamespaceId, _name: &str) -> bool
Source§impl TransactionalViewChanges for StandardQueryTransaction
impl TransactionalViewChanges for StandardQueryTransaction
fn find_view(&self, _id: ViewId) -> Option<&ViewDef>
fn find_view_by_name( &self, _namespace: NamespaceId, _name: &str, ) -> Option<&ViewDef>
fn is_view_deleted(&self, _id: ViewId) -> bool
fn is_view_deleted_by_name(&self, _namespace: NamespaceId, _name: &str) -> bool
impl Execute<StandardCommandTransaction, StandardQueryTransaction> for Executor
impl TransactionalChanges for StandardQueryTransaction
Auto Trait Implementations§
impl Freeze for StandardQueryTransaction
impl !RefUnwindSafe for StandardQueryTransaction
impl Send for StandardQueryTransaction
impl Sync for StandardQueryTransaction
impl Unpin for StandardQueryTransaction
impl !UnwindSafe for StandardQueryTransaction
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<QT> CatalogDictionaryQueryOperations for QTwhere
QT: QueryTransaction + MaterializedCatalogTransaction + TransactionalChanges + Send + 'static,
impl<QT> CatalogDictionaryQueryOperations for QTwhere
QT: QueryTransaction + MaterializedCatalogTransaction + TransactionalChanges + Send + 'static,
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,
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,
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,
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
impl<QT> CatalogFlowQueryOperations for QT
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,
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,
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,
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<QT> CatalogNamespaceQueryOperations for QTwhere
QT: QueryTransaction + MaterializedCatalogTransaction + TransactionalChanges + Send + 'static,
impl<QT> CatalogNamespaceQueryOperations for QTwhere
QT: QueryTransaction + MaterializedCatalogTransaction + TransactionalChanges + Send + 'static,
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,
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,
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,
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<QT> CatalogRingBufferQueryOperations for QT
impl<QT> CatalogRingBufferQueryOperations for QT
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,
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,
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,
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
impl<T> CatalogSourceQueryOperations for T
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,
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,
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,
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<QT> CatalogTableQueryOperations for QTwhere
QT: QueryTransaction + MaterializedCatalogTransaction + TransactionalChanges + Send + 'static,
impl<QT> CatalogTableQueryOperations for QTwhere
QT: QueryTransaction + MaterializedCatalogTransaction + TransactionalChanges + Send + 'static,
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,
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,
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,
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 Twhere
T: MaterializedCatalogTransaction,
impl<T> CatalogTableVirtualUserQueryOperations for Twhere
T: MaterializedCatalogTransaction,
Source§fn find_table_virtual_user_by_name(
&self,
namespace: NamespaceId,
name: &str,
) -> Option<Arc<TableVirtualDef>>
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.