composite-opaleye-0.8.1.0: Opaleye SQL for Vinyl records
Safe HaskellNone
LanguageHaskell2010

Composite.Opaleye.RecordTable

Synopsis

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.

Instances

Instances details
DefaultRecTableField (Maybe (Field a)) (Field a) Source # 
Instance details

Defined in Composite.Opaleye.RecordTable

DefaultRecTableField (Field a) (Field a) Source # 
Instance details

Defined in Composite.Opaleye.RecordTable

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.

Instances

Instances details
DefaultRecTable ('[] :: [Type]) ('[] :: [Type]) Source # 
Instance details

Defined in Composite.Opaleye.RecordTable

(KnownSymbol s, DefaultRecTableField w r, DefaultRecTable writes reads) => DefaultRecTable ((s :-> w) ': writes) ((s :-> r) ': reads) Source # 
Instance details

Defined in Composite.Opaleye.RecordTable

Methods

defaultRecTable :: TableFields (Rec Identity ((s :-> w) ': writes)) (Rec Identity ((s :-> r) ': reads)) Source #