CurryInfo: ertools-3.0.0 / Database.ERD.Generic.deleteEntryR

definition:
deleteEntryR :: (Eq a, Read a, Show a, Eq b, Read b, Show b) =>
                (Key -> (a,b) -> Dynamic) -> a -> b -> Transaction ()
deleteEntryR entrypred key1 key2 =
  getDB (transformQ (map fst . filter (\ (_,i) -> i==(key1,key2)))
                    (allDBKeyInfos entrypred)) |>>= \kis ->
  if null kis
   then errorT (TError NoRelationshipError 
                       ("relationship for deletion not found for keys: "
                        ++show key1++" "++show key2))
   else deleteDBEntries entrypred kis
demand:
no demanded arguments
deterministic:
deterministic operation
documentation:
-- Delete a relationship represented as an entity.
-- If the relationship does not exist, a NoRelationshipError is raised.
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,_,_,_,_,_,_,_,_) |-> _}
name:
deleteEntryR
precedence:
no precedence defined
result-values:
_
signature:
(Prelude.Eq a, Prelude.Read a, Prelude.Show a, Prelude.Eq b, Prelude.Read b, Prelude.Show b) => (Prelude.Int
-> (a, b) -> Database.KeyDatabaseSQLite.Dynamic) -> a -> b
-> Database.KeyDatabaseSQLite.Transaction ()
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term