Shane O'Brien
7b993cf79b
wip
2021-06-25 11:05:10 +01:00
Shane O'Brien
504b7e5c2f
Port to Opaleye lateral branch
2021-06-25 11:04:53 +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
Ollie Charles
7f5801f051
Document unsafeLiteral
2021-06-18 10:44:16 +01:00
Ollie Charles
01b569f5f9
Document Recontextualize
2021-06-18 10:42:52 +01:00
Ollie Charles
ae4a78601a
Document Labelable
2021-06-18 10:41:43 +01:00
Ollie Charles
9d3480cc28
Document ToExprs and FromExprs
2021-06-18 10:41:31 +01:00
Ollie Charles
00e53a1909
Document Result
2021-06-18 10:37:51 +01:00
Ollie Charles
f998dd7d5b
Document Rel8.Type.Composite
2021-06-18 10:36:32 +01:00