I’m experiencing unexpected results. I’ve got a small database that returns a map with unrelated attributes from a pull (including :db/id nil) - when I try to pull with a db.unique/identity selector.
(d/pull @conn '[*] [:endpoint/name "none"])
{:access/endpoint #:db{:id 37},
:access/app+endpoint [36 37],
:access/app #:db{:id 36},
:app/password-hash
"5e063ba6dcff4b7bc0234be7861dac8c4dd7db573f36755e0578b2e77a5cf6bf",
:endpoint/url "
:path/spec "/",
:endpoint/proxy-options {:auth "fred:wilma"},
:access/paths
[#:db{:id 1}
#:db{:id 10}
#:db{:id 11}
#:db{:id 1}
#:db{:id 1}
#:db{:id 1}
#:db{:id 3}
#:db{:id 25}
#:db{:id 1}
#:db{:id 10}
#:db{:id 11}
#:db{:id 1}
#:db{:id 10}
#:db{:id 11}],
:app/name "bubbles",
:endpoint/name "Basic.Auth.Backend",
:db/id nil,
:app/password-salt "5970ad7d7501916274cf114f68d2aed0"}
note that :endpoint/name is defined as :endpoint/name {:db/unique :db.unique/identity}
and there is no entity with endpoint/name “none”
if I do (d/pull @conn '[:endpoint/name :db/id] [:endpoint/name "none"]) I get the expected result: nil
so the difference in the query the [*] vs a list of attributes in the pull spec
Any hints as to what I’m doing wrong?