Mercurial > meta
diff sql.urs @ 6:799f43bce62b
Import some code from iwl
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Tue, 14 Dec 2010 10:33:24 -0500 |
parents | |
children | d05943db55e8 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sql.urs Tue Dec 14 10:33:24 2010 -0500 @@ -0,0 +1,11 @@ +(** 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 *)