summaryrefslogtreecommitdiff
path: root/src/clojure_sql/jdbc.clj
blob: 45b18390d9e61d1f647650ad29393a698eb0c689 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(ns clojure-sql.jdbc
  (:require [clojure.java.jdbc :as jdbc]
            [clojure-sql.core :refer [set-query-executor!]]))

(defn use-jdbc! [connection-string]
  (set-query-executor! (fn [type query] 
                         (jdbc/with-connection connection-string
                           (case type
                             :select (jdbc/with-query-results results query
                                       (vec results))
                             :insert (jdbc/do-prepared-return-keys (first query) (next query))
                             :update (jdbc/do-prepared-return-keys (first query) (next query))
                             :delete (first (jdbc/do-prepared (first query) (next query)))
                             (assert false (str "Unknown query type: " type)))))))