diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-08-28 12:56:08 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-08-28 12:56:08 -0400 |
commit | 86b1f463ce9af2ddfcd86bb75279b9809b22db6a (patch) | |
tree | b356ee03cb6af9e37de926271f5cc02376641fc9 /lib/basis.lig | |
parent | fe8bd11ade81a5835d72c498a763c13c17fddd25 (diff) |
More aggregate functions
Diffstat (limited to 'lib/basis.lig')
-rw-r--r-- | lib/basis.lig | 19 |
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 *) |