aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sqlcache.sml
diff options
context:
space:
mode:
authorGravatar Ziv Scully <ziv@mit.edu>2015-07-07 00:07:24 -0700
committerGravatar Ziv Scully <ziv@mit.edu>2015-07-07 00:07:24 -0700
commit03b7950e3639899de788cac8824a0e7f4be8a0bd (patch)
tree3863c03ffd1f8d9c22e67f009292ede55f64d4f7 /src/sqlcache.sml
parentf9021ccf1a76dd7e570061849acdec515b5be790 (diff)
Add limited support for parsing SQL arithmetic.
Diffstat (limited to 'src/sqlcache.sml')
-rw-r--r--src/sqlcache.sml14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/sqlcache.sml b/src/sqlcache.sml
index d5f6c1c0..5f737ac5 100644
--- a/src/sqlcache.sml
+++ b/src/sqlcache.sml
@@ -410,15 +410,13 @@ structure ConflictMaps = struct
List.foldr (fn (SOME eqs, SOME acc) => SOME (IM.unionWith #1 (eqs, acc)) | _ => NONE)
(SOME IM.empty)
+ val simplify =
+ map TS.listItems
+ o removeRedundant (fn (x, y) => TS.isSubset (y, x))
+ o map (fn xs => TS.addList (TS.empty, xs))
+
fun dnf (fQuery, fDml) =
- let
- val simplify =
- map TS.listItems
- o removeRedundant (fn (x, y) => TS.isSubset (y, x))
- o map (fn xs => TS.addList (TS.empty, xs))
- in
- normalize simplify negateCmp Disj (Combo (Conj, [markQuery fQuery, markDml fDml]))
- end
+ normalize simplify negateCmp Disj (Combo (Conj, [markQuery fQuery, markDml fDml]))
val conflictMaps = List.mapPartial (mergeEqs o map eqsOfClass o equivClasses) o dnf