Implement Maybe
related things for Esqueleto.Record
#348
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR addresses #347 #344 and also #271 potentially
This is a bit of a tricky problem. We previously have two "places" to put a
Maybe
:However, the esqueleto records pulls the
SqlExpr
inside of the record. Given a type:One approach is to create a new type.
The approach I take here is to use
Maybe
directly:The "approved" way of accessing into that is to use the
HasField
instance, which I define viaTemplateHaskell
for each field onSqlX
:Except- wait, this doesn't make sense D:
The
ToMaybe
instance for records isJust
, but that's no good. It means that aLEFT JOIN
should give us something which we cancase
on. But this will be the Wrong Thing - we can'tcase
on the SQL value itself.So maybe need to rework this. But it's in a good enough state for now.
Before submitting your PR, check that you've:
@since
declarations to the Haddock.stylish-haskell
and otherwise adhered to the style guide.After submitting your PR: