diff options
author | Ziv Scully <ziv@mit.edu> | 2015-07-07 00:07:24 -0700 |
---|---|---|
committer | Ziv Scully <ziv@mit.edu> | 2015-07-07 00:07:24 -0700 |
commit | 03b7950e3639899de788cac8824a0e7f4be8a0bd (patch) | |
tree | 3863c03ffd1f8d9c22e67f009292ede55f64d4f7 /src/sqlcache.sml | |
parent | f9021ccf1a76dd7e570061849acdec515b5be790 (diff) |
Add limited support for parsing SQL arithmetic.
Diffstat (limited to 'src/sqlcache.sml')
-rw-r--r-- | src/sqlcache.sml | 14 |
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 |