blob: 468ce30d7490ef624369f5b4257c9f0adafc2c3a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
(ns mulk.benki.db
(:refer-clojure)
(:use mulk.benki.util)
(:require [clojure.java.jdbc :as sql]))
(def ^:private db
{:classname "org.postgresql.Driver"
:subprotocol "postgresql"
:subname "//localhost:5432/benki"
:user "benki"
:password ""})
(defn call-with-db [thunk]
(sql/with-connection db
(thunk)))
(defmacro with-db [& body]
`(call-with-db (fn [] ~@body)))
(defmacro with-dbt [& body]
`(call-with-db (fn [] (sql/transaction ~@body))))
(defmacro query [query-string & params]
`(sql/with-query-results results# ~(into [] (concat [query-string] params))
(into '() results#)))
(defmacro query1 [query-string & params]
`(first (query ~query-string ~@params)))
|