Or others where both MySQL and Postgres support them, but no other RDBMSes. Then there's also modules like Database.Esqueleto.PostgreSQL that have RDBMS-specific code, and this is explicitly pointed out. So it seems like the intent is that such functions don't go in the generic Database.Esqueleto.
It's also pretty confusing as a user, and sometimes frustrating to find a function in HLS autocomplete that I can't actually use. It would be preferable if I can safely use anything from Database.Esqueleto (or of course .Experimental) without having to check individual docs if it's actually available on my RDBMS; anything that's implementation-specific should come from other modules.
There's functions like
ilike
where the docs say:Or others where both MySQL and Postgres support them, but no other RDBMSes. Then there's also modules like
Database.Esqueleto.PostgreSQL
that have RDBMS-specific code, and this is explicitly pointed out. So it seems like the intent is that such functions don't go in the genericDatabase.Esqueleto
.It's also pretty confusing as a user, and sometimes frustrating to find a function in HLS autocomplete that I can't actually use. It would be preferable if I can safely use anything from
Database.Esqueleto
(or of course.Experimental
) without having to check individual docs if it's actually available on my RDBMS; anything that's implementation-specific should come from other modules.