diff lib/basis.urs @ 299:5f6a60b7ab00

Elaborated 'insert'
author Adam Chlipala <adamc@hcoop.net>
date Sun, 07 Sep 2008 13:47:10 -0400
parents 6e665c7c96f6
children cde1ec47f3af
line wrap: on
line diff
--- a/lib/basis.urs	Sun Sep 07 13:31:45 2008 -0400
+++ b/lib/basis.urs	Sun Sep 07 13:47:10 2008 -0400
@@ -198,6 +198,28 @@
         -> transaction state
 
 
+(*** Database mutators *)
+
+type dml
+val dml : dml -> transaction unit
+
+val insert : fields ::: {Type}
+        -> sql_table fields
+        -> $fields
+        -> dml
+
+val update : changed ::: {Type} -> unchanged ::: {Type} -> changed ~ unchanged
+        -> sql_table (changed ++ unchanged)
+        -> $changed
+        -> sql_exp [T = changed ++ unchanged] [] [] bool
+        -> dml
+
+val delete : fields ::: {Type}
+        -> sql_table fields
+        -> sql_exp [T = fields] [] [] bool
+        -> dml
+
+
 (** XML *)
 
 con tag :: {Type} -> {Unit} -> {Unit} -> {Type} -> {Type} -> Type