open Relational open Examples (* mustn't type: different column types *) let wrong_prodc = sel_equal' `Name `User_id "name" "user_id" (function (`Name x, `User_id y) -> x = y | _ -> true) prod2 (* must not type, missing column *) let q5 = sel_equal (`User_name "bar") "user_name" (function `Name x -> poly_value_to_sql x | _ -> invalid_arg "") @@ q4 (* must not type, missing column *) (* let foo3b = PROJECT [`Password] foo *) let foo3b = project (function `Password -> `Password) ["password"] foo2 (* must not type, wrong column type *) let foo2_1b = sel_equal (`Name 34) "name" (function `Name x -> poly_value_to_sql x | _ -> invalid_arg "") foo2