On Wednesday, 7 March 2018 at 19:36:57 UTC, bauss wrote:
On Wednesday, 7 March 2018 at 11:04:10 UTC, Nick Sabalausky
On 03/06/2018 01:31 PM, bauss wrote:
I can't seem to find any examples on how they were updated
and what exactly to change in my code.
Also, FWIW, mysql-native uses semantic versioning (semver), so
anything that worked in v2.0.0 should still continue working
in all v2.x.x.
I was all the way down at 1.1.2, because of other issues that I
can't remember on top of my head, but they have since been
resolved. There were only one issue back for which was the
locked connection thing, which my post above has a link to.
So I changed my code to do this with retrieving the pool and
/// Collection of connection pools.
private static __gshared MySQLPool[string] _pools;
/// Global pool lock to ensure we don't attempt to create a
connection pool twice on same connection string.
private static shared globalPoolLock = new Object;
* Gets a new mysql connection from the pool.
* connectionString = The connection string for the connection.
* The mysql connection.
private MySQLPool getPool(string connectionString)
auto pool = _pools.get(connectionString, null);
pool = new MySQLPool(connectionString);
_pools[connectionString] = pool;
And when using it:
auto pool = getPool(useDbConnectionString);
auto connection = pool.lockConnection();
auto prepared = connection.prepare(sql);
Rather than just returning the connection from it.
I can't seem to reproduce it now, but I'll keep an eye for it and
see if it still happens, but I think the problem is when you
return the connection from a function.
I had similar issues returning a raw connection created.