threatgrid / asami

A graph store for Clojure and ClojureScript
Eclipse Public License 1.0
634 stars 29 forks source link

Store transaction values in in-memory indexes #198

Closed quoll closed 3 years ago

quoll commented 3 years ago

Transaction values are currently passed to the in-memory indexes in asami.index and then discarded.

Update the indexes from: {s/Any {s/Any #{s/Any}}}

To: {s/Any {s/Any {s/Any {(s/required-key :t "transaction id") s/Int (s/required-key :id "statement number") s/Int}}}}

Both the transaction and statement values are available in durable storage.

Current references to the bottom layer of the indexes will need to change from: (-> index (get a) (get b))

to: (-> index (get a) (get b) keys)