This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-06-12
Channels
- # announcements (2)
- # aws-lambda (2)
- # beginners (402)
- # berlin (2)
- # calva (21)
- # cider (8)
- # clj-kondo (31)
- # cljdoc (1)
- # cljsrn (42)
- # clojure (43)
- # clojure-berlin (2)
- # clojure-dev (21)
- # clojure-europe (4)
- # clojure-hamburg (1)
- # clojure-italy (37)
- # clojure-nl (7)
- # clojure-spec (50)
- # clojure-uk (121)
- # clojurescript (46)
- # component (49)
- # data-science (1)
- # datomic (60)
- # emacs (29)
- # fulcro (43)
- # hoplon (5)
- # jackdaw (7)
- # joker (19)
- # luminus (5)
- # off-topic (28)
- # om (2)
- # re-frame (27)
- # reitit (7)
- # remote-jobs (15)
- # rewrite-clj (17)
- # shadow-cljs (95)
- # spacemacs (34)
- # sql (9)
- # tools-deps (17)
- # xtdb (70)
Having trouble getting a Lambda-proxy Ion to respond with a non-base64-encoded body. Is there a way to force "isBase64Encoded": false
? The ion returns a map:
{:body "<some transit>"
:headers {"Content-Type" "application/transit+json", ...}
:status 200}
But API Gateway logs show that the response body is base64 encoded prior to API Gateway’s response transformations. The request also includes {:headers {"Accept" "application/transit+json"}, ...}
. Is this an API Gateway setting?@nolan Yes, you can configure it in API Gateway. https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-payload-encodings-configure-with-console.html Easiest is to add */*
as binary media type. API Gateway will base64 decode the response for you
Is there a list of ways to optimize queries ? And if it's possible to apply functions to :where
clauses to optimize them, could we make a library that automates the process ? Because ideally queries should be written for readability
There are some best-practices for getting the most out of queries https://docs.datomic.com/cloud/best.html#most-selective-clauses-first. I suppose the query engine could optimise the query for you, but AFAIK it doesn’t do such a thing atm
does anyone happen to know what versions of MySQL and corresponding jdbc and mysql adapter are supported by latest datomic on prem??
I also got it running on sqlite once just for perf comparison with "dev" transactor (which uses h2)
alright I'll give that a shot. So you have the connectorj in both the lib
of your datomic installation and in your deps.edn
/`project.clj`/`build.boot`?
or just in the lib
?
also can I ask what version of datomic you were using? And which of com.datomic/datomic-pro
and which version of com.datomic/client-pro
?
and which version of org.clojure/java.jdbc
(if you are using that :P)
Also is there any documentation on how/why AMQ is involved with Datomic? 😛 Because apparently if you're doing stuff on docker it becomes important
Execution error (ActiveMQNotConnectedException) at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl/createSessionFactory (ServerLocatorImpl.java:799).
AMQ119007: Cannot connect to server(s). Tried with all available servers.
okay for the "Datomic Pro Starter Edition" are we limited to one download of the transactor
com.datomic/datomic-pro {:mvn/version "0.9.5786"}
or something? Trying to deploy to a docker container and I'm getting a 401
are your maven settings properly set up for authentication?
Are cross-db joins working in the client api now? saw this is in the api doc, but still getting weird errors if i try it
The query list form is [:find ?var1 ?var2 ...
:with ?var3 ...
:in $src1 $src2 ...
:where clause1 clause2 ...]
is the behavior of datomic.api/create-database
to throw a Syntax error (NullPointerException)
on a malformed db string?
or does that indicate something else is going on?
(line 10 above corresponds with db.clj:36
in the stack trace)
I can't tell if this has something to do with the dependencies in my deps.edn
, if the connection string is malformed, if my transactor.properties
is incorrect, or if I don't have the correct .jar
file in the <datomic-install>/lib
, or if it's something else entirely
if it helps, I get this same error whether or not the transactor is running
I'll be moving rest of comments regarding this to this thread
Probably but missing from where? In the application?
I'm just a datomic user that never used it with jdbc. But by the exception, but looks like that you need to add [mysql/mysql-connector-java "8.0.16"]
to your deps
It is, unfortunately 😕 I'm just racking my brain because this is such an opaque error message
:deps {
org.clojure/clojure {:mvn/version "1.10.0"}
datascript {:mvn/version "0.18.2"}
org.clojure/data.codec {:mvn/version "0.1.1"}
compojure {:mvn/version "1.6.1"}
http-kit {:mvn/version "2.3.0"}
ring-cors {:mvn/version "0.1.13"}
vvvvalvalval/supdate {:mvn/version "0.2.3"}
org.clojure/core.match {:mvn/version "0.3.0"}
com.novemberain/langohr {:mvn/version "5.1.0"}
com.novemberain/monger {:mvn/version "3.1.0"}
tempfile #:mvn{:version "0.2.0"}
org.clojure/data.csv {:mvn/version "0.1.4"}
org.clojure/java.jdbc {:mvn/version "0.7.9"}
com.datomic/client-pro {:mvn/version "0.8.28"}
com.datomic/datomic-pro {:mvn/version "0.9.5786"}
mysql/mysql-connector-java {:mvn/version "8.0.16"}
com.taoensso/sente {:mvn/version "1.14.0-RC2"}
buddy {:mvn/version "2.0.0"}
clj-http {:mvn/version "3.9.1"}
org.clojure/tools.logging {:mvn/version "0.4.1"}
redis-async {:local/root "../redis-async"}
clj-jedis {:local/root "../clj-jedis"}}
}
All I can figure out is "something" is wrong
good lord... finally got it .... conflicting dependencies oy ...
apparently another library was pulling in datomic-free
? are transaction function supported in datomic-free ? i have not been able to get them to work ( someone mentioned 2 years about about there not being a transactor in the free version ) but this seems tough on people using free version .. though maybe that is the point
FWIW, the CHANGES.md file inside datomic-free-0.9.5703.zip
says classpath functions where added but I haven't try them
How I would modify (d/pull db '[{:a [:b :c]}] eid])
to return {:b value :c value}
instead of {:a {:b value :c value}}
?
i have tried to load datomic-free-0.9.5703 from deps.edn and it cant be found .. sadly
but that is good pointer @lockdown-
i will check that
interesting discussion that is super confusing
puzzler ( but it probably was mistake ( because it refers to on-prem ) still .. a puzzler non the less
yes, that version is not in clojars but you can use the maven-install script that is inside the zip
interesting .. and kind of odd also
well, looks like they are targeting the enterprise only and want their existing/new users to move to the cloud version
that figures, but we using free only for testing ( and using cloud version for real ) so this kill the buzz for testing a bit and for working on laptop while on bus and that sort of thing ( with no wifi )
we using this library to bridge that gap ( since we using cloud api for real ) https://github.com/ComputeSoftware/datomic-client-memdb.git
with this you can do mem-db ( with free ) and use same api as cloud ( BUUUUUT .. no transactions ) what a party pooper that was