Refactor SQL execution in BaseWorker: Updated the money update logic to register and execute prepared statements by name, enhancing clarity and consistency with existing code. Improved comments for better understanding of numeric type handling in SQL queries.
This commit is contained in:
@@ -129,8 +129,8 @@ impl BaseWorker {
|
||||
|
||||
// Hinweis: In der bestehenden Datenbank ist `falukant_data.update_money` typischerweise
|
||||
// so definiert, dass der Geldbetrag als NUMERIC erwartet wird. Wir casten den
|
||||
// zweiten Parameter in SQL nach `numeric`, damit der Aufruf auch mit einem
|
||||
// f64-Wert funktioniert.
|
||||
// zweiten Parameter in SQL explizit nach `numeric`, damit der Aufruf auch mit
|
||||
// einem f64-Wert funktioniert.
|
||||
const QUERY_UPDATE_MONEY: &str = r#"
|
||||
SELECT falukant_data.update_money(
|
||||
$1::int4,
|
||||
@@ -153,12 +153,10 @@ impl BaseWorker {
|
||||
.get()
|
||||
.map_err(|e| DbError::new(format!("DB-Verbindung fehlgeschlagen: {e}")))?;
|
||||
|
||||
// Direkter Aufruf ohne benannte Prepared-Statement-Caches, um
|
||||
// Signaturkonflikte bei Schemaänderungen zu vermeiden.
|
||||
conn.execute(
|
||||
QUERY_UPDATE_MONEY,
|
||||
&[&falukant_user_id, &money_change, &action],
|
||||
)?;
|
||||
// Statement einmalig registrieren und anschließend über den Namen
|
||||
// ausführen – analog zum restlichen Code.
|
||||
conn.prepare("update_money", QUERY_UPDATE_MONEY)?;
|
||||
conn.execute("update_money", &[&falukant_user_id, &money_change, &action])?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user