view sql.urs @ 8:ec4de8f848f8

Switch to lib.urp
author Adam Chlipala <adam@chlipala.net>
date Tue, 14 Dec 2010 10:54:26 -0500
parents 799f43bce62b
children d05943db55e8
line wrap: on
line source
(** Common metaprogramming patterns for SQL syntax construction *)

val sqexps : env ::: {{Type}} -> fields ::: {Type} -> folder fields -> $(map sql_injectable fields)
             -> $fields -> $(map (sql_exp env [] []) fields)
(* Convert a record of Ur values into a record of SQL expressions *)

val selector : tn :: Name -> fs ::: {Type} -> ofs ::: {Type} -> [fs ~ ofs]
               => folder fs -> $(map sql_injectable fs) -> $fs
               -> sql_exp [tn = ofs ++ fs] [] [] bool
(* Build a boolean SQL expression expressing equality of some fields of a table
 * row with a record of Ur values *)