view tests/nested.ur @ 2174:ce312cad5ecd

Use correct OpenSSL thread safety macros on OS X (closes #209) Create an Autoconf test to determine if pthread_t is a pointer or scalar type, and use the appropriate CRYPTO_THREADID_set macro based on the result.
author Benjamin Barenblat <bbaren at mit.edu>
date Sun, 20 Sep 2015 17:46:07 -0400
parents 8e9f2d247dba
children
line wrap: on
line source
table t : {A : int, B : int}

fun init () =
    dml (DELETE FROM t WHERE TRUE);
    dml (INSERT INTO t (A, B) VALUES (1, 2));
    dml (INSERT INTO t (A, B) VALUES (2, 3))

fun easy () =
    queryX' (SELECT MAX(t.A) AS M FROM t)
    (fn r =>
        queryX (SELECT * FROM t WHERE t.A = {[r.M]})
        (fn r => <xml>({[r.T.A]}, {[r.T.B]})</xml>))

fun hard id =
    queryX' (SELECT t.B AS N FROM t WHERE t.A = {[id]})
    (fn r =>
        b <- hard r.N;
        return <xml>({[id]}, {[r.N]}); {b}</xml>)

fun doit () =
    init ();
    b1 <- easy ();
    b2 <- hard 1;
    return <xml><body>
      {b1}<br/>
      {b2}
    </body></xml>

fun main () = return <xml><body><form><submit action={doit}/></form></body></xml>