composite-opaleye-0.8.2.2: Opaleye SQL for Vinyl records
Safe HaskellSafe-Inferred
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_ n a)) (Field_ n a) Source # 
Instance details

Defined in Composite.Opaleye.RecordTable

DefaultRecTableField (Field_ n a) (Field_ n 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 #