This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-08-17
Channels
- # announcements (8)
- # atom-editor (8)
- # aws (1)
- # babashka (96)
- # beginners (128)
- # calva (7)
- # cider (12)
- # cljsrn (1)
- # clojure (75)
- # clojure-europe (28)
- # clojure-hamburg (2)
- # clojure-italy (7)
- # clojure-nl (7)
- # clojure-norway (3)
- # clojure-uk (13)
- # clojurescript (26)
- # conjure (2)
- # cursive (18)
- # data-science (7)
- # datalog (21)
- # datomic (9)
- # duct (15)
- # expound (29)
- # figwheel-main (14)
- # fulcro (59)
- # helix (4)
- # jobs (2)
- # kaocha (19)
- # leiningen (15)
- # luminus (4)
- # malli (57)
- # meander (2)
- # off-topic (2)
- # pathom (12)
- # pedestal (8)
- # re-frame (53)
- # reitit (9)
- # remote-jobs (1)
- # shadow-cljs (64)
- # spacemacs (1)
- # specter (2)
- # tools-deps (12)
- # tree-sitter (2)
- # vim (11)
- # xtdb (17)
It looks like crux does not have anything similar to datomic's noHistory? https://docs.datomic.com/on-prem/schema.html#nohistory
Not currently. You can lookup data from a custom source within your query using a custom predicate though
that's correct, yes - apart from being schema-less, our bitemporality also means that you can insert data at any point in the past/future, which wouldn't play so well with noHistory
^ eviction - that's an interesting point, it could be a good option to create something similar. It doesn't incur expensive index rewrites like excision does (in case that's a concern)
> there is only one version for any point in time not sure I quite get what you're looking for here 😕 let's say we were to consider bitemporality as a 2D graph, valid-time on one access, transaction-time on the other - the update pattern you're talking about would currently look like a lot of dots along the vt=tt 45° diagonal - what might you want it to look like?
based on that, I think "noCorrectionHistory" is probably a more accurate description as far as Crux is concerned 🙂
It's possible you could do something clever with (e.g.) Kafka transactions to keep the main tx-log free from atemporal churn, whilst retaining atomicity. Is this a deal breaker? It might be a good point to chat
Are there any examples or open source real apps in the wild yet that build on crux with the helpers you'd need to run crux as a general app DB? I'm thinking of things like validation, wrappers around common query patterns etc?
i'd be curious to know as well--i've begun https://github.com/lgessler/glam/blob/master/src/main/glam/crux/easy.clj in my own project by expanding transaction ops with update
and merge
via transaction and writing a few other convenience functions. but this is not a mature solution at all