opaleye-0.5.3.0: An SQL-generating DSL targeting PostgreSQL

Safe HaskellNone
LanguageHaskell2010

Opaleye.Internal.Table

Synopsis

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 = optional "id" , color = required "color" , location = required "location" , quantity = required "quantity" , radius = required "radius" }) @

data Table writerColumns viewColumns #

Constructors

Table String (TableProperties writerColumns viewColumns)

Uses the default schema name ("public").

TableWithSchema String String (TableProperties writerColumns viewColumns)

Schema name ("public" by default in PostgreSQL), table name, table properties.

Instances

Functor (Table a) # 

Methods

fmap :: (a -> b) -> Table a a -> Table a b #

(<$) :: a -> Table a b -> Table a a #

tableIdentifier :: Table writerColumns viewColumns -> TableIdentifier #

tableProperties :: Table writerColumns viewColumns -> TableProperties writerColumns viewColumns #

data TableProperties writerColumns viewColumns #

Constructors

TableProperties 

Fields

Instances

ProductProfunctor TableProperties # 

Methods

purePP :: b -> TableProperties a b #

(****) :: TableProperties a (b -> c) -> TableProperties a b -> TableProperties a c #

empty :: TableProperties () () #

(***!) :: TableProperties a b -> TableProperties a' b' -> TableProperties (a, a') (b, b') #

Profunctor TableProperties # 

Methods

dimap :: (a -> b) -> (c -> d) -> TableProperties b c -> TableProperties a d #

lmap :: (a -> b) -> TableProperties b c -> TableProperties a c #

rmap :: (b -> c) -> TableProperties a b -> TableProperties a c #

(#.) :: Coercible * c b => (b -> c) -> TableProperties a b -> TableProperties a c #

(.#) :: Coercible * b a => TableProperties b c -> (a -> b) -> TableProperties a c #

Functor (TableProperties a) # 

Methods

fmap :: (a -> b) -> TableProperties a a -> TableProperties a b #

(<$) :: a -> TableProperties a b -> TableProperties a a #

Applicative (TableProperties a) # 

data View columns #

Constructors

View columns 

newtype Writer columns dummy #

Constructors

Writer (forall f. Functor f => PackMap (f PrimExpr, String) () (f columns) ()) 

Instances

ProductProfunctor Writer # 

Methods

purePP :: b -> Writer a b #

(****) :: Writer a (b -> c) -> Writer a b -> Writer a c #

empty :: Writer () () #

(***!) :: Writer a b -> Writer a' b' -> Writer (a, a') (b, b') #

Profunctor Writer # 

Methods

dimap :: (a -> b) -> (c -> d) -> Writer b c -> Writer a d #

lmap :: (a -> b) -> Writer b c -> Writer a c #

rmap :: (b -> c) -> Writer a b -> Writer a c #

(#.) :: Coercible * c b => (b -> c) -> Writer a b -> Writer a c #

(.#) :: Coercible * b a => Writer b c -> (a -> b) -> Writer a c #

Functor (Writer a) # 

Methods

fmap :: (a -> b) -> Writer a a -> Writer a b #

(<$) :: a -> Writer a b -> Writer a a #

Applicative (Writer a) # 

Methods

pure :: a -> Writer a a #

(<*>) :: Writer a (a -> b) -> Writer a a -> Writer a b #

(*>) :: Writer a a -> Writer a b -> Writer a b #

(<*) :: Writer a a -> Writer a b -> Writer a a #

queryTable :: ColumnMaker viewColumns columns -> Table writerColumns viewColumns -> Tag -> (columns, PrimQuery) #

runColumnMaker :: ColumnMaker 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 #

Constructors

Zip 

Fields

Instances

Monoid (Zip a) # 

Methods

mempty :: Zip a #

mappend :: Zip a -> Zip a -> Zip a #

mconcat :: [Zip a] -> Zip a #