aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/ur/list.ur
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2011-01-15 14:53:13 -0500
committerGravatar Adam Chlipala <adam@chlipala.net>2011-01-15 14:53:13 -0500
commit5ec949e910342f6212c85c8df75283d091817408 (patch)
treef006a9c9104c45938d59a3ee34e251ada814e5e1 /lib/ur/list.ur
parente3ce087d0a3473e3905556c226d6c5bbb2bc9a39 (diff)
Allow subqueries to reference aggregate-only columns of free tables; treat non-COUNT aggregate functions as possibly returning NULL
Diffstat (limited to 'lib/ur/list.ur')
-rw-r--r--lib/ur/list.ur6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/ur/list.ur b/lib/ur/list.ur
index 3153cc32..d0c2e7a1 100644
--- a/lib/ur/list.ur
+++ b/lib/ur/list.ur
@@ -254,7 +254,7 @@ fun app [m] (_ : monad m) [a] f =
end
fun mapQuery [tables ::: {{Type}}] [exps ::: {Type}] [t ::: Type]
- [tables ~ exps] (q : sql_query [] tables exps)
+ [tables ~ exps] (q : sql_query [] [] tables exps)
(f : $(exps ++ map (fn fields :: {Type} => $fields) tables) -> t) =
ls <- query q
(fn fs acc => return (f fs :: acc))
@@ -262,7 +262,7 @@ fun mapQuery [tables ::: {{Type}}] [exps ::: {Type}] [t ::: Type]
return (rev ls)
fun mapQueryM [tables ::: {{Type}}] [exps ::: {Type}] [t ::: Type]
- [tables ~ exps] (q : sql_query [] tables exps)
+ [tables ~ exps] (q : sql_query [] [] tables exps)
(f : $(exps ++ map (fn fields :: {Type} => $fields) tables) -> transaction t) =
ls <- query q
(fn fs acc => v <- f fs; return (v :: acc))
@@ -270,7 +270,7 @@ fun mapQueryM [tables ::: {{Type}}] [exps ::: {Type}] [t ::: Type]
return (rev ls)
fun mapQueryPartialM [tables ::: {{Type}}] [exps ::: {Type}] [t ::: Type]
- [tables ~ exps] (q : sql_query [] tables exps)
+ [tables ~ exps] (q : sql_query [] [] tables exps)
(f : $(exps ++ map (fn fields :: {Type} => $fields) tables) -> transaction (option t)) =
ls <- query q
(fn fs acc => v <- f fs;