opaleye-0.5.1.1: An SQL-generating DSL targeting PostgreSQL

Safe HaskellNone
LanguageHaskell2010

Opaleye.Table

Synopsis

Documentation

queryTable :: Default ColumnMaker columns columns => Table a columns -> Query columns Source #

Example type specialization:

queryTable :: Table w (Column a, Column b) -> Query (Column a, Column b)

Assuming the makeAdaptorAndInstance splice has been run for the product type Foo:

queryTable :: Table w (Foo (Column a) (Column b) (Column c)) -> Query (Foo (Column a) (Column b) (Column c))

queryTableExplicit :: ColumnMaker tablecolumns columns -> Table a tablecolumns -> Query columns Source #

data View columns Source #

data Writer columns dummy Source #

Instances

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

ProductProfunctor Writer Source # 

Methods

empty :: Writer () ()

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

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 #

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 #

data TableProperties writerColumns viewColumns Source #

Instances

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

ProductProfunctor TableProperties Source # 

Methods

empty :: TableProperties () ()

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

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 #