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 = "
SELECT data, id
FROM games
WHERE finished = false;
WHERE finished = false
FOR UPDATE;
";
let result = tx
.query(query, &[])?;

View File

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

View File

@ -346,14 +346,14 @@ fn get_combos() -> Vec<Combo> {
let mut combinations = vec![
Combo { units: vec![Var::Buff, Var::Red, Var::Red], var: Var::Empower },
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::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::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::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::Green, Var::Blue], var: Var::Siphon },
Combo { units: vec![Var::Debuff, Var::Red, Var::Blue], var: Var::Invert },