diff src/monoize.sml @ 2084:0d48cfb59b29

More aggressive inlining of 'let' with record literals, plus some changes to Monoization of queries, to make inlining more common
author Adam Chlipala <adam@chlipala.net>
date Thu, 04 Dec 2014 02:47:24 -0500
parents f05fcb206571
children 9a1547596712 5709482a2afd
line wrap: on
line diff
--- a/src/monoize.sml	Wed Dec 03 21:21:37 2014 -0500
+++ b/src/monoize.sml	Thu Dec 04 02:47:24 2014 -0500
@@ -1992,9 +1992,9 @@
                            strcat [gf "Rows",
                                    (L'.ECase (gf "OrderBy",
                                               [((L'.PPrim (Prim.String (Prim.Normal, "")), loc), str ""),
-                                               ((L'.PWild, loc),
+                                               ((L'.PVar ("orderby", s), loc),
                                                 strcat [str " ORDER BY ",
-                                                        gf "OrderBy"])],
+                                                        (L'.ERel 0, loc)])],
                                               {disc = s, result = s}), loc),
                                    gf "Limit",
                                    gf "Offset"]), loc), fm)
@@ -2103,8 +2103,8 @@
                                                       [((L'.PPrim (Prim.String (Prim.Normal, #trueString (Settings.currentDbms ()))),
                                                          loc),
                                                         str ""),
-                                                       ((L'.PWild, loc),
-                                                        strcat [str " WHERE ", gf "Where"])],
+                                                       ((L'.PVar ("where", s), loc),
+                                                        strcat [str " WHERE ", (L'.ERel 0, loc)])],
                                                       {disc = s,
                                                        result = s}), loc),
 
@@ -2132,8 +2132,8 @@
                                                       [((L'.PPrim (Prim.String
                                                                        (Prim.Normal, #trueString (Settings.currentDbms ()))), loc),
                                                         str ""),
-                                                       ((L'.PWild, loc),
-                                                        strcat [str " HAVING ", gf "Having"])],
+                                                       ((L'.PVar ("having", s), loc),
+                                                        strcat [str " HAVING ", (L'.ERel 0, loc)])],
                                                       {disc = s,
                                                        result = s}), loc)
                                   ]), loc),