diff src/iflow.sml @ 2221:278e10629ba1

Basic field-resolution invalidation.
author Ziv Scully <ziv@mit.edu>
date Sat, 29 Nov 2014 03:37:59 -0500
parents 70ec9bb337be
children 25874084bf1f
line wrap: on
line diff
--- a/src/iflow.sml	Mon Nov 24 20:47:38 2014 -0500
+++ b/src/iflow.sml	Sat Nov 29 03:37:59 2014 -0500
@@ -1870,14 +1870,15 @@
                                         case e of
                                             EDml (e, fm) =>
                                             nameSubexps (fn (_, e') => (EDml (e', fm), #2 e)) e
-                                          | EQuery {exps, tables, state, query, body, initial} =>
+                                          | EQuery {exps, tables, state, query, body, initial, sqlcacheInfo} =>
                                             nameSubexps (fn (liftBy, e') =>
                                                             (EQuery {exps = exps,
                                                                      tables = tables,
                                                                      state = state,
                                                                      query = e',
                                                                      body = mliftExpInExp liftBy 2 body,
-                                                                     initial = mliftExpInExp liftBy 0 initial},
+                                                                     initial = mliftExpInExp liftBy 0 initial,
+                                                                     sqlcacheInfo = sqlcacheInfo},
                                                              #2 query)) query
                                           | _ => e,
                                      decl = fn d => d}
@@ -2070,11 +2071,12 @@
                           | ESeq (e1, e2) => (ESeq (doExp env e1, doExp env e2), loc)
                           | ELet (x, t, e1, e2) => (ELet (x, t, doExp env e1, doExp (Unknown :: env) e2), loc)
                           | EClosure (n, es) => (EClosure (n, map (doExp env) es), loc)
-                          | EQuery {exps, tables, state, query, body, initial} =>
+                          | EQuery {exps, tables, state, query, body, initial, sqlcacheInfo} =>
                             (EQuery {exps = exps, tables = tables, state = state,
                                      query = doExp env query,
                                      body = doExp (Unknown :: Unknown :: env) body,
-                                     initial = doExp env initial}, loc)
+                                     initial = doExp env initial,
+                                     sqlcacheInfo = sqlcacheInfo}, loc)
                           | EDml (e1, mode) =>
                             (case parse dml e1 of
                                  NONE => ()