summaryrefslogtreecommitdiff
path: root/lib/top.urs
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-11-06 17:09:53 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-11-06 17:09:53 -0500
commit98d669cf07157e275fa796fdd5ad35f3388b0ad1 (patch)
tree16401277a8c24a1bcfcc410700526f64ba27a5b8 /lib/top.urs
parent5b41c32b3fb60944fd5d342f7f6ee4413510b9f5 (diff)
About to begin optimization of recursive transaction functions
Diffstat (limited to 'lib/top.urs')
-rw-r--r--lib/top.urs8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/top.urs b/lib/top.urs
index d52ec9d7..6653db07 100644
--- a/lib/top.urs
+++ b/lib/top.urs
@@ -141,6 +141,14 @@ val queryX : tables ::: {{Type}} -> exps ::: {Type} -> ctx ::: {Unit}
-> xml ctx [] [])
-> transaction (xml ctx [] [])
+val queryX' : tables ::: {{Type}} -> exps ::: {Type} -> ctx ::: {Unit}
+ -> sql_query tables exps
+ -> fn [tables ~ exps] =>
+ ($(exps ++ fold (fn nm (fields :: {Type}) acc [[nm] ~ acc] =>
+ [nm = $fields] ++ acc) [] tables)
+ -> transaction (xml ctx [] []))
+ -> transaction (xml ctx [] [])
+
val oneOrNoRows : tables ::: {{Type}} -> exps ::: {Type}
-> sql_query tables exps
-> fn [tables ~ exps] =>