INNER CODE UNIT · Rust

client_account_tx

zly2006/zhihu-plus-plus · aigc-vote-server/src/lib.rs:1029

async fn client_account_tx(
    tx: &mut Transaction<'_, Postgres>,
    client_id: &str,
    lock: bool,
) -> Result<ClientAccount, ServiceError> {
    let sql = if lock {
        "SELECT credit, progress FROM clients WHERE id = $1 FOR UPDATE"
    } else {
        "SELECT credit, progress FROM clients WHERE id = $1"
    };
    let row = sqlx::query(sql)
        .bind(client_id)
        .fetch_one(&mut **tx)
        .await?;
    Ok(ClientAccount {
        credit: row.try_get("credit")?,
        progress: row.try_get("progress")?,
    })

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…