aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/iflow.sml
diff options
context:
space:
mode:
authorGravatar Ziv Scully <ziv@mit.edu>2014-11-29 03:37:59 -0500
committerGravatar Ziv Scully <ziv@mit.edu>2014-11-29 03:37:59 -0500
commit476f12674420391e24afd1846e176eabe550d36c (patch)
tree005dcd53b84f29711c04508a9202f6c8e03c87c8 /src/iflow.sml
parentb59e6e96601c09bd97a4cce881c9b9f8bf8816a3 (diff)
Basic field-resolution invalidation.
Diffstat (limited to 'src/iflow.sml')
-rw-r--r--src/iflow.sml10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/iflow.sml b/src/iflow.sml
index f68d8f72..b8346baa 100644
--- a/src/iflow.sml
+++ b/src/iflow.sml
@@ -1870,14 +1870,15 @@ val namer = MonoUtil.File.map {typ = fn t => t,
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 @@ fun check (file : file) =
| 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 => ()