datomic

Ask questions on the official Q&A site at https://ask.datomic.com!
mafcocinco 2020-08-10T02:33:19.150100Z

cool. Just a point of clarification. If I have a V shaped relationship like this:

A    B
 \  /
  C
And I retract the entity A using :db/retractEntity, assuming A and B both have references to C, will Bs reference to C be removed as part of the recursive retraction? The path of least surprise would tell me yes but I just wanted to confirm.

Saurabh Sharan 2020-08-10T02:55:43.151100Z

Has anyone tried to build a real-time clojurescript (fulcro) app w/ Datomic? All I could find is https://medium.com/adstage-engineering/realtime-apps-with-om-next-and-datomic-470be2c8204b, but it uses tx-report-queue which isn't supported in Datomic Cloud.

favila 2020-08-10T13:34:11.152900Z

I think the usual advice is to poll tx-range instead

Saurabh Sharan 2020-08-11T04:47:03.158100Z

@favila - interesting, do you know why that is? doesn't tx-range only give you previous transactions, and not new transactions as they occur?

favila 2020-08-11T12:00:09.160400Z

If you call tx-range repeatedly, you’re going to get new transactions as they occur (within your polling interval)

favila 2020-08-11T12:01:38.162400Z

Txrange t5000 to nil; that gives you up to say t5050, then call again txrange t5051 to nil, etc

Saurabh Sharan 2020-08-13T04:44:42.185500Z

@favila Thanks for the explanation!

2020-08-10T04:15:44.151400Z

You can try it 🙂

2020-08-10T04:16:16.151600Z

But yes. Facts B and C will also be retracted.

2020-08-10T04:36:16.151800Z

@lanejo01 nothing specific. I was curious if there was some datomic specific detail that I didn't know about. Or if users just generally find out easier to model that way. I seems like extremes at both ends could be cumbersome in some context.

mafcocinco 2020-08-10T12:50:06.152Z

Thanks!

Joe Lane 2020-08-10T13:28:46.152700Z

@saurabh.sharan1 Can you be more specific about what you mean by "Real-Time"?

Joe Lane 2020-08-11T14:30:51.172800Z

Hi @saurabh.sharan1, I found this talk very influential in how I talk about event driven systems. https://www.youtube.com/watch?v=STKCRSUsyP0 It should get you thinking about the different types of problems / solutions. I would actually follow @favila’s recommendation in the earlier thread, if you do, you could implement the "Event Notification" type of Event Driven Architecture. When you are notified of an event changing a given entity that you are subscribed to, re-query the information at that new T so that you are always querying against a consistent T, vs trying to process the deltas right out of the database and building an interpreter in the browser.

favila 2020-08-10T13:34:11.152900Z

I think the usual advice is to poll tx-range instead

hadils 2020-08-10T23:18:15.154Z

How do I list the dependencies used by Datomic Cloud? I want to fix my deps.edn...

hadils 2020-08-10T23:29:18.154700Z

Specifically I need to find the version of tools.deps.alpha that has the reader namespace.

alexmiller 2020-08-10T23:34:02.155700Z

The reader namespace was recently removed - the changelog is at https://github.com/clojure/tools.deps.alpha/blob/master/CHANGELOG.md

alexmiller 2020-08-10T23:34:16.156300Z

The reader ns was removed in 0.9.745

alexmiller 2020-08-10T23:34:41.156700Z

Prior was 0.8.709

hadils 2020-08-10T23:42:25.157Z

Thanks @alexmiller!