Version
- com.datomic/datomic-pro "1.0.6242"
- transactor process 0.9.6045
Setup
Given the following transaction function definition.
(d/transact
*conn*
[{:db/ident :demo-fn
:db/fn (d/function
{:lang "clojure"
:params '[db]
:code '(set? #{:one})})}])
Execute the transaction function in two environments:
- A local environment
- An environment where the transactor runs in a separate process
Expectation
Regardless of the environment, the return value of set?
is consistent.
Actual
- In a local environment, the function returns
true
- as expected.
- In an environment where the transactor runs in a separate process, the function returns
false
.
Additional Notes
The data type of a set is different in the two environments,
clojure.lang.PersistentHashSet
in local and java.util.HashSet
in the other.