Fork me on GitHub

Sorry but having issues to get datalevin (0.6.3) to work in visual studio code with calva. As soon as I eval (def conn (d/get-conn "data/pbdldb")) it blows up with a stacktrace in the terminal: ERROR: Unhandled REPL handler exception processing message {:op stacktrace, :id 25, :session f93515eb-d72a-4565-a11b-f02e9cc72927} java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: Could not initialize class org.lmdbjava.ByteBufferProxy ... I find a github issue in datalevin that points at the same kind of exception, and seems to be related to M1 support (?)... I'm using a M1 MacBookPro. Any advise/suggestions?


M1 is not currently supported.


an alternative is to install a x86_64 JDK with rosetta on a M1.


Sigh... that's a lot of friction...


Any updates on transaction functions in Datalevin? If the plan is to serialize them for persistence, will there be a de-serialization cost on each use of a transaction function? I.e. would the following from hold for Datalevin? > • Transaction functions are serialized by design. To achieve best performance, limit the work of transaction functions to only things that require transaction-time access to the current value of the database.


I am working on this, and will have a version out soon. Correct. But the serialization cost should be minimal, everything in Datalevin are stored in serialized form. Transaction function will not be more costly than others.

gratitude 1

I just tested, transaction function should just work, if they are defined with inter-fn instead of fn. So it already works.

🎉 1