20 Commits

Author SHA1 Message Date
Shauren
27860c3316 Core/Database: Added std::span based functions to Field and PreparedStatement 2025-01-03 13:04:19 +01:00
Shauren
404bb5b3c2 Core/DBLayer: Support retrieving DATE/DATETIME/TIMESTAMP column values directly without casting in sql 2024-04-10 13:59:19 +02:00
Shauren
d958bfd0f3 Core/Database: Replace DatabaseWorker with asio io_context 2023-12-15 12:06:59 +01:00
Treeston
1e9d60b4ac Scripts/Commands: .character command conversion
(cherry picked from commit 00dd337b5d)
2022-02-05 14:44:01 +01:00
Shauren
cecb36bd68 Core/DBLayer: Use std::variant's stored type instead of relying on our own separate enum for prepared statement parameters
(cherry picked from commit 3048203855)
2021-12-22 21:39:35 +01:00
Shauren
ce9c7b477c Core/DBLayer: Refactor PreparedStatement class to not depend on MySQLPreparedStatement
(cherry picked from commit 5b0a32d164)
2021-12-22 20:59:50 +01:00
Ujp8LfXBJ6wCPR
f871f0098e Replace MySQL prepared statement union with std::variant (#24158)
(cherry picked from commit 3ebcb71c3d)
2021-12-22 20:29:49 +01:00
Shauren
b231903932 Core/Misc: Port all the refactors sneaked in master to 3.3.5 include cleanup port 2020-09-04 13:38:24 +02:00
Treeston
73922d2a85 Core/Authserver: Re-organize the accounts table (PR #25135)
- no longer use sha_pass_hash for anything else core-side (.account, SOAP, RA)
- salt/verifier/session_key are now binary
- old s/v/sha_pass_hash fields kept around for backwards compatibility
- sha_pass_hash is still updated (for now), s/v are not
- sha_pass_hash is only read if s/v have been manually changed
- SRP6 b now uses the full 32 bytes of randomness (instead of randomly only using 19)

(cherry picked from commit 3164b58c7d)
2020-08-03 22:37:47 +02:00
Aokromes
b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
Shauren
c3a9d56b56 Core/DBLayer: Support using mysql 8 2019-11-01 16:21:14 +01:00
ariel-
d131bd1da0 Core/Database: Prepared statement parameter preallocation (#18999)
- Pass prepared statement size to the helper class to prevent runtime resizing.
- Rename CheckValidIndex -> AssertValidIndex
- Cached prepared size on the worker pool as it's shared among all connections
- Cached query data only for each connection, done lookup in map instead of possibly creating a new element
- Kill the prepared statement map, and store raw sql string on the MySQLPreparedStatement class
(This info is only used for logging, and there is no need of keeping a second container just for it)

(cherrypicked from affee140c6)
2019-08-17 20:04:14 +02:00
Shauren
e8e89f58fb Core/DBLayer: Prevent using prepared statements on wrong database 2019-07-27 01:00:37 +02:00
vincent-michael
5620eb9463 Update copyright note for 2019
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00
vincent-michael
7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
Shauren
7e538980a2 Core/Database: Include cleanup 2017-05-12 18:50:27 +02:00
vincent-michael
86b98686a9 Update copyright note for 2017
Happy new year
2017-01-01 16:23:13 +01:00
Naios
6cfea2d8f7 Core/Database: Converted the database library to a shared library.
* There is still the possibility to static link against database.
2016-03-24 01:28:59 +01:00
Vincent-Michael
478cc756eb Update copyright note for 2016
Happy new year (Again new year with idiots ...)
2016-01-01 00:34:25 +01:00
StormBytePP
1d2aafd39b Core/Build: Merge common library and move database out of shared 2015-08-21 17:52:42 +02:00