Setup: Using an empty schema name + JNDI
There is a collision when:
JNDI is configured
A space specifies a schema name (as default)
One space uses an empty schema name.
In this situation, when a connection is reused, it is not reset, so the second connection mistakenly starts in that schema.
Workaround: Users need to write "public" as a space name.
If the schema is empty with PostgreSQL, we'll write "public" automatically. If a user desires another schema, they can type it in.
We'll also fix the selection of the space, which is currently broken.
We'll also cache the JNDI datasource, since it's expensive to look it up.