Query compilation should happen within a db transaction

In order to successfully compile equality predicates, we need to know
exactly which database the user is talking to (PG8, PG9, HSQLDB). That
lets us figure out if we can use a fast-path (for array queries).