view tests/filter.ur @ 1232:efbefd6e3f6c

When applying multiple policies at once, filter the policy set at the beginning, removing unmatchable policies
author Adam Chlipala <adamc@hcoop.net>
date Tue, 13 Apr 2010 09:31:04 -0400
parents 6d9538ce94d8
children
line wrap: on
line source
fun filter [fs ::: {Type}] [ks] (t : sql_table fs ks) (p : sql_exp [T = fs] [] [] bool)
   : sql_query [T = fs] [] =
   (SELECT * FROM t WHERE {p})

table t : { A : int, B : float }

fun main () =
    queryX (filter t (WHERE t.A > 3))
           (fn r => <xml>{[r.T.A]}, {[r.T.B]}</xml>)