Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Table writerColumns viewColumns
- = Table String (TableColumns writerColumns viewColumns)
- | TableWithSchema String String (TableColumns writerColumns viewColumns)
- tableIdentifier :: Table writeColumns viewColumns -> TableIdentifier
- tableColumns :: Table writeColumns viewColumns -> TableColumns writeColumns viewColumns
- tableProperties :: Table writeColumns viewColumns -> TableColumns writeColumns viewColumns
- data TableProperties writeColumns viewColumns = TableProperties {
- tablePropertiesWriter :: Writer writeColumns viewColumns
- tablePropertiesView :: View viewColumns
- type TableColumns = TableProperties
- tableColumnsWriter :: TableColumns writeColumns viewColumns -> Writer writeColumns viewColumns
- tableColumnsView :: TableColumns 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 -> TableColumns (Column a) (Column a)
- optional :: String -> TableColumns (Maybe (Column a)) (Column a)
- class TableColumn writeType sqlType | writeType -> sqlType where
- 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])
- data 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 (TableColumns 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 (TableColumns 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 -> TableColumns writeColumns viewColumns Source #
tableProperties :: Table writeColumns viewColumns -> TableColumns writeColumns viewColumns Source #
Use tableColumns
instead. Will be deprecated soon.
data TableProperties writeColumns viewColumns Source #
Use TableColumns
instead. TableProperties
will be deprecated
in version 0.7.
TableProperties | |
|
type TableColumns = TableProperties Source #
The new name for TableColumns
which will replace
TableColumn
in version 0.7.
tableColumnsWriter :: TableColumns writeColumns viewColumns -> Writer writeColumns viewColumns Source #
tableColumnsView :: TableColumns writeColumns viewColumns -> View viewColumns Source #
newtype Writer columns dummy Source #
Internal only. Do not use. Writer
will be deprecated in
version 0.7.
optional :: String -> TableColumns (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.
class TableColumn writeType sqlType | writeType -> sqlType where Source #
tableColumn :: String -> TableColumns writeType (Column sqlType) Source #
TableColumn (Maybe (Column a)) a Source # | |
TableColumn (Column a) a Source # | |
queryTable :: Unpackspec viewColumns columns -> Table writeColumns viewColumns -> Tag -> (columns, PrimQuery) Source #
runColumnMaker :: Unpackspec tablecolumns columns -> Tag -> tablecolumns -> (columns, [(Symbol, PrimExpr)]) Source #