This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-08-11
Channels
- # admin-announcements (1)
- # aws (2)
- # beginners (32)
- # boot (147)
- # capetown (1)
- # cider (11)
- # cljs-dev (45)
- # cljsrn (57)
- # clojure (187)
- # clojure-russia (5)
- # clojure-spec (97)
- # clojure-uk (33)
- # clojurescript (33)
- # cloverage (17)
- # clr (4)
- # conf-proposals (93)
- # core-async (6)
- # cursive (9)
- # data-science (1)
- # datomic (24)
- # defnpodcast (1)
- # devcards (3)
- # emacs (3)
- # hoplon (95)
- # jobs (1)
- # off-topic (7)
- # om (97)
- # onyx (32)
- # overtone (1)
- # parinfer (4)
- # pedestal (1)
- # proton (1)
- # protorepl (13)
- # re-frame (4)
- # reagent (10)
- # specter (14)
- # untangled (40)
@stuarthalloway: I know this is an old answer, but what did you mean by "For attributes that are marked :db/index true, it would be possible for the query engine to use predicates to avoid streaming all values of an attribute. That is planned, but not yet implemented."? Isn't that what the index is for? From https://groups.google.com/forum/#!msg/datomic/IxyFQnodrF0/in1vewXEzs8J. And here's another example where it comes up: https://groups.google.com/forum/#!msg/datomic/fsowOBbhvXU/dWHpj7JiDdQJ
Can anyone explain the following? In http://docs.datomic.com/clojure/#datomic.api/datoms it says
:vaet contains datoms for attributes of :db.type/ref
:vaet is the reverse index
It looks like a mistake when reading it since there's one line for each index but two lines for :vaet, but it might mean that :vaet is the reverse of :eavt.Has anyone solved the datomic (recent) with aleph problems without excluding hornetq server and depending on hornet 2.4.8? https://groups.google.com/forum/#!msg/datomic/pZombLbp-tQ/pyU37oAnAgAJ
@timgilbert the id of the database value is the uri afaict, unless you're using the mem db (:id (d/db conn))
@danielstockton yep, just confirmed, you do get the uri out if you use :id
, which gives you a java.util.URI. str
on that value to get back to the value you gave to d/connect
(keys some-db) reveals a bunch of interesting things: (:id :memidx :indexing :mid-index :index :history :memlog :basisT :nextT :indexBasisT :elements :keys :ids :index-root-id :index-rev :asOfT :sinceT :raw :filt)
Oh, interesting. Thanks guys!
Do you see anything wrong with the following transaction? I'm getting a IllegalArgumentExceptionInfo :db.error/not-an-entity Unable to resolve entity: :bot.log.msg.kind/outgoing in datom [#db/id[:bs.parts/raw-data -1] :bot.log.msg/kind :bot.log.msg.kind/outgoing]
when using it with datomic.api/with
Even more strangely, it seems to work if I wait a few minutes.
@val_waeselynck: is :bot.log.msg/kind valuetype ref or keyword? if ref, have you previously transacted [:db/add <tempid> :db/ident :bot.log.msg.kind/outgoing] ?
it's ref, and yes I have transacted it
Alright, I have an offbeat question. When you pass d/tx-range
an #inst
, does it resolve that to a t
in order to pull from the log? If so, how is that resolution done?
@potetm: http://docs.datomic.com/best-practices.html#t-instead-of-txInstant You could have several transactions processed within the same second (inst), but different t.
"Datomic's own t time value exactly orders transactions in monotonically ascending order, with each transaction receiving its own t value."
Hey @jaret! I see what you mean, multiple t values could be applicable for a given #inst
. I was wondering how that resolution happened. For example, does it look in the index? (Yeah this in reference to the issue I just updated 😄 )
@marshall: https://github.com/Datomic/day-of-datomic/blob/master/tutorial/log.clj#L39 -- are those hard-coded entity IDs safe for the tutorial?
Heya folks, I am having some trouble wrapping my head around modeling data in Datomic. Let's say I have Company which has 0 or many Applications. I would like to ensure that while I only have a few types of Applications named: "A", "B", and "C", that a Company cannot have more than one "A" application. I imagine something like:
Company
name: string, cardinality: one, unique: value
applications: ref, cardinality: many, unique: ???
Application
_company: company, cardinality: one
name: string, cardinality: one, unique: ???
An Application will have additional attributes beyond just a name and a reference back to company.