Releases: tonsky/datascript
Releases · tonsky/datascript
0.11.5
- Ported BTSet to JVM
- BTSet and BTSetIter implement ChunkedSeq
- New benchmark runner
This release brings a significant performance boost for JVM version of DataScript (numbers are in comparison to JS/v8 version):
- queries with single clause, no join: ~5–6 times faster
- queries with joins: ~3–4.5 times faster
transact: ~3 times fasterinit-db: ~3–4 times faster- rules: ~3-4 times faster
0.11.4
Experimental support for Clojure on JVM:
sorted-setinstead of BTSet- polymorphic
getlookup in query - no sorting optimisation for
init-db
Performance numbers so far (raw data):- queries with single clause, no join: 30–50% faster
- queries with joins: ~50% slower
transact: ~3.5–4 times fasterinit-db: ~2–2.5 times slower- rules: ~2–5 times faster
- db
equiv: ~5 times slower - db
hash: ~10 times slower
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
- New parser for query and rules
- Added a lot of meaningful error messages and validations to query parser
- Support for _ (ignore binding) in
:inandfn-clausebindings - Fixed id allocation bug when nested maps are used for referenced entities (issue #59)
- Fixed squuids omitting leading zeros (issue #60)
- Fixed a bug when cross-referencing components caused infinite loop in Pull API (isuue #58, pull request #61)
- Pull API handles recursion more like Datomic does (issue #62)
- Exposed DB filter API to js (pull request #65)
- Added ICounted, ISequable, IEmptyableCollection to
datascript.core/DB - Force put
DatomandDBtag readers tocljs.reader/*tag-table*, do not rely ondata_readers.clj
0.9.0
0.8.1
0.8.0
- Find specifications: collection
:find [?e ...], tuple:find [?e ?v], and scalar:find ?e . - Support for
:db/isComponent(issue #3) - Support for nested maps in
transact!(also fixes #38) - [ BREAKING ] Custom aggregate fns must be called via special syntax (
aggregatekeyword):(q '[:find (aggregate ?myfn ?e) :in $ ?myfn ...]). Built-in aggregates work as before:(q '[:find (count ?e) ...] - Return nil from
entitywhen passed nil eid (issue #47) - Transaction data is now validated, with proper error messages (also fixes #48)