Tuesday, October 15, 2019

Only find-rel elements are allowed in client find-spec

More peer vs client; again from clojarians:

Conversation from slack

I have a syntax question. This is working:
(d/q '[:find (pull ?e [*])
       :where [?e :team/id]] db)
This is not, and is throwing Exception
(d/q '[:find [(pull ?e [*]) ...]
       :where [?e :team/id]] db)
Exception
ExceptionInfo Only find-rel elements are allowed in client find-spec
I’m using datomic-pro-0.9.5661
brett14:04:04
All I changed is the binding form. I see it in both links you sent.
marshall14:04:01
The client only supports the find-rel form. You can use the other binding forms for inputs, but not in the find specification

Summary

Datomic client does not support :find [?x] but does support :find ?x


:db.error/not-an-entity Unable to resolve entity: :db/index

When working with Datomic Ions, I wanted to use :db/index on an attribute but got this error:
:db.error/not-an-entity Unable to resolve entity: :db/index




Using the magic of Google I came across this tidbit:

robert.mather.rmm00:11:22
On Datomic Ions Solo, I'm getting an error Unable to resolve entity: :db/index when trying to transact schema
robert.mather.rmm00:11:30
oh, is :db/index not supported on Datomic Cloud?
robert.mather.rmm00:11:12
I guess fulltext indexes aren't either...
Alas, no. And be careful with large strings as well.

Summary

It appears that :db/index and :db/fulltext are not support on Datomic Cloud.  The only documentation for this feature is in a slack log from November 2018.