lock rows when performing warden actions

This commit is contained in:
ntr 2019-05-01 18:40:31 +10:00
parent d2c1db7be7
commit 6436fd260c
3 changed files with 7 additions and 5 deletions

View File

@ -653,7 +653,8 @@ pub fn games_need_upkeep(tx: &mut Transaction) -> Result<Vec<Game>, Error> {
let query = " let query = "
SELECT data, id SELECT data, id
FROM games FROM games
WHERE finished = false; WHERE finished = false
FOR UPDATE;
"; ";
let result = tx let result = tx
.query(query, &[])?; .query(query, &[])?;

View File

@ -582,7 +582,8 @@ pub fn instances_need_upkeep(tx: &mut Transaction) -> Result<Vec<Instance>, Erro
let query = " let query = "
SELECT data, id SELECT data, id
FROM instances FROM instances
WHERE id != '00000000-0000-0000-0000-000000000000'; WHERE id != '00000000-0000-0000-0000-000000000000'
FOR UPDATE;
"; ";
let result = tx let result = tx

View File

@ -348,12 +348,12 @@ fn get_combos() -> Vec<Combo> {
Combo { units: vec![Var::Buff, Var::Green, Var::Green], var: Var::Triage }, Combo { units: vec![Var::Buff, Var::Green, Var::Green], var: Var::Triage },
Combo { units: vec![Var::Buff, Var::Blue, Var::Blue], var: Var::Amplify }, Combo { units: vec![Var::Buff, Var::Blue, Var::Blue], var: Var::Amplify },
Combo { units: vec![Var::Buff, Var::Red, Var::Green], var: Var::Clutch }, Combo { units: vec![Var::Buff, Var::Red, Var::Green], var: Var::Clutch },
Combo { units: vec![Var::Buff, Var::Green, Var::Blue], var: Var::Hostility }, Combo { units: vec![Var::Buff, Var::Green, Var::Blue], var: Var::Curse },
Combo { units: vec![Var::Buff, Var::Red, Var::Blue], var: Var::Haste }, Combo { units: vec![Var::Buff, Var::Red, Var::Blue], var: Var::Haste },
Combo { units: vec![Var::Debuff, Var::Red, Var::Red], var: Var::Snare }, Combo { units: vec![Var::Debuff, Var::Red, Var::Red], var: Var::Snare },
Combo { units: vec![Var::Debuff, Var::Green, Var::Green], var: Var::Purge }, Combo { units: vec![Var::Debuff, Var::Green, Var::Green], var: Var::Purge },
Combo { units: vec![Var::Debuff, Var::Blue, Var::Blue], var: Var::Curse }, Combo { units: vec![Var::Debuff, Var::Blue, Var::Blue], var: Var::Silence },
Combo { units: vec![Var::Debuff, Var::Red, Var::Green], var: Var::Slow }, Combo { units: vec![Var::Debuff, Var::Red, Var::Green], var: Var::Slow },
Combo { units: vec![Var::Debuff, Var::Green, Var::Blue], var: Var::Siphon }, Combo { units: vec![Var::Debuff, Var::Green, Var::Blue], var: Var::Siphon },
Combo { units: vec![Var::Debuff, Var::Red, Var::Blue], var: Var::Invert }, Combo { units: vec![Var::Debuff, Var::Red, Var::Blue], var: Var::Invert },