Fork me on GitHub

The licensing changes seem to be 2 steps forward, 1 step back. However, from a business perspective, I do sympathize with Cognitect.


Yes, I fully understand that there need to be a path to pay. But I do find myself asking myself if I think my next project will become serious enough in a year to make me want to pay that yearly fee.


But I know too little about Datomic to really say much. Maybe running on the same version is totally fine


considering what hassles using Datomic has saved us, the price is very cheap.


I can image that. Reading back I might have sounded a bit harsh. But still something that one needs to be convinced about to take that path


of course. i suppose i didn’t take much convincing. don’t regret the decision for a second. it’ll be 4 years in production in Jan


@jaret @marshall typo on the tutorial Notice that /:db.cardinality/many captures ...


is there a way to automagically create a database when running peer-server if it doesn’t exist yet? i’m trying to build environment consisting of dev transactor and peer-server using docker-compose


Peer Server can ‘create’ memory DBs, but you’ll need to use a Peer to create dev (or other storage) databases


i doesn’t seem like there is an index for this but is there anyway to get a vector or lazy-seq of all entity ids in a datomic database? these both throw exceptions

(datomic.api/index-range db :db/id nil nil)
(datomic.api/q '[:find ?e
                 :in $
                 :where [?e :db/id]]
CompilerException java.lang.IllegalArgumentException: :db.error/not-an-entity Unable to resolve entity: :db/id, compiling: ...
              datomic.api/index-range      api.clj:  178
             datomic.db.Db/indexRange       db.clj: 1747
          datomic.db/attr-index-range       db.clj:  799
                datomic.db/require-id       db.clj:  555
                    datomic.error/arg    error.clj:   55
                    datomic.error/arg    error.clj:   57
datomic.impl.Exceptions$IllegalArgumentExceptionInfo: :db.error/not-an-entity Unable to resolve entity: :db/id
    data: {:db/error :db.error/not-an-entity}
             clojure.lang.Compiler$CompilerException: java.lang.IllegalArgumentException: :db.error/not-an-entity Unable to resolve entity: :db/id, compiling: …


@marshal thanks, i was hoping to be able to create a full environment (transactor, peer-server, applications using client api) using docker-compose, will probably add some utility that uses peer library and just creates new db after transactor starts and before the peer-server starts


@stask Yep - you should be able to ‘script’ that via a Peer


Hey, looks like the Clojure API docs here are out of date: ...given that the memory database does now support the log API:


@timgilbert Thanks - i’ll fix it!


Thanks @marshall! Also, can you point me to any docs for (d/history) apart from the docstring in the API docs?


Awesome, thanks


are there any published details on the implementation of the peer server/client e.g. what network protocol is it using etc?

Alex Miller (Clojure team)19:11:24

There will be a lot more info released on that in the future