This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-01-18
Channels
- # announcements (2)
- # aws-lambda (14)
- # babashka (4)
- # beginners (66)
- # clojure (113)
- # clojure-spec (9)
- # clojure-uk (7)
- # clojurescript (24)
- # data-science (12)
- # datomic (45)
- # docker (2)
- # emacs (1)
- # fulcro (48)
- # jobs-discuss (22)
- # kaocha (7)
- # keechma (3)
- # luminus (7)
- # off-topic (7)
- # re-frame (6)
- # shadow-cljs (43)
- # spacemacs (18)
- # tools-deps (2)
- # vim (1)
- # vscode (2)
- # yada (11)
Is there a good option for local testing that's compatible with Datomic Cloud, or do you pretty much have to set up a deployment?
We wrote this to solve that problem and have been using it for a year or so. https://github.com/ComputeSoftware/datomic-client-memdb It’d be great for the Datomic team to have an official, feature-complete version though.
Thanks! That looks great.
the documentation on the datoms
API is a little terse - I get that there’s ways to slice the returned collection via offset, limit, and to provide values that bookend the returned data, but some examples would be great!
See namespace doc for timeout, offset/limit, and error handling.
- where is the namespace doc..? the doc string doesnt seem to help much.
@U09R86PA4 ah, ok - there’s no info on offset/limit in there
annoyingly the map version throws an arity exception, as well as anything apart from arity 4
(d/index-range (ldb) {})
Execution error (ArityException) at user/eval28846 (form-init4749596070973050853.clj:1).
Wrong number of args (2) passed to: datomic.api/index-range
(d/index-range {})
Execution error (ArityException) at user/eval28850 (form-init4749596070973050853.clj:1).
Wrong number of args (1) passed to: datomic.api/index-range
(d/index-range (ldb) {})
Execution error (ArityException) at user/eval28854 (form-init4749596070973050853.clj:1).
Wrong number of args (2) passed to: datomic.api/index-range
(d/index-range (ldb) {} {})
Execution error (ArityException) at user/eval28858 (form-init4749596070973050853.clj:1).
Wrong number of args (3) passed to: datomic.api/index-range
(d/index-range (ldb) :attrid :user/email :start "d" :end "e")
Execution error (ArityException) at user/eval28862 (form-init4749596070973050853.clj:1).
Wrong number of args (7) passed to: datomic.api/index-range
(d/index-range (ldb) :attrid :user/email :start "d" )
Execution error (ArityException) at user/eval28866 (form-init4749596070973050853.clj:1).
Wrong number of args (5) passed to: datomic.api/index-range
It has a blocking api and is in-process. It has no concept of timeout, offset, limit etc which belong to the peer api
still, I think the docs could use some love - I’m interested in on-prem performance, and they look critical to this
Generally you should lean on queries. I’ve only found datoms useful when the intermediate or final sets from datoms are too large for peer memory
Even then the strategy is usually to use datoms to get chunks to feed as input to the “full” query