sql

All things SQL and JDBC...
emccue 2020-07-04T22:11:18.125200Z

I ended up writing a small function and macro for if I end up wanting this for real

emccue 2020-07-04T22:11:34.125400Z

(macroexpand-1 '(expand-named-parameters-compile-time
                  "INSERT INTO PERSON (id, name) VALUES (:id, :name)
                    ON CONFLICT (id)
                      DO
                        UPDATE
                        SET name = :name
                    RETURNING id, name"
                  {:name (:person/name person)
                   :id (:person/id person)}))
=>
(clojure.core/let
 [G__4732 (:person/name person) G__4733 (:person/id person)]
 ["INSERT INTO PERSON (id, name) VALUES (?, ?)
   ON CONFLICT (id)
     DO
       UPDATE
       SET name = ?
   RETURNING id, name"
  G__4733
  G__4732
  G__4732])

1