| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Composite.Opaleye.Update
Description
Module which provides utilities for processing updates using Opaleye and Composite
Synopsis
- class RecordToUpdate (rs :: [Type]) (ss :: [Type])
- recordToUpdate :: RecordToUpdate rs ss => Record rs -> Record ss
Documentation
class RecordToUpdate (rs :: [Type]) (ss :: [Type]) Source #
Typeclass which allows transformation of a record from its select form to neutral update form, which boils down to wrapping fields that have defaults
with Just.
Minimal complete definition
Instances
| RecordToUpdate ('[] :: [Type]) ('[] :: [Type]) Source # | For an empty record, just act as |
Defined in Composite.Opaleye.Update Methods recordToUpdate :: Record '[] -> Record '[] Source # | |
| RecordToUpdate rs ss => RecordToUpdate ((s :-> a) ': rs) ((s :-> Maybe a) ': ss) Source # | For a field whose type at selection is |
Defined in Composite.Opaleye.Update | |
| RecordToUpdate rs ss => RecordToUpdate (r ': rs) (r ': ss) Source # | For a field whose type doesn't change between selection and update, just pass the field unchanged and then recurse. |
Defined in Composite.Opaleye.Update Methods recordToUpdate :: Record (r ': rs) -> Record (r ': ss) Source # | |
recordToUpdate :: RecordToUpdate rs ss => Record rs -> Record ss Source #
Transform a obtained from the database to a Record rs representing an updated version of the row.Record ss
Opaleye's runUpdate family of functions all take an update function of the type columnsR -> columnsW, which this function implements generically
for a no-op update.
Typically this function is composed with one or more lens sets which update the fields after the transformation.