view tests/subquery.ur @ 1249:7c6fc92f6c31

Complain about DValRec; optimizations for unit-valued ECase and forgetting of path conditions across ESeq
author Adam Chlipala <adamc@hcoop.net>
date Thu, 29 Apr 2010 11:47:24 -0400
parents 9c82548c97e9
children
line wrap: on
line source
table t : { A : int, B : int, C : int }

fun main () =
    v <- queryX1 (SELECT t.A, t.C
                  FROM t
                  WHERE t.B = (SELECT MAX(U.B) AS M
                               FROM t AS U
                               WHERE U.A = t.A))
                 (fn r => <xml>{[r.A]},{[r.C]};</xml>);
    v' <- queryX1 (SELECT t.A, t.C
                   FROM (SELECT t.A AS A, MAX(t.B) AS B
                         FROM t
                         GROUP BY t.A) AS Maxes
                   JOIN t ON t.A = Maxes.A AND t.B = Maxes.B)
                  (fn r => <xml>{[r.A]},{[r.C]};</xml>);
    return <xml><body>
      {v}<br/>
      {v'}
    </body></xml>