diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-09-07 13:47:10 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-09-07 13:47:10 -0400 |
commit | 725ce6746ebcd76fc3a8c7aa3248805493d71fa0 (patch) | |
tree | 8292403aa4aeb15da4f89189e97210b353704140 /lib | |
parent | 8443e6fb491fa8c8877e53e6548e2fca401e24d5 (diff) |
Elaborated 'insert'
Diffstat (limited to 'lib')
-rw-r--r-- | lib/basis.urs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/basis.urs b/lib/basis.urs index 3bd2459c..4cd2f6da 100644 --- a/lib/basis.urs +++ b/lib/basis.urs @@ -198,6 +198,28 @@ val query : tables ::: {{Type}} -> exps ::: {Type} -> tables ~ exps -> 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 |