diff options
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 |