This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-12-07
Channels
- # admin-announcements (54)
- # announcements (1)
- # beginners (145)
- # boot (122)
- # cider (10)
- # cljs-dev (25)
- # cljsrn (20)
- # clojure (173)
- # clojure-art (4)
- # clojure-austria (1)
- # clojure-berlin (3)
- # clojure-germany (1)
- # clojure-nl (2)
- # clojure-russia (117)
- # clojure-switzerland (1)
- # clojure-uk (3)
- # clojurebridge (6)
- # clojurecup (36)
- # clojurescript (218)
- # clojurex (1)
- # core-typed (17)
- # cursive (23)
- # data-science (1)
- # datavis (2)
- # datomic (28)
- # emacs (3)
- # flambo (1)
- # hoplon (28)
- # ldnclj (19)
- # lein-figwheel (2)
- # leiningen (1)
- # luminus (1)
- # off-topic (1)
- # om (158)
- # portland-or (1)
- # re-frame (72)
- # reagent (48)
- # remote-jobs (1)
- # slack-help (7)
@magnars: were you using just any old negative number, or were you specifically calling d/tempid
?
yes, calling d/tempid
from transaction functions is perilous, since you might get the same tempid from your own process, resulting in non-deterministic bad data.
@magnars it seems like the datomic team could maybe "fix" this by reserving a portion of the tempid space to be transactor generated only. It probably doesn't need to be too large.
@tcrayford: They have known about the issue for a few years. I'm not sure why it isn't a priority. Seems like a pretty bad result. Maybe people aren't using transaction functions.
@magnars i think i saw someone saying that by convention they explicitly set tempids in tx functions, starting at a number far away from where in-proc tempids would be
we’ve got like two tx functions and we haven’t had this issue with either of them
@robert-stuttaford: that sounds good. Maybe it was fixed and I haven't spotted it in the change log.
@magnars: sorry, i meant to say that i saw someone who merely uses Datomic say that this is how they dealt with this issue
they explicitly make temp-ids starting at a number that’s far away from where Datomic starts by default
been trying to find the source but i can’t
aha, yes. That would be another way of fixing it. I think I like my even/odd approach better tho, since there's no risk of collision.
you’re never going see em, so whatever’s sensible
@robert-stuttaford: I managed to finish my datomic exporter, based on your work
it should work for pretty large dbs
@pesterhazy: hey, cool! any feedback for me? any bits in particular that made the cut?
regardless of how much of it you ended up using, i will shamelessly admit that i thoroughly enjoyed writing it. transducers ftw
guys… I have made my first tx function to handle component updates a little more completely than comes out of the box
I would appreciate some comments on whether the code follows the intentions of such functions
I have also create a gist if it’s too hard to read here https://gist.github.com/raymcdermott/57ade5ae671f83d2444e
the idea is to support cases where the component entities are not just the ones created with the entity … it should be possible to add new entries, delete entries and update existing entries by passing in the component entity map
I am using it for a shopping cart use case where items are often subject to these operations
any hints or tips would be appreciated
🕸️ is it just me or it getting dusty in here