Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
.
defaultRecTableField :: String -> TableFields write read Source #
Instances
DefaultRecTableField (Maybe (Field a)) (Field a) Source # | |
Defined in Composite.Opaleye.RecordTable defaultRecTableField :: String -> TableFields (Maybe (Field a)) (Field a) Source # | |
DefaultRecTableField (Field a) (Field a) Source # | |
Defined in Composite.Opaleye.RecordTable defaultRecTableField :: String -> TableFields (Field a) (Field 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
.
defaultRecTable :: TableFields (Rec Identity write) (Rec Identity read) Source #
Instances
DefaultRecTable ('[] :: [Type]) ('[] :: [Type]) Source # | |
Defined in Composite.Opaleye.RecordTable 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 defaultRecTable :: TableFields (Rec Identity ((s :-> w) ': writes)) (Rec Identity ((s :-> r) ': reads)) Source # |