Skip to content

Instantly share code, notes, and snippets.

@kordano
Created July 14, 2021 09:18
Show Gist options
  • Save kordano/e84c020c33673aa0c0bc8fdd9489afcc to your computer and use it in GitHub Desktop.
Save kordano/e84c020c33673aa0c0bc8fdd9489afcc to your computer and use it in GitHub Desktop.
Datahike history duplicates
(require '[datahike.api :as d])
(def cfg {:store {:backend :file
:path "/tmp/history-bug"}
:schema-flexibility :read})
(d/delete-database cfg)
(d/create-database cfg)
(def conn (d/connect cfg))
(:config @conn)
(def schema [{:db/ident :decide.models.proposal/opinions
:db/valueType :db.type/ref
:db/cardinality :db.cardinality/many}
{:db/ident :decide.models.user/opinions
:db/valueType :db.type/ref
:db/cardinality :db.cardinality/many}])
(d/transact conn {:tx-data schema})
(def tx-0 [[:db/add 521 :decide.models.opinion/value 0]
[:db/add 520 :decide.models.opinion/value 0]
[:db/add 522 :decide.models.opinion/value 0]
[:db/add 519 :decide.models.opinion/value 0]
[:db/add 476 :decide.models.proposal/opinions 523]
[:db/add 26 :decide.models.user/opinions 523]
[:db/add 523 :decide.models.opinion/value 1]])
(d/transact conn {:tx-data tx-0})
(d/datoms (d/history @conn) {:index :aevt :components [:decide.models.opinion/value 523]})
(d/pull-many @conn ['*] [536870915 536870914])
(d/pull @conn [:decide.models.opinion/value] 523)
(def tx-1 [[:db/add 521 :decide.models.opinion/value 0]
[:db/add 520 :decide.models.opinion/value 0]
[:db/add 522 :decide.models.opinion/value 0]
[:db/add 519 :decide.models.opinion/value 0]
[:db/add 523 :decide.models.opinion/value 0]
[:db/add 520 :decide.models.opinion/value 1]])
(d/transact conn {:tx-data tx-1})
(d/datoms (d/history @conn) {:index :aevt :components [:decide.models.opinion/value 523]})
(d/pull @conn [:decide.models.opinion/value] 523)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment