|Subject:||Postgres driver caches connections even with different credentials|
The Postgres driver (and possibly the MySQL one, but I didn't look) only requires that an existing connection respond to a ping() call to continue using it, even when connect() is called repeatedly with different arguments. Not only does this appear to run contrary to the "we don't do caching" blurb in Alzabo::Driver(3pm), but it also can result in broken situations when one uses multiple users with different permissions on the same schema. In a persistent environment, this can happen without the developer even realising it's possible. In my case, I thought I was loading the schema fresh each time, but I was getting a cached copy with a connection already associated.