Skip to content

Commit 7ed58b5

Browse files
committed
fix(server/mysql): await individual inventory saves
Following up on a recommendation from last year which was never added. After mismatching netid checks were added to save, remove, and reload an inventory it could lead to race conditions on servers with higher loads. Likely related to #1963
1 parent d534592 commit 7ed58b5

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

modules/mysql/server.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,27 +128,27 @@ function db.loadPlayer(identifier)
128128
end
129129

130130
function db.savePlayer(owner, inventory)
131-
return MySQL.prepare(Query.UPDATE_PLAYER, { inventory, owner })
131+
return MySQL.prepare.await(Query.UPDATE_PLAYER, { inventory, owner })
132132
end
133133

134134
function db.saveStash(owner, dbId, inventory)
135-
return MySQL.prepare(Query.UPSERT_STASH, { inventory, owner and tostring(owner) or '', dbId })
135+
return MySQL.prepare.await(Query.UPSERT_STASH, { inventory, owner and tostring(owner) or '', dbId })
136136
end
137137

138138
function db.loadStash(owner, name)
139139
return MySQL.prepare.await(Query.SELECT_STASH, { owner and tostring(owner) or '', name })
140140
end
141141

142142
function db.saveGlovebox(id, inventory)
143-
return MySQL.prepare(Query.UPDATE_GLOVEBOX, { inventory, id })
143+
return MySQL.prepare.await(Query.UPDATE_GLOVEBOX, { inventory, id })
144144
end
145145

146146
function db.loadGlovebox(id)
147147
return MySQL.prepare.await(Query.SELECT_GLOVEBOX, { id })
148148
end
149149

150150
function db.saveTrunk(id, inventory)
151-
return MySQL.prepare(Query.UPDATE_TRUNK, { inventory, id })
151+
return MySQL.prepare.await(Query.UPDATE_TRUNK, { inventory, id })
152152
end
153153

154154
function db.loadTrunk(id)

0 commit comments

Comments
 (0)