summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-08-28 12:56:08 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-08-28 12:56:08 -0400
commit86b1f463ce9af2ddfcd86bb75279b9809b22db6a (patch)
treeb356ee03cb6af9e37de926271f5cc02376641fc9 /lib
parentfe8bd11ade81a5835d72c498a763c13c17fddd25 (diff)
More aggregate functions
Diffstat (limited to 'lib')
-rw-r--r--lib/basis.lig19
1 files changed, 18 insertions, 1 deletions
diff --git a/lib/basis.lig b/lib/basis.lig
index 0b685301..f14a9233 100644
--- a/lib/basis.lig
+++ b/lib/basis.lig
@@ -121,13 +121,30 @@ val sql_gt : sql_comparison
val sql_ge : sql_comparison
val sql_comparison : sql_comparison
-> tables ::: {{Type}} -> agg ::: {{Type}} -> exps ::: {Type}
- -> t ::: Type -> sql_injectable t
+ -> t ::: Type
-> sql_exp tables agg exps t -> sql_exp tables agg exps t
-> sql_exp tables agg exps bool
val sql_count : tables ::: {{Type}} -> agg ::: {{Type}} -> exps ::: {Type}
-> unit -> sql_exp tables agg exps int
+con sql_aggregate :: Type -> Type
+val sql_aggregate : tables ::: {{Type}} -> agg ::: {{Type}} -> exps ::: {Type} -> t ::: Type
+ -> sql_aggregate t -> sql_exp agg agg exps t -> sql_exp tables agg exps t
+
+class sql_summable
+val sql_summable_int : sql_summable int
+val sql_summable_float : sql_summable float
+val sql_avg : t ::: Type -> sql_summable t -> sql_aggregate t
+val sql_sum : t ::: Type -> sql_summable t -> sql_aggregate t
+
+class sql_maxable
+val sql_maxable_int : sql_maxable int
+val sql_maxable_float : sql_maxable float
+val sql_maxable_string : sql_maxable string
+val sql_max : t ::: Type -> sql_maxable t -> sql_aggregate t
+val sql_min : t ::: Type -> sql_maxable t -> sql_aggregate t
+
(** XML *)