Zeros in pattern clauses ignored for hitchhiker-tree index
Closed this issue · 0 comments
jsmassa commented
Patterns like [?e :version/id 0]
result in all datoms with attribute :version/id
being pulled from database. Only happens for hitchhiker-tree index, not for persistent set.
(def cfg {:store {:backend :mem
:id "sandbox"}
:index :datahike.index/hitchhiker-tree
:keep-history? true
:schema-flexibility :write
:attribute-refs? false})
(def conn (do
(d/delete-database cfg)
(d/create-database cfg)
(d/connect cfg)))
(do
(d/transact conn [{:db/ident :version/id
:db/valueType :db.type/long
:db/cardinality :db.cardinality/one
:db/unique :db.unique/identity}])
(d/transact conn [{:version/id 0}{:version/id 1}])
nil)
(d/q '[:find ?t :in $ :where
[?t :version/id 0]]
@conn) ;; returns #{[2][3]}, should be #{[2]}