Skip to content

Commit 29985da

Browse files
committed
bump set
1 parent 7015dd0 commit 29985da

2 files changed

Lines changed: 7 additions & 14 deletions

File tree

deps.edn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{:deps {org.clojars.tiensonqin/persistent-sorted-set {:mvn/version "0.0.5"}}
1+
{:deps {org.clojars.tiensonqin/persistent-sorted-set {:mvn/version "0.0.6"}}
22

33
:aliases {:1.9 {:override-deps {org.clojure/clojure {:mvn/version "1.9.0"}}}
44

src/datascript/storage.cljs

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
(def ^:private ^:dynamic *store-buffer*)
2222
;; unused addresses
2323
(def ^:private *delete-buffer (atom {}))
24-
;; kept addresses
25-
(def ^:private *kept-buffer (atom {}))
2624

2725
(defn serializable-datom [^Datom d]
2826
[(.-e d) (.-a d) (.-v d) (.-tx d)])
@@ -44,14 +42,14 @@
4442
(store [_ ^Node node address]
4543
(let [addr (cond
4644
(and address (instance? Node node)
47-
(contains? (set (.-addresses node)) address))
45+
(contains? (set (.-_addresses node)) address))
4846
(gen-addr)
4947
:else
5048
(or address (gen-addr)))
5149
keys (mapv serializable-datom (.-keys node))
5250
data (cond-> {:keys keys}
5351
(instance? Node node)
54-
(assoc :addresses (.-addresses node)))]
52+
(assoc :addresses (.-_addresses node)))]
5553
(vswap! *store-buffer* conj! [addr data])
5654
addr))
5755
(restore [_ addr]
@@ -68,13 +66,10 @@
6866
;; TODO:
6967
nil)
7068

71-
(delete [_ unused-addresses kept-addresses]
69+
(delete [_ unused-addresses]
7270
(swap! *delete-buffer update storage
7371
(fn [buffer]
74-
(concat buffer (remove nil? unused-addresses))))
75-
(swap! *kept-buffer update storage
76-
(fn [buffer]
77-
(concat buffer (remove nil? kept-addresses))))))
72+
(into buffer (remove nil? unused-addresses))))))
7873

7974
(defn make-storage-adapter [storage _opts]
8075
(StorageAdapter. storage))
@@ -122,11 +117,9 @@
122117
(vswap! *store-buffer* conj! [root-addr meta])
123118
(vswap! *store-buffer* conj! [tail-addr []])
124119
(let [storage (:storage adapter)
125-
kept-addrs (set (get @*kept-buffer storage))
126120
delete-addrs (->> (get @*delete-buffer storage)
127-
(remove kept-addrs))
128-
_ (swap! *delete-buffer assoc storage nil)
129-
_ (swap! *kept-buffer assoc storage nil)]
121+
(distinct))
122+
_ (swap! *delete-buffer assoc storage nil)]
130123
(-store storage (persistent! @*store-buffer*) delete-addrs)))
131124
db))))
132125

0 commit comments

Comments
 (0)