Mercurial > urweb
diff src/monoize.sml @ 1266:459a334345ae
-moduleOf command-line option; compatibility fixes and better error messages for SQLite
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 27 May 2010 16:36:17 -0400 |
parents | beb67ff4c8a0 |
children | 56bd4a4f6e66 |
line wrap: on
line diff
--- a/src/monoize.sml Thu May 27 15:10:52 2010 -0400 +++ b/src/monoize.sml Thu May 27 16:36:17 2010 -0400 @@ -1900,7 +1900,8 @@ {disc = s, result = s}), loc), (L'.ECase (gf "Where", - [((L'.PPrim (Prim.String "TRUE"), loc), + [((L'.PPrim (Prim.String (#trueString (Settings.currentDbms ()))), + loc), sc ""), ((L'.PWild, loc), strcat [sc " WHERE ", gf "Where"])], @@ -2114,13 +2115,21 @@ ((L'.PRecord [("2", (L'.PPrim (Prim.String ""), loc), s)], loc), (L'.ERel 2, loc)), ((L'.PWild, loc), - strcat [(L'.EPrim (Prim.String "("), loc), - (L'.ERel 2, loc), - (L'.EPrim (Prim.String " JOIN "), loc), - (L'.ERel 1, loc), - (L'.EPrim (Prim.String " ON "), loc), - (L'.ERel 0, loc), - (L'.EPrim (Prim.String ")"), loc)])], + strcat ((if #nestedRelops + (Settings.currentDbms ()) then + [(L'.EPrim (Prim.String "("), loc)] + else + []) + @ [(L'.ERel 2, loc), + (L'.EPrim (Prim.String " JOIN "), loc), + (L'.ERel 1, loc), + (L'.EPrim (Prim.String " ON "), loc), + (L'.ERel 0, loc)] + @ (if #nestedRelops + (Settings.currentDbms ()) then + [(L'.EPrim (Prim.String ")"), loc)] + else + [])))], {disc = (L'.TRecord [("1", s), ("2", s)], loc), result = s}), loc)), loc)), loc)), loc), fm) @@ -2144,13 +2153,22 @@ loc), s)], loc), (L'.ERel 2, loc)), ((L'.PWild, loc), - strcat [(L'.EPrim (Prim.String "("), loc), - (L'.ERel 2, loc), - (L'.EPrim (Prim.String " LEFT JOIN "), loc), - (L'.ERel 1, loc), - (L'.EPrim (Prim.String " ON "), loc), - (L'.ERel 0, loc), - (L'.EPrim (Prim.String ")"), loc)])], + strcat ((if #nestedRelops + (Settings.currentDbms ()) then + [(L'.EPrim (Prim.String "("), loc)] + else + []) + @ [(L'.ERel 2, loc), + (L'.EPrim (Prim.String " LEFT JOIN "), + loc), + (L'.ERel 1, loc), + (L'.EPrim (Prim.String " ON "), loc), + (L'.ERel 0, loc)] + @ (if #nestedRelops + (Settings.currentDbms ()) then + [(L'.EPrim (Prim.String ")"), loc)] + else + [])))], {disc = (L'.TRecord [("1", s), ("2", s)], loc), result = s}), loc)), loc)), loc)), loc)), loc), fm) @@ -2174,13 +2192,22 @@ loc), s)], loc), (L'.ERel 2, loc)), ((L'.PWild, loc), - strcat [(L'.EPrim (Prim.String "("), loc), - (L'.ERel 2, loc), - (L'.EPrim (Prim.String " RIGHT JOIN "), loc), - (L'.ERel 1, loc), - (L'.EPrim (Prim.String " ON "), loc), - (L'.ERel 0, loc), - (L'.EPrim (Prim.String ")"), loc)])], + strcat ((if #nestedRelops + (Settings.currentDbms ()) then + [(L'.EPrim (Prim.String "("), loc)] + else + []) + @ [(L'.ERel 2, loc), + (L'.EPrim (Prim.String " RIGHT JOIN "), + loc), + (L'.ERel 1, loc), + (L'.EPrim (Prim.String " ON "), loc), + (L'.ERel 0, loc)] + @ (if #nestedRelops + (Settings.currentDbms ()) then + [(L'.EPrim (Prim.String ")"), loc)] + else + [])))], {disc = (L'.TRecord [("1", s), ("2", s)], loc), result = s}), loc)), loc)), loc)), loc)), loc), fm) @@ -2204,13 +2231,22 @@ loc), s)], loc), (L'.ERel 2, loc)), ((L'.PWild, loc), - strcat [(L'.EPrim (Prim.String "("), loc), - (L'.ERel 2, loc), - (L'.EPrim (Prim.String " FULL JOIN "), loc), - (L'.ERel 1, loc), - (L'.EPrim (Prim.String " ON "), loc), - (L'.ERel 0, loc), - (L'.EPrim (Prim.String ")"), loc)])], + strcat ((if #nestedRelops + (Settings.currentDbms ()) then + [(L'.EPrim (Prim.String "("), loc)] + else + []) + @ [(L'.ERel 2, loc), + (L'.EPrim (Prim.String " FULL JOIN "), + loc), + (L'.ERel 1, loc), + (L'.EPrim (Prim.String " ON "), loc), + (L'.ERel 0, loc)] + @ (if #nestedRelops + (Settings.currentDbms ()) then + [(L'.EPrim (Prim.String ")"), loc)] + else + [])))], {disc = (L'.TRecord [("1", s), ("2", s)], loc), result = s}), loc)), loc)), loc)), loc)), loc), fm)