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.