Fork me on GitHub

Hi~! Is there a utility that I can get(or assoc) all values in nested map with vector?

(def data
  {:a [{:b {:c [{:d 1}]}}
       {:b {:c [{:d 2}]}}]})

;; It's ok
(get-in data [:a 0 :b :c 0])
=> {:d 1}

;; Like this?
(get-all data [:a :* :b :c :*])
=> [{:d 1} {:d 2}]

;; Like this?
(assoc-all data [:a :* :b :c :* :e] 3)
=> {:a [{:b {:c [{:d 1
               :e 3}]}}
        {:b {:c [{:d 2
               :e 3}]}}]}


Im curious what the real situation is. Both libs mentioned will help. But always suspect there is a database issue at play when I see questions like this.


Has anyone here used etaoin to print a pdf of a web page? Webdriver spec has the command. There are examples here for c# and Java: , but when I look in the code for etaoin I don’t see it implemented. Are there other clojure options?

David Pham10:11:14

Is there a way with transit-clj to serialize sorted-maps?


sure, you have to provide your encoding/decoding handlers

David Pham14:11:59

IThanks a lot @gon!

David Pham14:11:09

I have a question about multimethods: if a method is defined in two different namespace wit the dispatch value, and they are both loaded into a new namespace, which one will take precedence?

David Pham14:11:06

I tried in Clojure and it appeared to me that it was the namespace which was imported last (which somehow made sense), but then I tested in ClojureScript and the order was not relevant.

David Pham14:11:21

I am asking because I need to overwrite one of the dispatch function.


I've turned this week off into Clojure Hack Week


I guess most people are 🦃 🥧


Hello everyone, Could you please help me with a jdbc function call? I have this:

(jdbc/execute! db/*db*
  ["update request
    set timestamp = ?
    where id = ?
    returning *"
But I’m getting this error:
Execution error (PSQLException) at org.postgresql.core.v3.QueryExecutorImpl/receiveErrorResponse (
ERROR: column "timestamp" is of type timestamp with time zone but expression is of type character varying
  Hint: You will need to rewrite or cast the expression.
  Position: 61
I understand that "2020-11-26T15:37:45.13-06:00" is the standard date format (ISO-8601), but I don’t know why it’s not working. Thanks!


On psql this works fine:

update solicitudes.solicitud
set modificación_horario = '2020-11-26T15:37:45.13-06:00'
where solicitud_id = 621
returning *


PostgreSQL can be pretty fussy about date/time fields -- see for example -- but you'll definitely want to be using an actual date/time value and not a string.


If you're using, I'll point out that's not actively maintained any more and you should consider using next.jdbc (the latter is the "1.0" release that I was not able to give c.j.j because I needed to make some big changes, based on what I'd learned maintaining c.j.j for many years).


Also, that SO answer suggests clj-time @U013JFLRFS8 which is deprecated now and the readme recommends either using Java Time directly or one of the wrapper libraries (and, yes, clj-time is another one of my libraries where I want people to migrate off it to something else 🙂 ).


Thanks a lot!