From 8d8c7efebb40b0027d441aa04495e98b7ac45748 Mon Sep 17 00:00:00 2001 From: Maxim Penzin Date: Fri, 8 May 2020 10:40:53 +0800 Subject: [PATCH] Parameter type hint in tips-and-tricks --- doc/tips-and-tricks.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/tips-and-tricks.md b/doc/tips-and-tricks.md index 4c9d1dc..719d547 100644 --- a/doc/tips-and-tricks.md +++ b/doc/tips-and-tricks.md @@ -173,15 +173,19 @@ Finally we extend `next.jdbc.prepare/SettableParameter` and `next.jdbc.result-se (require '[next.jdbc.prepare :as prepare]) (require '[next.jdbc.result-set :as rs]) +(import '[java.sql PreparedStatement]) + +(set! *warn-on-reflection* true) + ;; if a SQL parameter is a Clojure hash map or vector, it'll be transformed ;; to a PGobject for JSON/JSONB: (extend-protocol prepare/SettableParameter clojure.lang.IPersistentMap - (set-parameter [m s i] + (set-parameter [m ^PreparedStatement s i] (.setObject s i (->pgobject m))) clojure.lang.IPersistentVector - (set-parameter [v s i] + (set-parameter [v ^PreparedStatement s i] (.setObject s i (->pgobject v)))) ;; if a row contains a PGobject then we'll convert them to Clojure data