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 Source #

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) Source # 

Methods

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

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

tableIdentifier :: Table writerColumns viewColumns -> TableIdentifier Source #

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

data TableProperties writerColumns viewColumns Source #

Constructors

TableProperties 

Fields

Instances

ProductProfunctor TableProperties Source # 

Methods

empty :: TableProperties () () #

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

Profunctor TableProperties Source # 

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) Source # 

Methods

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

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

Applicative (TableProperties a) Source # 

data View columns Source #

Constructors

View columns 

newtype Writer columns dummy Source #

Constructors

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

Instances

ProductProfunctor Writer Source # 

Methods

empty :: Writer () () #

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

Profunctor Writer Source # 

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) Source # 

Methods

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

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

Applicative (Writer a) Source # 

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) Source #

runColumnMaker :: ColumnMaker tablecolumns columns -> Tag -> tablecolumns -> (columns, [(Symbol, PrimExpr)]) Source #

runWriter :: Writer columns columns' -> columns -> [(PrimExpr, String)] Source #

runWriter' :: Writer columns columns' -> NonEmpty columns -> (NonEmpty [PrimExpr], [String]) Source #

data Zip a Source #

Constructors

Zip 

Fields

Instances

Monoid (Zip a) Source # 

Methods

mempty :: Zip a #

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

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