This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-03-08
Channels
- # aleph (2)
- # announcements (2)
- # asami (50)
- # babashka (39)
- # beginners (17)
- # calva (61)
- # cider (9)
- # clj-kondo (5)
- # clojure (37)
- # clojure-europe (52)
- # clojure-nl (1)
- # clojure-norway (14)
- # clojure-uk (5)
- # clojurescript (28)
- # cursive (3)
- # datahike (11)
- # datomic (28)
- # deps-new (11)
- # events (3)
- # fulcro (18)
- # google-cloud (1)
- # graphql (8)
- # introduce-yourself (4)
- # jobs (2)
- # leiningen (7)
- # lsp (15)
- # pathom (9)
- # re-frame (6)
- # reagent (35)
- # reitit (17)
- # releases (1)
- # shadow-cljs (20)
- # specter (1)
- # test-check (106)
- # tools-deps (8)
- # uncomplicate (1)
- # vim (29)
Is it possible to detect new db transactions? I woukd like to run https://github.com/frankiesardo/minikusari rules automatically on top of new datahike transactions. Essentially create calculated fields in an automated way.
There is datahike.api/listen
But depending on what you want to do, I recommend wrapping transact! or looking into transaction functions
Right @U4VT24ZM3, it would also depend on how complex the calculations are and what kind of data you would need from the transaction.
trying to use Datahike under Integrant is proving somewhat frustrating. it feels like at least some components haven't been set up to handle shutdown gracefully. I'm trying to (d/release conn)
on halt, and then (d/connect cfg)
on startup. I get eg.
Execution error (IllegalArgumentException) at datahike.transactor/eval62640$fn$G (transactor
.cljc:7).
No implementation of method: :shutdown of protocol: #'datahike.transactor/PTransactor found
for class: datahike.transactor.LocalTransactor
which seems weird, because there's totally an implementation of shutdown
right there.
I think I'm having trouble with reloading these namespaces live, so there are actually different classes/interfaces with the same name floating around. let me check my Reloaded setup.
I've so far sidestepped the problem by using more targeted reloads into the REPL, rather than full-scale :reload-all