Function tx_fetch

Source
pub async fn tx_fetch<T>(
    transaction: Transaction<'_>,
    params: T,
) -> Result<(Transaction<'_>, T), Error>
where T: SqlQuery + FromRow + SqlParams + Send + Sync + 'static,
Expand description

Retrieves a single record within a transaction.

§Arguments

  • transaction - An active transaction
  • params - Data object containing query parameters (must implement SqlQuery, FromRow, and SqlParams traits)

§Return Value

  • Result<(Transaction<'_>, T), Error> - On success, returns the transaction and the record

§Example

#[derive(Queryable, FromRow, SqlParams, Debug)]
#[table("users")]
#[where_clause("id = $")]
struct GetUser {
    id: i64,
    name: String,
    email: String,
}

let query = GetUser {
    id: 1,
    name: Default::default(),
    email: Default::default(),
};

let transaction = transactional::begin(&client).await?;
let (transaction, user) = transactional::tx_fetch(transaction, query).await?;
transaction.commit().await?;