Fork me on GitHub
#datomic
<
2020-02-17
>
em07:02:17

Are there any other UI options for Datomic Cloud other than REBL? I’d love to introduce non-clojure team members to Datomic to get them excited and have them try out queries, and the old Datomic Console for on-prem looked perfect, but sadly doesn’t seem to be available for cloud(?). Have people built any solutions for this need?

joshkh12:02:05

is there a way to configure a username and password for the Presto server built into the Datomic Cloud access gateway?

souenzzo15:02:13

[on-prem] There is guidelines about datomic and core.async? I need to run queries inside a go-block

favila15:02:37

queries are blocking work, which you shouldn’t do in a go-block generally

favila15:02:22

unless you know they will complete very quickly?

souenzzo15:02:03

I already locked all my threads due quering inside go-block 😕

souenzzo15:02:51

I know, I can create a thread pool and bla bla bla But it can't be delivered as a library, like datomic.client.api.async

souenzzo15:02:12

@U04VDQDDY I remember that sometime ago you asked about connect datomic-client-pro in a datomic:mem conn Did you end up with some solution?

mfikes16:02:59

@U2J4FRT2T that must have been someone else with that issue

maxt16:02:00

Using clojure spec for datomic entity spec seems like a good idea. Is there any reason why it might not? I can't find it being mentioned anywhere. Doing so would make it easy to use the same verification code client side and server side. The possible downside I can think of is that it might be a bit of overhead. Something along the lines of:

(s/def :user/phone-number (s/and string? #(re-matches #"\+[0-9 +-]+" %)))
(s/def :user/uuid uuid?)
(s/def :example/user (s/keys :req [:user/uuid] :opt [:user/phone-number])

(in-ns 'example)
(defn user? [db eid]
  (let [user (d/pull db '[*] eid)]
    (if (s/valid? :example/user user)
      true
      (s/explain-str :wavy/user user))))
;; datomic schema
{:db/ident         :example/user
 :db.entity/preds  example/user?}

Luke Schubert18:02:13

is there anyway to mass transact data?

favila18:02:25

What do you mean?

Luke Schubert18:02:56

I'm already pipelining, I was just wondering if there was some functionality to run a large batch of transactions

Luke Schubert18:02:22

I wasn't able to find anything, but I figured I would ask here in the event that I was just failing to search properly

favila18:02:56

I’m still not sure what you want more than running transactions repeatedly

favila18:02:40

there are some tricks to improve “import” transaction cost or performance if that’s what you’re looking for?

favila18:02:57

like performing the import locally on large instances with SSDs

favila18:02:17

increasing the index threshold

favila18:02:29

not indexing any attrs until the end of the import

joshkh21:02:00

so this is interesting! when using the standalone pull syntax with [:db/id] as the selector, the results include reverse reference attributes with a '... symbol value. is this expected?

(d/pull db [:db/id] 1234567891234)
=>
{:attribute/a "value-a"
 :attribute/b "value-b"
 :attribute/_c ... 
 :attribute/_d ...}

favila21:02:23

I can’t reproduce this

favila21:02:42

I definitely don’t consider this expected

favila21:02:10

can you provide some more context?

Alex Miller (Clojure team)21:02:47

are you sure that's not just repl printing?

joshkh22:02:18

yup:

((juxt identity type) (:attribute/_c (d/pull (client/db) [:db/id] 1234567891234)))
=> [... clojure.lang.Symbol]
a coworker found this today, and i reproduced it on my machine (different IDEs and REPLs)

joshkh22:02:06

> can you provide some more context? DatomicCloudVersion 8846 com.datomic/client-cloud {:mvn/version "0.8.78"} and nothing peculiar about our schema. the reverse reference attributes are legit, and for what it's worth non-component. pulling * on the same entity returns the same data but without reverse references (as expected).

joshkh22:02:29

has anyone here successfully integrated Datomic Cloud Analytics with a third party BI platform? we can successfully validate our Presto connection, but after selecting a Schema (db name) we get the error Query failed: Expected string for :db-name someone else has the same problem and posted on the forums a few months ago without a resolution https://forum.datomic.com/t/error-on-integration-between-datomic-analytics-and-power-bi/1266/2

Daouda23:02:56

Hey folks, how retract impact datomic performance? Make database read and write faster? What about excision, does it has the same impact or different one?