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, using NamedField
to reflect the field names.
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 # |