DataScript happens to support this out-of-the-box, though I'll note that attempting to transact an attribute with the above :db/type will cause it to throw an exception. I'll open an issue in DataScript requesting this support as I suspect it'll be easy to allow there.
My question is if we can get this support in Posh. I did some preliminary testing (documented in https://github.com/denistakeda/re-posh/issues/32 ) and found that by disabling posh.lib.q-analyze/resolve-any-idents that Posh just worked as long as the query passed the tuple as an :in argument.
Queries that inlined a tuple in a :where clause still failed with an error from normalize-all-eavs.
Though the amount going on in q-analyze is a bit intimidating, I'll try fixing the above two functions tomorrow.
I don't know whether this would affect the results from Posh's pull API -- it probably "just works" but will test it if I can get query working.
As of June this year, Datomic added support for attributes of
:db/type :tuple
. The documentation for this feature is at https://docs.datomic.com/on-prem/schema.html#tuplesDataScript happens to support this out-of-the-box, though I'll note that attempting to transact an attribute with the above :db/type will cause it to throw an exception. I'll open an issue in DataScript requesting this support as I suspect it'll be easy to allow there.
My question is if we can get this support in Posh. I did some preliminary testing (documented in https://github.com/denistakeda/re-posh/issues/32 ) and found that by disabling
posh.lib.q-analyze/resolve-any-idents
that Posh just worked as long as the query passed the tuple as an:in
argument.Queries that inlined a tuple in a
:where
clause still failed with an error fromnormalize-all-eavs
.Though the amount going on in
q-analyze
is a bit intimidating, I'll try fixing the above two functions tomorrow.I don't know whether this would affect the results from Posh's
pull
API -- it probably "just works" but will test it if I can get query working.