Files
Bubberstation/code/__DEFINES/database.dm
SkyratBot e2519525f9 [MIRROR] Refactors dbcore and limits the maximum amount of concurrent async queries to a variable amount (#6436)
* Refactors dbcore and limits the maximum amount of concurrent async queries to a variable amount (#59676)

Refactors dbcore to work off a subsystem if executed async and limits the maximum amount of concurrent async queries to 25.

This has been tested locally on a mysql docker image and there were no crashes (as long as you didn't run it with debug extools) + data was getting recorded fine.
Why It's Good For The Game

May or may not resolve terry crashes, however, each query creates a new thread which takes up 2mb, preventing the game from using that 2mb. This can lead to ooms if they stack up, e.g. due to poor connectivity. This solves that issue.

maintainer note: this did not actually resolve the crashes, but has value anyway. Crashes were sidestepped fixed by finding out Large Address Awareness works

cl
refactor: Refactors dbcore.dm to possibly resolve the crashes that happen on Terry.
/cl

* Refactors dbcore and limits the maximum amount of concurrent async queries to a variable amount

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-22 00:49:20 +01:00

7 lines
248 B
Plaintext

/// When a query has been queued up for execution/is being executed
#define DB_QUERY_STARTED 0
/// When a query is finished executing
#define DB_QUERY_FINISHED 1
/// When there was a problem with the execution of a query.
#define DB_QUERY_BROKEN 2