bitemyapp / bitemyapp/esqueleto

RDBMS-specific functions in generic `Database.Esqueleto` module

Open
#385 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Haskell
Stars
399
Forks
107
Avg merge
1d 17h
Merged PRs (30d)
1

Description

There's functions like `ilike` where [the docs say](https://hackage.haskell.org/package/esqueleto-3.5.11.1/docs/Database-Esqueleto-Experimental.html#v:ilike):

> Supported by PostgreSQL only.

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](https://hackage.haskell.org/package/esqueleto-3.5.11.1/docs/Database-Esqueleto.html#g:9). 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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.