File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- {:deps {org.clojars.tiensonqin/persistent-sorted-set {:mvn/version " 0.0.1 " }}
1+ {:deps {org.clojars.tiensonqin/persistent-sorted-set {:mvn/version " 0.0.2 " }}
22
33 :aliases {:1.9 {:override-deps {org.clojure/clojure {:mvn/version " 1.9.0" }}}
44
Original file line number Diff line number Diff line change 3838
3939(defrecord StorageAdapter [storage]
4040 set-protocol /IStorage
41- (store [_ ^Node node]
42- (let [addr (gen-addr )
41+ (store [_ ^Node node address]
42+ (let [addr (cond
43+ (and address (instance? Node node)
44+ (contains? (set (.-addresses node)) address))
45+ (gen-addr )
46+ :else
47+ (or address (gen-addr )))
4348 keys (mapv serializable-datom (.-keys node))
4449 data (cond-> {:keys keys}
4550 (instance? Node node)
5055 (let [{:keys [keys addresses]} (-restore storage addr)]
5156 (when keys
5257 (let [keys' (->> (map (fn [[e a v tx]] (db/datom e a v tx)) keys)
53- (arrays/into-array ))]
58+ (arrays/into-array ))
59+ opts {:address addr :dirty? false }]
5460 (if addresses
5561 (let [children (arrays/make-array (count addresses))]
56- (Node. keys' children addresses))
57- (Leaf. keys'))))))
62+ (set/new-node keys' children addresses opts ))
63+ (set/new-leaf keys' opts ))))))
5864 (accessed [_ _addr]
5965 ; ; TODO:
6066 nil )
You can’t perform that action at this time.
0 commit comments