| Copyright | 2013-2017 Kei Hibino |
|---|---|
| License | BSD3 |
| Maintainer | ex8k.hibino@gmail.com |
| Stability | experimental |
| Portability | unknown |
| Safe Haskell | None |
| Language | Haskell2010 |
Database.Relational.Query.Derives
Description
This module defines typed SQLs derived from type informations.
- specifiedKey :: PersistableWidth p => Pi a p -> Relation () a -> Relation p a
- unique :: PersistableWidth p => Key Unique a p -> Relation () a -> Relation p a
- primary' :: PersistableWidth p => Key Primary a p -> Relation () a -> Relation p a
- primary :: HasConstraintKey Primary a p => Relation () a -> Relation p a
- updateByConstraintKey :: Table r -> Key c r p -> KeyUpdate p r
- primaryUpdate :: HasConstraintKey Primary r p => Table r -> KeyUpdate p r
- updateValuesWithKey :: ToSql q r => Pi r p -> r -> [q]
- derivedUniqueRelation :: TableDerivable r => Key Unique r k -> Projection c k -> UniqueRelation () c r
Query derivation
Arguments
| :: PersistableWidth p | |
| => Pi a p | Unique key proof object which record type is |
| -> Relation () a |
|
| -> Relation p a | Result restricted |
Query restricted with specified key.
Arguments
| :: PersistableWidth p | |
| => Key Unique a p | Unique key proof object which record type is |
| -> Relation () a |
|
| -> Relation p a | Result restricted |
Query restricted with specified unique key.
Arguments
| :: PersistableWidth p | |
| => Key Primary a p | Primary key proof object which record type is |
| -> Relation () a |
|
| -> Relation p a | Result restricted |
Query restricted with specified primary key.
Arguments
| :: HasConstraintKey Primary a p | |
| => Relation () a |
|
| -> Relation p a | Result restricted |
Query restricted with inferred primary key.
Update derivation
updateByConstraintKey Source #
Arguments
| :: Table r |
|
| -> Key c r p | Key with constraint |
| -> KeyUpdate p r | Result typed |
Typed KeyUpdate using specified constraint key.
Arguments
| :: HasConstraintKey Primary r p | |
| => Table r |
|
| -> KeyUpdate p r | Result typed |
Typed KeyUpdate using inferred primary key.
updateValuesWithKey :: ToSql q r => Pi r p -> r -> [q] Source #
Convert from Haskell type r into SQL value q list expected by update form like
UPDATE table SET c0 = ?, c1 = ?, ..., cn = ? WHERE key0 = ? AND key1 = ? AND key2 = ? ...
using derived RecordToSql proof object.
Derived objects from table
derivedUniqueRelation Source #
Arguments
| :: TableDerivable r | |
| => Key Unique r k | Unique key proof object which record type is |
| -> Projection c k | Unique key value to specify. |
| -> UniqueRelation () c r | Result restricted |
UniqueRelation inferred from table.