This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-09-14
Channels
- # babashka (18)
- # beginners (92)
- # calva (11)
- # cljs-dev (2)
- # clojure (37)
- # clojure-berlin (6)
- # clojure-czech (2)
- # clojure-dev (6)
- # clojure-europe (50)
- # clojure-france (15)
- # clojure-nl (4)
- # clojure-spec (1)
- # clojure-uk (18)
- # clojurescript (29)
- # cursive (31)
- # data-science (1)
- # datascript (2)
- # datomic (26)
- # depstar (55)
- # devcards (1)
- # duct (3)
- # emacs (49)
- # fulcro (29)
- # joker (3)
- # kaocha (1)
- # membrane (5)
- # midje (3)
- # music (2)
- # nrepl (4)
- # off-topic (3)
- # parinfer (13)
- # pathom (1)
- # portal (5)
- # re-frame (13)
- # ring (1)
- # schema (1)
- # sci (7)
- # shadow-cljs (25)
- # tools-deps (10)
- # vim (34)
- # vrac (2)
- # xtdb (20)
I am looking for the simplest way to play with crux w/ persistence.
Hi, are you okay using Crux embedded in your application process? Or are you looking for Crux to act as a normal DB server?
embedded is fine
I'd like to avoid spinning up a rocksdb instance etc though (if thats what is best then so be it)
The "standalone" mode RocksDB configuration is definitely the simplest option. It's just a few short lines of config
We're releasing a new module config system in a couple of days, so the docs are a bit out of sync (showing the unreleased config - I only just noticed...), but the 1.11 version config here should work well for you: https://www.opencrux.com/reference/20.09-1.11.0/rocksdb.html#rocks-start
updating it for 1.12 in a couple of days will be painless, it just looks slightly different (and hopefully more obvious)
that sounds good! I am a longtime datomic user just trying to kick the tires on an alternative
is there documentation for how (if?) refs works both for transacting and querying?
Do you mean refs as in "lookup refs"? We can't support that feature so directly as Crux doesn't track/enforce uniqueness. All attributes may be used as reference attributes, and the mapping between IDs and values is resolved at query time only
I should add: if you do really need some forms of uniqueness constraints you can build exactly the thing you need with transaction functions
yeah that is what I am doing for now and I think it is working!
I had a failed tx though and the next time I tried a tx I get RocksDBException "indexes/LOCK: No locks available"
I passed in a malformed tx previously
Hmm, did your node crash due to the failure and then you restarted it? Assuming Crux shuts down cleanly the LOCK file will get removed