datascript
datascript copied to clipboard
Immutable database and Datalog query engine for Clojure, ClojureScript and JS
After asking a couple of questions on the datascript slack, @tonsky asked me to make a gist with my error in it. The function `(connected x y)` should return a...
This is a thorny bug that only seems to happen when an entity is directly related to itself via some attribute. I've only tried this on the JVM, not in...
An efficient `count` could allow other optimizations in datascript. Currently a `count` on an `Iter` iterates manually through the sequence which is slow. A pretty fast one is: ```clojure (defn...
As discussed on Slack. Adding something like `-slice-one` to the `btset` which is more efficient than `-slice` would allow more efficient `(first (datoms ...))` which is commonly used in entities...
``` clojure (= (datascript.core/datom 1 :a "v" 500 true) (datascript.core/datom 1 :a "v" 500 false)) ;; => true ``` Is this expected?
I am turning deeply nested trees with datalog via something akin to [intension][it]. (I was previously using intension but I've replaced it with some specter, which got me a neat...
_I don't have minimal reproducible case yet (db size I see this with is 60k+ datoms)._ "False positives": some property entities are included in result set. Issue is not reproducible...
I’m seeing transactions come in to my `d/listen!` listener in the wrong order when another listener commits a transaction. Here’s the output from both listeners printing `(:tx-data tx-report)` ``` "listener...
Hi, I'm trying to figure out how to keep entity IDs created locally by datascript in a central database. The IDs in the central database need to be more universally...
The benchmark query q4 takes 40 milliseconds to execute on a 20000 entities database on the JVM (even longer in CLJS). By contrast, a lookup in a Clojure map of...