pub struct SqlxTx { /* private fields */ }Expand description
A transaction on a pooled connection, which goes back to the pool when this is committed or dropped.
sqlx cannot pipeline, so Tx::queued statements run one after another
ahead of the next statement – the round trips they always took. On a pool
next to the database each is a fraction of a millisecond.
Trait Implementations§
Source§impl Tx for SqlxTx
impl Tx for SqlxTx
Source§async fn execute(
&mut self,
sql: &str,
params: &[SqlParam],
) -> Result<u64, DbError>
async fn execute( &mut self, sql: &str, params: &[SqlParam], ) -> Result<u64, DbError>
Run a statement for its effect. Returns the rows it affected.
Source§async fn fetch_json(
&mut self,
sql: &str,
params: &[SqlParam],
) -> Result<Vec<Value>, DbError>
async fn fetch_json( &mut self, sql: &str, params: &[SqlParam], ) -> Result<Vec<Value>, DbError>
Every row as a JSON object keyed by column name, each column decoded by
its PostgreSQL type – see
row_json::row_to_json for the rules, which
every driver has to follow exactly.Source§async fn fetch_values(
&mut self,
sql: &str,
params: &[SqlParam],
) -> Result<Vec<Vec<Value>>, DbError>
async fn fetch_values( &mut self, sql: &str, params: &[SqlParam], ) -> Result<Vec<Vec<Value>>, DbError>
Every row as its columns in order, decoded by the same rules as
Tx::fetch_json. For statements whose columns are read by position: a
count, a plan, a pair of JSON values.Source§async fn fetch_raw(
&mut self,
sql: &str,
params: &[SqlParam],
count_column: &str,
) -> Result<RawRows, DbError>
async fn fetch_raw( &mut self, sql: &str, params: &[SqlParam], count_column: &str, ) -> Result<RawRows, DbError>
The result of a statement whose first column is a body to send as it
is: a media type the schema renders itself. See
RawRows.Source§fn queue(&mut self, sql: &str, params: &[SqlParam])
fn queue(&mut self, sql: &str, params: &[SqlParam])
Run a statement for its effect, but not yet: it is sent with the next
statement, ahead of it, and a failure is reported as that statement’s. Read more
Source§async fn fetch_json_then(
&mut self,
sql: &str,
params: &[SqlParam],
then: &str,
) -> FetchedThen
async fn fetch_json_then( &mut self, sql: &str, params: &[SqlParam], then: &str, ) -> FetchedThen
Tx::fetch_json, and then then – a statement with no parameters,
whose columns are read by position, as by Tx::fetch_values. Read moreSource§async fn fetch_json_and_commit(
self,
sql: &str,
params: &[SqlParam],
) -> Result<Vec<Value>, DbError>
async fn fetch_json_and_commit( self, sql: &str, params: &[SqlParam], ) -> Result<Vec<Value>, DbError>
Source§fn fetch_json_then_and_commit(
self,
sql: &str,
params: &[SqlParam],
then: &str,
) -> impl Future<Output = FetchedThen> + MaybeSendwhere
Self: Sized,
fn fetch_json_then_and_commit(
self,
sql: &str,
params: &[SqlParam],
then: &str,
) -> impl Future<Output = FetchedThen> + MaybeSendwhere
Self: Sized,
Auto Trait Implementations§
impl !RefUnwindSafe for SqlxTx
impl !UnwindSafe for SqlxTx
impl Freeze for SqlxTx
impl Send for SqlxTx
impl Sync for SqlxTx
impl Unpin for SqlxTx
impl UnsafeUnpin for SqlxTx
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 more