Mercurial > meta
view sql.urs @ 10:763eb2f2aa5a
Record.mem
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Thu, 03 Feb 2011 09:31:32 -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 *)