comparison src/monoize.sml @ 309:ea62b15da922

First DELETE works
author Adam Chlipala <adamc@hcoop.net>
date Sun, 07 Sep 2008 15:16:10 -0400
parents 72480e249130
children 9ad92047a499
comparison
equal deleted inserted replaced
308:72480e249130 309:ea62b15da922
651 sc " WHERE ", 651 sc " WHERE ",
652 (L'.ERel 0, loc)]), loc)), loc)), loc), 652 (L'.ERel 0, loc)]), loc)), loc)), loc),
653 fm) 653 fm)
654 end 654 end
655 | _ => poly ()) 655 | _ => poly ())
656
657 | L.ECApp ((L.EFfi ("Basis", "delete"), _), _) =>
658 let
659 val s = (L'.TFfi ("Basis", "string"), loc)
660 fun sc s = (L'.EPrim (Prim.String s), loc)
661 in
662 ((L'.EAbs ("tab", s, (L'.TFun (s, s), loc),
663 (L'.EAbs ("e", s, s,
664 strcat loc [sc "DELETE FROM ",
665 (L'.ERel 1, loc),
666 sc " AS T WHERE ",
667 (L'.ERel 0, loc)]), loc)), loc),
668 fm)
669 end
656 670
657 | L.ECApp ( 671 | L.ECApp (
658 (L.ECApp ( 672 (L.ECApp (
659 (L.ECApp ((L.EFfi ("Basis", "query"), _), (L.CRecord (_, tables), _)), _), 673 (L.ECApp ((L.EFfi ("Basis", "query"), _), (L.CRecord (_, tables), _)), _),
660 exps), _), 674 exps), _),