Copyright | 2013-2019 Kei Hibino |
---|---|
License | BSD3 |
Maintainer | [email protected] |
Stability | experimental |
Portability | unknown |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Database.Relational.Effect
Description
This module defines effect statements like update and delete.
Synopsis
- type Restriction p r = Record Flat r -> Restrict (PlaceHolders p)
- type UpdateTarget p r = Record Flat r -> Assign r (PlaceHolders p)
- liftTargetAllColumn' :: PersistableWidth r => (Record Flat r -> Restrict (PlaceHolders p)) -> Record Flat r -> Assign r (PlaceHolders (r, p))
- data InsertTarget p r
- insertTarget' :: Register r (PlaceHolders p) -> InsertTarget p r
- piRegister :: PersistableWidth r => Pi r r' -> Register r (PlaceHolders r')
- deleteFromRestriction :: Config -> Table r -> (Record Flat r -> Restrict (PlaceHolders p)) -> StringSQL
- updateFromUpdateTarget :: Config -> Table r -> (Record Flat r -> Assign r (PlaceHolders p)) -> StringSQL
- sqlChunkFromInsertTarget :: Config -> Table r -> InsertTarget p r -> (StringSQL, Int)
- sqlFromInsertTarget :: Config -> Table r -> InsertTarget p r -> StringSQL
- sqlChunksFromRecordList :: LiteralSQL r' => Config -> Table r -> Pi r r' -> [r'] -> [StringSQL]
- restriction :: (Record Flat r -> Restrict ()) -> Restriction () r
- restriction' :: (Record Flat r -> Restrict (PlaceHolders p)) -> Restriction p r
- updateTarget :: (Record Flat r -> Assign r ()) -> UpdateTarget () r
- updateTarget' :: (Record Flat r -> Assign r (PlaceHolders p)) -> UpdateTarget p r
- liftTargetAllColumn :: PersistableWidth r => (Record Flat r -> Restrict (PlaceHolders ())) -> Record Flat r -> Assign r (PlaceHolders r)
- updateTargetAllColumn :: PersistableWidth r => (Record Flat r -> Restrict ()) -> Record Flat r -> Assign r (PlaceHolders r)
- updateTargetAllColumn' :: PersistableWidth r => (Record Flat r -> Restrict (PlaceHolders p)) -> Record Flat r -> Assign r (PlaceHolders (r, p))
- insertTarget :: Register r () -> InsertTarget () r
- sqlWhereFromRestriction :: Config -> Table r -> (Record Flat r -> Restrict (PlaceHolders p)) -> StringSQL
- sqlFromUpdateTarget :: Config -> Table r -> (Record Flat r -> Assign r (PlaceHolders p)) -> StringSQL
Object to express simple restriction.
type Restriction p r = Record Flat r -> Restrict (PlaceHolders p) Source #
Restriction type with place-holder parameter p
and projected record type r
.
Object to express update target columns and restriction.
type UpdateTarget p r = Record Flat r -> Assign r (PlaceHolders p) Source #
UpdateTarget type with place-holder parameter p
and projected record type r
.
liftTargetAllColumn' :: PersistableWidth r => (Record Flat r -> Restrict (PlaceHolders p)) -> Record Flat r -> Assign r (PlaceHolders (r, p)) Source #
Object to express insert terget.
data InsertTarget p r Source #
InsertTarget type with place-holder parameter p
and projected record type r
.
insertTarget' :: Register r (PlaceHolders p) -> InsertTarget p r Source #
Finalize Register
monad and generate InsertTarget
with place-holder parameter p
.
piRegister :: PersistableWidth r => Pi r r' -> Register r (PlaceHolders r') Source #
Generate SQL from restriction.
deleteFromRestriction :: Config -> Table r -> (Record Flat r -> Restrict (PlaceHolders p)) -> StringSQL Source #
updateFromUpdateTarget :: Config -> Table r -> (Record Flat r -> Assign r (PlaceHolders p)) -> StringSQL Source #
sqlChunkFromInsertTarget :: Config -> Table r -> InsertTarget p r -> (StringSQL, Int) Source #
Make StringSQL
string of SQL INSERT record chunk statement from InsertTarget
sqlFromInsertTarget :: Config -> Table r -> InsertTarget p r -> StringSQL Source #
Make StringSQL
string of SQL INSERT statement from InsertTarget
sqlChunksFromRecordList :: LiteralSQL r' => Config -> Table r -> Pi r r' -> [r'] -> [StringSQL] Source #
Make StringSQL
strings of SQL INSERT strings from records list
Deprecated
restriction :: (Record Flat r -> Restrict ()) -> Restriction () r Source #
Deprecated: same as ((>> return unitPH) .)
Deprecated.
restriction' :: (Record Flat r -> Restrict (PlaceHolders p)) -> Restriction p r Source #
Deprecated: same as id
Deprecated.
updateTarget :: (Record Flat r -> Assign r ()) -> UpdateTarget () r Source #
Deprecated: old-style API. Use new-style Database.Relational.updateNoPH.
Deprecated.
updateTarget' :: (Record Flat r -> Assign r (PlaceHolders p)) -> UpdateTarget p r Source #
Deprecated: same as id
Deprecated.
liftTargetAllColumn :: PersistableWidth r => (Record Flat r -> Restrict (PlaceHolders ())) -> Record Flat r -> Assign r (PlaceHolders r) Source #
updateTargetAllColumn :: PersistableWidth r => (Record Flat r -> Restrict ()) -> Record Flat r -> Assign r (PlaceHolders r) Source #
Deprecated: Use Database.Relational.updateAllColumnNoPH instead of this.
Deprecated.
updateTargetAllColumn' :: PersistableWidth r => (Record Flat r -> Restrict (PlaceHolders p)) -> Record Flat r -> Assign r (PlaceHolders (r, p)) Source #
Deprecated: Use Database.Relational.updateAllColumn instead of this.
Deprecated.
insertTarget :: Register r () -> InsertTarget () r Source #
Deprecated: old-style API. Use new-style Database.Relational.insertValueNoPH .
Finalize Register
monad and generate InsertTarget
.
sqlWhereFromRestriction :: Config -> Table r -> (Record Flat r -> Restrict (PlaceHolders p)) -> StringSQL Source #
sqlFromUpdateTarget :: Config -> Table r -> (Record Flat r -> Assign r (PlaceHolders p)) -> StringSQL Source #
Orphan instances
TableDerivable r => Show (Record Flat r -> Assign r (PlaceHolders p)) Source # | Show Set clause and WHERE clause. |
TableDerivable r => Show (Record Flat r -> Restrict (PlaceHolders p)) Source # | Show WHERE clause. |