diff options
Diffstat (limited to 'src/clojure/contrib/datalog/database.clj')
-rw-r--r-- | src/clojure/contrib/datalog/database.clj | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/clojure/contrib/datalog/database.clj b/src/clojure/contrib/datalog/database.clj index a24f093c..aba41df9 100644 --- a/src/clojure/contrib/datalog/database.clj +++ b/src/clojure/contrib/datalog/database.clj @@ -152,8 +152,11 @@ (into {} (for [ik (keys idxs)] (let [im (idxs ik) iv (tuple ik) - os (get im iv #{})] - [ik (assoc im iv (f os tuple))])))) + os (get im iv #{}) + ns (f os tuple)] + [ik (if (empty? ns) + (dissoc im iv) + (assoc im iv (f os tuple)))])))) (defn- add-to-indexes "Adds the tuple to the appropriate keys in the index map" |