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> !Freeze for YdbTransaction<'a, C>
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
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 moresource§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