Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data Table writerColumns viewColumns
- = Table String (TableFields writerColumns viewColumns)
- | TableWithSchema String String (TableFields writerColumns viewColumns)
- tableIdentifier :: Table writeColumns viewColumns -> TableIdentifier
- tableColumns :: Table writeColumns viewColumns -> TableFields writeColumns viewColumns
- tableProperties :: Table writeColumns viewColumns -> TableFields writeColumns viewColumns
- data TableProperties writeColumns viewColumns = TableProperties {
- tablePropertiesWriter :: Writer writeColumns viewColumns
- tablePropertiesView :: View viewColumns
- type TableColumns = TableProperties
- type TableFields = TableProperties
- tableColumnsWriter :: TableFields writeColumns viewColumns -> Writer writeColumns viewColumns
- tableColumnsView :: TableFields writeColumns viewColumns -> View viewColumns
- data View columns = View columns
- newtype Writer columns dummy = Writer (forall f. Functor f => PackMap (f PrimExpr, String) () (f columns) ())
- required :: String -> TableFields (Column a) (Column a)
- optional :: String -> TableFields (Maybe (Column a)) (Column a)
- readOnly :: String -> TableColumns () (Column a)
- class TableColumn writeType sqlType | writeType -> sqlType where
- tableColumn :: String -> TableFields writeType (Column sqlType)
- tableField :: String -> TableFields writeType (Column sqlType)
- queryTable :: Unpackspec viewColumns columns -> Table writeColumns viewColumns -> Tag -> (columns, PrimQuery)
- runColumnMaker :: Unpackspec tablecolumns columns -> Tag -> tablecolumns -> (columns, [(Symbol, PrimExpr)])
- runWriter :: Writer columns columns' -> columns -> [(PrimExpr, String)]
- runWriter' :: Writer columns columns' -> NonEmpty columns -> (NonEmpty [PrimExpr], [String])
- newtype Zip a = Zip {}
- requiredW :: String -> Writer (Column a) (Column a)
- optionalW :: String -> Writer (Maybe (Column a)) (Column a)
Documentation
"pWidget" ''Widget)
widgetTable :: Table (Widget (Maybe (Column PGInt4)) (Column PGText) (Column PGText) (Column PGInt4) (Column PGFloat8)) (Widget (Column PGText) (Column PGText) (Column PGText) (Column PGInt4) (Column PGFloat8)) widgetTable = table "widgetTable" (pWidget Widget { wid = tableColumn "id" , color = tableColumn "color" , location = tableColumn "location" , quantity = tableColumn "quantity" , radius = tableColumn "radius" }) @
The constructors of Table are internal only and will be deprecated in version 0.7.
data Table writerColumns viewColumns Source #
Table String (TableFields writerColumns viewColumns) | For unqualified table names. Do not use the constructor. It is internal and will be deprecated in version 0.7. |
TableWithSchema String String (TableFields writerColumns viewColumns) | Schema name, table name, table properties. Do not use the constructor. It is internal and will be deprecated in version 0.7. |
tableIdentifier :: Table writeColumns viewColumns -> TableIdentifier Source #
tableColumns :: Table writeColumns viewColumns -> TableFields writeColumns viewColumns Source #
tableProperties :: Table writeColumns viewColumns -> TableFields writeColumns viewColumns Source #
Use tableColumns
instead. Will be deprecated soon.
data TableProperties writeColumns viewColumns Source #
Use TableFields
instead. TableProperties
will be deprecated
in version 0.7.
TableProperties | |
|
Instances
type TableColumns = TableProperties Source #
Use TableFields
instead. TableColumns
will be deprecated in
version 0.7.
type TableFields = TableProperties Source #
The new name for TableColumns
and TableProperties
which will
replace them in version 0.7.
tableColumnsWriter :: TableFields writeColumns viewColumns -> Writer writeColumns viewColumns Source #
tableColumnsView :: TableFields writeColumns viewColumns -> View viewColumns Source #
newtype Writer columns dummy Source #
Internal only. Do not use. Writer
will be deprecated in
version 0.7.
Instances
Profunctor Writer Source # | |
Defined in Opaleye.Internal.Table | |
ProductProfunctor Writer Source # | |
Functor (Writer a) Source # | |
Applicative (Writer a) Source # | |
optional :: String -> TableFields (Maybe (Column a)) (Column a) Source #
optional
is for columns that you can omit on writes, such as
columns which have defaults or which are SERIAL.
readOnly :: String -> TableColumns () (Column a) Source #
readOnly
is for columns that you must omit on writes, such as
SERIAL columns intended to auto-increment only.
class TableColumn writeType sqlType | writeType -> sqlType where Source #
tableColumn :: String -> TableFields writeType (Column sqlType) Source #
Do not use. Use tableField
instead. Will be deprecated in
0.7.
tableField :: String -> TableFields writeType (Column sqlType) Source #
Instances
TableColumn (Maybe (Column a)) a Source # | |
Defined in Opaleye.Internal.Table tableColumn :: String -> TableFields (Maybe (Column a)) (Column a) Source # tableField :: String -> TableFields (Maybe (Column a)) (Column a) Source # | |
TableColumn (Column a) a Source # | |
Defined in Opaleye.Internal.Table tableColumn :: String -> TableFields (Column a) (Column a) Source # tableField :: String -> TableFields (Column a) (Column a) Source # |
queryTable :: Unpackspec viewColumns columns -> Table writeColumns viewColumns -> Tag -> (columns, PrimQuery) Source #
runColumnMaker :: Unpackspec tablecolumns columns -> Tag -> tablecolumns -> (columns, [(Symbol, PrimExpr)]) Source #
runWriter' :: Writer columns columns' -> NonEmpty columns -> (NonEmpty [PrimExpr], [String]) Source #