Struct ydb_unofficial::client::YdbTransaction
source · pub struct YdbTransaction<'a, C: Credentials> { /* private fields */ }Expand description
TableServiceClient with active session and transaction
Implementations§
source§impl<'a, C: Credentials> YdbTransaction<'a, C>
impl<'a, C: Credentials> YdbTransaction<'a, C>
Transactions implementation for ydb.
§Examples
let mut conn = ydb_unofficial::YdbConnection::from_env();
let mut transaction = ydb_unofficial::YdbTransaction::create(conn.table().await.unwrap()).await.unwrap();
use ydb_unofficial::generated::ydb::table::query::Query;
let req = ydb_unofficial::generated::ydb::table::ExecuteDataQueryRequest{
query: Some(ydb_unofficial::generated::ydb::table::Query{
query: Some(Query::YqlText("SELECT 1+1 as sum, 2*2 as mul".into()))
}),
..Default::default()
};
let result = transaction.execute_data_query(req).await.unwrap();
transaction.commit().await;sourcepub async fn create(
client: TableClientWithSession<'a, C>
) -> Result<YdbTransaction<'a, C>, YdbError>
pub async fn create( client: TableClientWithSession<'a, C> ) -> Result<YdbTransaction<'a, C>, YdbError>
Method that just creates ReadWrite transaction
sourcepub async fn commit(
self
) -> (TableClientWithSession<'a, C>, Result<CommitTransactionResult, YdbError>)
pub async fn commit( self ) -> (TableClientWithSession<'a, C>, Result<CommitTransactionResult, YdbError>)
Commit transaction, drop transaction with commit
pub async fn rollback( self ) -> (TableClientWithSession<'a, C>, Result<(), YdbError>)
sourcepub async fn execute_data_query(
&mut self,
req: ExecuteDataQueryRequest
) -> Result<Response<ExecuteDataQueryResponse>, YdbError>
pub async fn execute_data_query( &mut self, req: ExecuteDataQueryRequest ) -> Result<Response<ExecuteDataQueryResponse>, YdbError>
you can execute multiple query requests in transaction transaction data will inject for each request
Trait Implementations§
Auto Trait Implementations§
impl<'a, C> !RefUnwindSafe for YdbTransaction<'a, C>
impl<'a, C> Send for YdbTransaction<'a, C>
impl<'a, C> Sync for YdbTransaction<'a, C>where
C: Sync,
impl<'a, C> Unpin for YdbTransaction<'a, C>
impl<'a, C> !UnwindSafe for YdbTransaction<'a, C>
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request