Function tx_fetch_all

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

Retrieves multiple records 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<'_>, Vec<T>), Error> - On success, returns the transaction and a vector of records

§Example

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

let query = GetActiveUsers {
    id: 0,
    name: Default::default(),
    email: Default::default(),
    state: 1, // active users
};

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