opaleye-0.6.7004.1: 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 = 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 #

Constructors

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.

Instances
Profunctor Table Source # 
Instance details

Defined in Opaleye.Internal.Table

Methods

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

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

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

(#.) :: Coercible c b => q b c -> Table a b -> Table a c #

(.#) :: Coercible b a => Table b c -> q a b -> Table a c #

Functor (Table a) Source # 
Instance details

Defined in Opaleye.Internal.Table

Methods

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

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

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.

Constructors

TableProperties 

Fields

Instances
Profunctor TableProperties Source # 
Instance details

Defined in Opaleye.Internal.Table

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 => q b c -> TableProperties a b -> TableProperties a c #

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

ProductProfunctor TableProperties Source # 
Instance details

Defined in Opaleye.Internal.Table

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

Functor (TableProperties a) Source # 
Instance details

Defined in Opaleye.Internal.Table

Methods

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

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

Applicative (TableProperties a) Source # 
Instance details

Defined in Opaleye.Internal.Table

Methods

pure :: a0 -> TableProperties a a0 #

(<*>) :: TableProperties a (a0 -> b) -> TableProperties a a0 -> TableProperties a b #

liftA2 :: (a0 -> b -> c) -> TableProperties a a0 -> TableProperties a b -> TableProperties a c #

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

(<*) :: TableProperties a a0 -> TableProperties a b -> TableProperties a a0 #

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 #

data View columns Source #

Internal only. Do not use. View will be deprecated in version 0.7.

Constructors

View columns 

newtype Writer columns dummy Source #

Internal only. Do not use. Writer will be deprecated in version 0.7.

Constructors

Writer (forall f. Functor f => PackMap (f PrimExpr, String) () (f columns) ()) 
Instances
Profunctor Writer Source # 
Instance details

Defined in Opaleye.Internal.Table

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 => q b c -> Writer a b -> Writer a c #

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

ProductProfunctor Writer Source # 
Instance details

Defined in Opaleye.Internal.Table

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

Functor (Writer a) Source # 
Instance details

Defined in Opaleye.Internal.Table

Methods

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

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

Applicative (Writer a) Source # 
Instance details

Defined in Opaleye.Internal.Table

Methods

pure :: a0 -> Writer a a0 #

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

liftA2 :: (a0 -> b -> c) -> Writer a a0 -> Writer a b -> Writer a c #

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

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

required :: String -> TableFields (Column a) (Column a) Source #

required is for columns which are not optional. You must provide them on writes.

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 #

Minimal complete definition

tableField

Methods

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 #

Infer either a required or optional column depending on the write type. It's generally more convenient to use this than required or optional but you do have to provide a type signature instead.

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' -> columns -> [(PrimExpr, String)] Source #

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

newtype Zip a Source #

Constructors

Zip 

Fields

Instances
Semigroup (Zip a) Source # 
Instance details

Defined in Opaleye.Internal.Table

Methods

(<>) :: Zip a -> Zip a -> Zip a #

sconcat :: NonEmpty (Zip a) -> Zip a #

stimes :: Integral b => b -> Zip a -> Zip a #

Monoid (Zip a) Source # 
Instance details

Defined in Opaleye.Internal.Table

Methods

mempty :: Zip a #

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

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