From c0a6029c982508efaa1f00caf4b61dc0096443b2 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sun, 8 Mar 2009 12:37:42 -0400 Subject: RPC returning an enumeration --- tests/rpcDE.ur | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 tests/rpcDE.ur (limited to 'tests/rpcDE.ur') diff --git a/tests/rpcDE.ur b/tests/rpcDE.ur new file mode 100644 index 00000000..64e190f5 --- /dev/null +++ b/tests/rpcDE.ur @@ -0,0 +1,30 @@ +datatype result = Neg | Zero | Pos + +table t : {A : int} + +fun main () : transaction page = + let + fun check () = + r <- oneRow (SELECT SUM(t.A) AS X FROM t); + return (if r.X < 0 then + Neg + else if r.X = 0 then + Zero + else + Pos) + + fun show r = + case r of + Neg => - + | Zero => 0 + | Pos => + + in + s <- source Zero; + return +