This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-07-19
Channels
- # announcements (5)
- # beginners (36)
- # calva (2)
- # cider (26)
- # cljs-dev (2)
- # clojure (121)
- # clojure-spec (2)
- # clojure-uk (2)
- # clojurescript (12)
- # component (1)
- # conjure (6)
- # datomic (9)
- # docker (1)
- # fulcro (15)
- # lambdaisland (1)
- # malli (5)
- # meander (24)
- # off-topic (5)
- # re-frame (5)
- # reagent (3)
- # ring (3)
- # shadow-cljs (41)
- # sql (4)
- # vim (3)
- # xtdb (7)
Also Noobie question: Typically where are schema creation files stored and when are they run? Is it every deployment, similar to migrations or something else? I assume running the same schema code over and over again is functionally idempotent, though I suppose it might generate duplicate, redundant data?
> functionally idempotent I think schema datoms are just datoms, and since set semantics apply, if you assert a fact that is already in place no new fact is created; although I believe a transaction is.
ah, cool. So the only downside of running a schema update with every deploy, for example, would be the generation of a new transaction, which is relatively inexpensive.
Thanks!
Is there an notion of datalog injection? What kind of security issue would we need to think about if we accept an arbitrary valid edn data structure for performing the query?
(Assuming you are already using an end reader that doesn’t evaluate) datalog queries can contain function calls, but you can discover them syntactically
Just like in sql, you should build the query in code and accept user input only as parameters
Security is a bit annoying. Because then you can let you user build their own queries. Oh sad thing.