Commit Graph

346 Commits

Author SHA1 Message Date
Ollie Charles
b61a5d7255
Merge branch 'master' into coverage-condition 2021-06-29 17:52:03 +04:00
Ollie Charles
18a414ae1d
Add haskell-language-server to shell.nix (#87) 2021-06-29 13:49:00 +00:00
Ollie Charles
3c69b1e994
Merge branch 'master' into coverage-condition 2021-06-29 17:46:36 +04:00
Ollie Charles
15ae3c5bb7 Drop some coverage conditions from tests
These are just making tests flaky. For now, they are removed. In the
future we should make these tests more likely to have full coverage.

Fixes #86.
2021-06-29 14:44:40 +01:00
Ollie Charles
36627d84c8
Document INSERT/UPDATE/DELETE (#75) 2021-06-29 12:44:20 +00:00
Ollie Charles
c776efdd1d
Update Changelog (#83) 2021-06-29 13:39:42 +01:00
Ollie Charles
bf193950ab
Require Opaleye >= 0.7.3 (#81)
0.7.3 has important changes to where lateral joins are introduced, and fixes #72.
2021-06-28 17:33:55 +01:00
tomjaguarpaw
ac2d382e5e
Link directly to Haddock for >$< (#79) 2021-06-28 10:40:28 +01:00
Shane
4aa5ba952c
Remove Labelable type class; we don't really need labels at the type level anymore (#76) 2021-06-24 10:13:03 +00:00
Shane
70ce05d8d1
Fix incorrect >>= implementation for Query (#73) 2021-06-22 22:01:46 +00:00
Shane
f36d7d03dd
Merge pull request #69 from circuithub/exists
Bump Opaleye dependency to 0.7.2.0 to take advantage of new EXISTS support
2021-06-22 12:51:40 +01:00
Shane O'Brien
93da8410ac
Bump Opaleye dependency to 0.7.2.0 to take advantage of new EXISTS support 2021-06-22 12:46:09 +01:00
Shane O'Brien
4cb7797d9e
Rename where{,Not}Exists to present and absent respectively 2021-06-22 12:01:47 +01:00
Shane O'Brien
bac704ce01
Fix catListTable and friends
The implemtation before would produce incorrect results if tried to get the cartesian product of two queries built out of `unnest`. Which makes sense, because Postgres seems to special case products of `unnest` to have a `ZipList` semantics rather than the normal `[]`.

The solution is to use `rebind` (from `Rel8.Query.Evaluate`) to rebind the results of such queries, so there is no `unnest` in the expressions we're `<*>`ing.
2021-06-22 11:54:35 +01:00
Shane O'Brien
d63063940d
Simplify eval to run directly inside the Query monad
@tomjaguarpaw at ZuriHac questioned whether the `Evaluation` monad was really unnecessary.

And yes, it turns out that the `Evaluation` monad wasn't actually really adding any value. The real issue was Postgres's unspecified evaluation order (which in practice behaved like the broken `ListT` from transformers).

We now maintain a stack of bindings from previous subselects in the `Query` monad, which future queries can reference. So for `evalulation`, to ensure that Postgres doesn't try to run a function once where we expect it to be run multiple times, we modify the expression to contain a bunch of superfluous lateral references to the previous queries. This ensures that it gets run every time.
2021-06-22 11:50:34 +01:00
Shane O'Brien
294543e530
alignBy doesn't actually need any Table constraints
We can use the same technique we use in `optional` to get rid of them.
2021-06-21 23:23:47 +01:00
Asad Saeeduddin
e83f356e99
Correct "readabality" typo (#66) 2021-06-21 15:54:19 +01:00
Ollie Charles
c887a7eb99 Release 1.0.0.1 2021-06-21 11:46:16 +01:00
Ollie Charles
b9757426dc Mention the need for DuplicateRecordFields
Fixes #63
2021-06-21 11:40:52 +01:00
Ollie Charles
4e9e90d066 Expand on select needing a connection
Fixes #64 (hopefully!)
2021-06-21 11:38:10 +01:00
Ollie Charles
269974e5cc Expand on #58 2021-06-21 11:35:43 +01:00
Adam Bergmark
92f7c08300
doc: Mention generics when declaring TableSchemas (#58) 2021-06-21 11:34:05 +01:00
Pranay Sashank
137ebeda89
Add homepage, bug-reports, source-repository meta to .cabal (#55) 2021-06-19 16:46:23 +01:00
tomjaguarpaw
22deaf2e50
Use teletype, not italics (#54) 2021-06-19 08:06:42 +01:00
tomjaguarpaw
1183bfbd29
Fix span of teletype section (#53) 2021-06-18 21:56:48 +01:00
tomjaguarpaw
71f5ee60e4
Remove redundant parens (#51) 2021-06-18 21:44:25 +01:00
tomjaguarpaw
2ba99eaca8
Fix inner join example (#50) 2021-06-18 20:56:21 +01:00
Oliver Charles
19ee619a82 Doc fixes 2021-06-18 20:55:25 +01:00
Oliver Charles
7bd2aa5cfd Docs fix 2021-06-18 20:52:58 +01:00
Oliver Charles
6396ea1ceb s/Identity/Result/ in readthedocs 2021-06-18 20:49:30 +01:00
Ollie Charles
2487397a50 Bump copyright year 2021-06-18 18:24:31 +01:00
Ollie Charles
1ad9d4b2d7 Add Changelog and README 2021-06-18 18:23:58 +01:00
Ollie Charles
bc275dccfa Move some exports around 2021-06-18 18:04:03 +01:00
Shane O'Brien
b4a542a85d
Reword Evaluate documentation 2021-06-18 17:21:55 +01:00
Shane O'Brien
421fe3ff76
Remove bind*Table 2021-06-18 17:18:57 +01:00
Shane O'Brien
bff98fedbd
Expand documentation of Rel8.Table.These combinators 2021-06-18 17:13:44 +01:00
Shane O'Brien
760dcd82f8
Don't export fromADT, toADT, fromHKD, toHKD 2021-06-18 17:08:59 +01:00
Ollie Charles
531d21c74d Document name* functions 2021-06-18 16:54:20 +01:00
Ollie Charles
d21213d461 Better documentation for bitraverseEitherTable 2021-06-18 16:42:26 +01:00
Shane O'Brien
b0183859d0
Correct traverseMaybeTable, s/noTable/nothingTable/ 2021-06-18 16:03:21 +01:00
Ollie Charles
3d54aa780b Document listTable and nonEmptyTable 2021-06-18 11:33:24 +01:00
Ollie Charles
1a3c3c139d Document Rel8.Table.These 2021-06-18 11:29:52 +01:00
Ollie Charles
7568c75e03 Document various catList operations 2021-06-18 11:25:59 +01:00
Ollie Charles
4ec1182dc3 Document more of EitherTable 2021-06-18 11:23:04 +01:00
Ollie Charles
4b50256af0 Document HList, HNonEmpty, HMaybe, HThese and HEither 2021-06-18 11:16:33 +01:00
Ollie Charles
da86165828 Document Column 2021-06-18 10:55:36 +01:00
Ollie Charles
9c974cb730 Document KRel8able 2021-06-18 10:54:29 +01:00
Ollie Charles
b86acbdf71 Document Enumable 2021-06-18 10:54:02 +01:00
Ollie Charles
32395d07b0 Document DBEnum 2021-06-18 10:53:04 +01:00
Ollie Charles
7133acedfe Document namesFromLabels and namesFromLabelsWith 2021-06-18 10:47:19 +01:00