Fork me on GitHub
#datomic
<
2019-08-13
>
xiongtx03:08:30

I’m not sure why the use of return keys in this example Datomic query isn’t working. It’s straight out of the return maps example: https://docs.datomic.com/on-prem/query.html#return-maps

(d/q '[:find ?artist-name ?release-name
       :keys artist release
       :where [?release :release/name ?release-name]
       [?release :release/artists ?artist]
       [?artist :artist/name ?artist-name]]
     db)
I get a
2. Unhandled com.google.common.util.concurrent.UncheckedExecutionException
   java.lang.IllegalArgumentException: Argument :keys in :find is not a
   variable

1. Caused by java.lang.IllegalArgumentException
   Argument :keys in :find is not a variable
This is datomic-pro-0.9.5930

marshall13:08:40

Are you using peer or client? What version of client (if that’s what you’re using) I just tested this exactly as pasted with 0.9.5930 and it works fine for me.

xiongtx17:08:10

[com.datomic/datomic-pro "0.9.5561.50"], which I believe is the peer

xiongtx17:08:45

Seems to work w/ 0.9.5930. Maybe this feature was introduced very recently?

marshall17:08:38

that’s correct

marshall17:08:49

it was added in 0.9.5930 i believe

eoliphant14:08:52

hey @jaret quick note, in the latest cloud rev, you guys fixed tx-range’s result to return a :data key per the api doc, but the Log API discussion in the docs, still it refers to :tx-data https://docs.datomic.com/cloud/time/log.html

jaret17:08:25

good catch. I’ve fixed the table. should be visible on refresh.

eoliphant14:08:34

hey @mafcocinco it’s probably nearly impossible to get something that would be meaningful for your use case with out mocking a bit of it up. Everything from, tx size, your use of tx functions, etc etc is going to affect any number. There are the more general guidlines, like it’s definitely not for ‘write scale’ apps, raw ingest of clickstream, IoT, etc etc data. But at least for us, it’s more than adequate for our typical OLTP scenarios. Nice thing though is given the ease of modeling, etc, even if you only have a rough idea of your use case, it’s gonna be pretty easy to create a benchmark that will give you some of what you need

eoliphant14:08:22

and if you’re planning to run Cloud, getting the backend setup is just a few clicks in the marketplace

mafcocinco14:08:35

Thanks. That is kind of what I was thinking. Going to need to mock something up and see how things look.

eoliphant14:08:47

np, again, the nice thing i’ve found about the ‘universal info model’ is that it strikes a nice balance between a relational schema, and the wild west of something like MongoDB. You can define the attributes you think you need, then you have a pretty large degree of freedom to mess around with creating entities that you think are representative for your testing. also, make sure you at least skim through the best practices section of the docs, as there are a few things in there that could affect your assessment if you’re not aware of them

tyler22:08:57

Is there any way to tap into aws codedeploy hooks for ions deployments? Would like to run our own checks to rollback on failure.

Joe Lane22:08:55

@tyler We made a codebuild script with different phases, one of which deploys ions, as well as other stuff.

Joe Lane22:08:13

We did that because we couldn't find a nice codedeploy hook for what you're describing.

tyler22:08:00

Interesting. Will look into that approach, thanks.