Whait, copying Datomic dbs is no longer O(1) ? What a pity :)
If an attribute has a :db.cardinality/many, can it have other value types besides :db.type/ref? If so, what does a query or pull of that attribute return? A vector? A set? And what does a transaction expect if multiple values are passed into an attribute with a cardinality of many?
I'm so used to relational databases, I'm not sure what mental model I should have here.
Cardinality many means you are allowed more than one assertion datom per e+a at a time
They’re still separate assertions
So in query there is no difference
In pull results, they are vectors of values, but they will be unique
And any type can be cardinality many
So I cannot transact several values in an array, for instance. They should be in separate maps?
You can have more than one db/assert
And a map with a set value will desugar to multiple assertions
I want to emphasize that each value is from separate datom. It’s not that you have a datom with many values in it
Oh, good. I'm working with a web app.
The vector you get from pulls, and the transaction map form are projections
Understand they are separate datoms, good.
Ok, so I'll work it out through experimentation from here. Thanks for the pointers!