{"action":"created","issue":{"url":"https://api.github.com/repos/tgstation/tgstation/issues/38323","repository_url":"https://api.github.com/repos/tgstation/tgstation","labels_url":"https://api.github.com/repos/tgstation/tgstation/issues/38323/labels{/name}","comments_url":"https://api.github.com/repos/tgstation/tgstation/issues/38323/comments","events_url":"https://api.github.com/repos/tgstation/tgstation/issues/38323/events","html_url":"https://github.com/tgstation/tgstation/pull/38323","id":330027869,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkzMTM2ODcz","number":38323,"title":"Adds asynchronous SQL queries","user":{"login":"Cyberboss","id":8171642,"node_id":"MDQ6VXNlcjgxNzE2NDI=","avatar_url":"https://avatars3.githubusercontent.com/u/8171642?v=4","gravatar_id":"","url":"https://api.github.com/users/Cyberboss","html_url":"https://github.com/Cyberboss","followers_url":"https://api.github.com/users/Cyberboss/followers","following_url":"https://api.github.com/users/Cyberboss/following{/other_user}","gists_url":"https://api.github.com/users/Cyberboss/gists{/gist_id}","starred_url":"https://api.github.com/users/Cyberboss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Cyberboss/subscriptions","organizations_url":"https://api.github.com/users/Cyberboss/orgs","repos_url":"https://api.github.com/users/Cyberboss/repos","events_url":"https://api.github.com/users/Cyberboss/events{/privacy}","received_events_url":"https://api.github.com/users/Cyberboss/received_events","type":"User","site_admin":false},"labels":[{"id":117611885,"node_id":"MDU6TGFiZWwxMTc2MTE4ODU=","url":"https://api.github.com/repos/tgstation/tgstation/labels/Do%20Not%20Merge","name":"Do Not Merge","color":"460606","default":false},{"id":157846355,"node_id":"MDU6TGFiZWwxNTc4NDYzNTU=","url":"https://api.github.com/repos/tgstation/tgstation/labels/Fix","name":"Fix","color":"00bbdd","default":false},{"id":31457173,"node_id":"MDU6TGFiZWwzMTQ1NzE3Mw==","url":"https://api.github.com/repos/tgstation/tgstation/labels/Performance","name":"Performance","color":"0b02e1","default":false},{"id":236275091,"node_id":"MDU6TGFiZWwyMzYyNzUwOTE=","url":"https://api.github.com/repos/tgstation/tgstation/labels/Tools","name":"Tools","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":20,"created_at":"2018-06-06T20:51:07Z","updated_at":"2018-06-18T18:08:06Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/tgstation/tgstation/pulls/38323","html_url":"https://github.com/tgstation/tgstation/pull/38323","diff_url":"https://github.com/tgstation/tgstation/pull/38323.diff","patch_url":"https://github.com/tgstation/tgstation/pull/38323.patch"},"body":":cl:\r\nserver: Added BSQL.dll and updated libmariadb.dll for non-blocking SQL support. See https://github.com/tgstation/BSQL for instructions on building for your system\r\n/:cl:\r\n\r\nBSQL ~uses the [libmariadb non-blocking API](https://mariadb.com/kb/en/library/non-blocking-api-reference)~ runs queries in separate threads to allow us to start queries/connections and check up on them later as opposed to blocking the entire game. SSdbcore has been folded over the BSQL DMAPI so that it works the same as before, only changes are in dbcore.dm. ~~Calls that used to block will now sleep.~~\r\n\r\nEventually we can make the whole stack use an async pattern to cut out the lag. The 4 query execution functions (Execute/warn_execute/NextRow/MassInsert) now include an `async` parameter which will sleep the proc for it's duration instead of blocking.\r\n\r\nBSQL.dll was built on release configuration from the v1.2.0.0 tag\r\nlibmariadb.dll was built on release configuration from the 3.0.2 tag of https://github.com/MariaDB/mariadb-connector-c (We could potentially get away with not changing this but I'm not familiar with how .libs work in terms of relocation)\r\n\r\nThe exact same binaries can be found here: https://github.com/tgstation/BSQL/releases/tag/v1.2.0.0\r\n\r\nTODO:\r\n\r\n- [x] Test with tg schema\r\n- [x] Finish writing BSQL README.md\r\n- [ ] Test live"},"comment":{"url":"https://api.github.com/repos/tgstation/tgstation/issues/comments/398144633","html_url":"https://github.com/tgstation/tgstation/pull/38323#issuecomment-398144633","issue_url":"https://api.github.com/repos/tgstation/tgstation/issues/38323","id":398144633,"node_id":"MDEyOklzc3VlQ29tbWVudDM5ODE0NDYzMw==","user":{"login":"Cyberboss","id":8171642,"node_id":"MDQ6VXNlcjgxNzE2NDI=","avatar_url":"https://avatars3.githubusercontent.com/u/8171642?v=4","gravatar_id":"","url":"https://api.github.com/users/Cyberboss","html_url":"https://github.com/Cyberboss","followers_url":"https://api.github.com/users/Cyberboss/followers","following_url":"https://api.github.com/users/Cyberboss/following{/other_user}","gists_url":"https://api.github.com/users/Cyberboss/gists{/gist_id}","starred_url":"https://api.github.com/users/Cyberboss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Cyberboss/subscriptions","organizations_url":"https://api.github.com/users/Cyberboss/orgs","repos_url":"https://api.github.com/users/Cyberboss/repos","events_url":"https://api.github.com/users/Cyberboss/events{/privacy}","received_events_url":"https://api.github.com/users/Cyberboss/received_events","type":"User","site_admin":false},"created_at":"2018-06-18T18:08:06Z","updated_at":"2018-06-18T18:08:06Z","author_association":"MEMBER","body":"It's using the exact same shit as BSQL travis, why the hell isn't it working? reee"}}
{"actor":{"display_login":"Cyberboss"}}