mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
* Add BSQL library v1.1.1.0 * Modify dbcore to use BSQL * Add missing QDEL_NULL for connectOperation * Moves BSQL_Shutdown() call to dbcore shutdown * Fix passing the wrong argument to DBQuery/New() * Darn it @Jordie0608. Fixes db calls without Connect check No seriously please make sure I'm not breaking anything * Queries with a null connection won't runtime * Fix quoting * Fix mistake * Update BSQL to v1.1.2.0 * Update BSQL DMAPI to v1.0.1.0 * Fix connection instatiation * Does the smart thing in regards to quoting * Fix braces * Update BSQL to 1.2.0.0. DMAPI to 1.1.0.0 * Execute/NextRow/MassInsert now have async parameter * Build BSQL for tests * Add missing apt source * Def still need gcc-multilib * Wut * Revert "Wut" This reverts commit d7c98a9a6b27f6db03e9f5cc534650d59d018048. * Try this then * Could it really be that simple? * Literally running out of ideas here * Update BSQL to v1.2.1.0 DMAPI to v1.1.1.0 * Update BSQL travis version * Nothing about this makes sense tbqhwyfam * Whoo boy * No idea why this isn't working tbh * Absolute madness * Ahhhhhhhhhhhhh * *deep breath* * "though yet again i was frustrated by failure" * Add BSQL to Dockerfile * Pass through MassInsert async param * BSQL to v1.3.0.0 DMAPI to 1.2.0.0 * Add timeout support * Wait, something's fucky * Wtf is this meme? * Just get good lmao * Just stop being shit lol * Stupid verbose logging * Remove verbosity * Good god * BSQL to v1.3.0.1 DMAPI to v1.2.0.1 * BSQL to v1.3.0.2 * Update BSQL travis version * Update BSQL docker version * Didn't mean to change that * Strip connection information from debug logs and make it configgable * Move this to where CONFIG_GET is defined
36 lines
867 B
Plaintext
36 lines
867 B
Plaintext
/datum/BSQL_Operation/Query
|
|
var/last_result_json
|
|
var/list/last_result
|
|
|
|
BSQL_PROTECT_DATUM(/datum/BSQL_Operation/Query)
|
|
|
|
/datum/BSQL_Operation/Query/CurrentRow()
|
|
return last_result
|
|
|
|
/datum/BSQL_Operation/Query/IsComplete()
|
|
//whole different ballgame here
|
|
if(BSQL_IS_DELETED(connection))
|
|
return TRUE
|
|
var/result = world._BSQL_Internal_Call("ReadyRow", connection.id, id)
|
|
switch(result)
|
|
if("DONE")
|
|
//load the data
|
|
LoadQueryResult()
|
|
return TRUE
|
|
if("NOTDONE")
|
|
return FALSE
|
|
else
|
|
BSQL_ERROR(result)
|
|
|
|
/datum/BSQL_Operation/Query/WaitForCompletion()
|
|
. = ..()
|
|
if(.)
|
|
LoadQueryResult()
|
|
|
|
/datum/BSQL_Operation/Query/proc/LoadQueryResult()
|
|
last_result_json = world._BSQL_Internal_Call("GetRow", connection.id, id)
|
|
if(last_result_json)
|
|
last_result = json_decode(last_result_json)
|
|
else
|
|
last_result = null
|