| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Composite.Opaleye.RecordTable
Synopsis
- class DefaultRecTableField write read where
- defaultRecTableField :: String -> TableFields write read
- class DefaultRecTable write read where
- defaultRecTable :: TableFields (Rec Identity write) (Rec Identity read)
Documentation
class DefaultRecTableField write read where Source #
Helper typeclass which picks which of requiredTableField or optionalTableField to use for a pair of write column type and read column type.
DefaultRecTableField (Maybe (Field a)) (Field a) uses optionalTableField.
DefaultRecTableField (Field a) (Field a) uses requiredTableField.
Methods
defaultRecTableField :: String -> TableFields write read Source #
Instances
| DefaultRecTableField (Maybe (Field_ n a)) (Field_ n a) Source # | |
Defined in Composite.Opaleye.RecordTable Methods defaultRecTableField :: String -> TableFields (Maybe (Field_ n a)) (Field_ n a) Source # | |
| DefaultRecTableField (Field_ n a) (Field_ n a) Source # | |
Defined in Composite.Opaleye.RecordTable Methods defaultRecTableField :: String -> TableFields (Field_ n a) (Field_ n a) Source # | |
class DefaultRecTable write read where Source #
Type class for producing a default TableFields schema for some expected record types. requiredTableField and optionalTableField are chosen automatically and the
column is named after the record fields.
For example, given:
type WriteRec = Record '["id" :-> Maybe (Field PGInt8), "name" :-> Field PGText] type ReadRec = Record '["id" :-> Field PGInt8 , "name" :-> Field PGText]
This:
defaultRecTable :: TableFields WriteRec ReadRec
Is equivalent to:
pRec (optionalTableField "id" &: requiredTableField "name" &: Nil)
Alternately, use pRec and the usual Opaleye requiredTableField and optionalTableField.
Methods
defaultRecTable :: TableFields (Rec Identity write) (Rec Identity read) Source #
Instances
| DefaultRecTable ('[] :: [Type]) ('[] :: [Type]) Source # | |
Defined in Composite.Opaleye.RecordTable Methods defaultRecTable :: TableFields (Rec Identity '[]) (Rec Identity '[]) Source # | |
| (KnownSymbol s, DefaultRecTableField w r, DefaultRecTable writes reads) => DefaultRecTable ((s :-> w) ': writes) ((s :-> r) ': reads) Source # | |
Defined in Composite.Opaleye.RecordTable Methods defaultRecTable :: TableFields (Rec Identity ((s :-> w) ': writes)) (Rec Identity ((s :-> r) ': reads)) Source # | |