Skip to content

Commit 17d36d4

Browse files
committed
Merge in changes (use org.clojure/java.jdbc)
1 parent b525899 commit 17d36d4

File tree

2 files changed

+22
-26
lines changed

2 files changed

+22
-26
lines changed

project.clj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
:license {:name "Eclipse Public License"
55
:url "http://www.eclipse.org/legal/epl-v10.html"}
66
:dependencies [[org.clojure/clojure "1.9.0"]
7-
[org.clojure/core.async "0.4.474"]
87
[com.stuartsierra/component "0.3.2"]
98
[com.walmartlabs/lacinia "0.30.0"]
109
[com.walmartlabs/lacinia-pedestal "0.10.0"]
11-
[alaisi/postgres.async "0.8.0"]
10+
[org.clojure/java.jdbc "0.7.8"]
11+
[org.postgresql/postgresql "42.2.5.jre7"]
12+
[com.mchange/c3p0 "0.9.5.2"]
1213
[io.aviso/logging "0.3.1"]])

src/clojure_game_geek/db.clj

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,41 @@
11
(ns clojure-game-geek.db
22
(:require
33
[com.stuartsierra.component :as component]
4-
[postgres.async :refer [open-db query! close-db!]]
5-
[clojure.core.async :refer [<!!]]))
4+
[clojure.java.jdbc :as jdbc])
5+
(:import (com.mchange.v2.c3p0 ComboPooledDataSource)))
66

7-
(defrecord ClojureGameGeekDb [conn]
7+
(defn ^:private pooled-data-source
8+
[host dbname user password port]
9+
{:datasource
10+
(doto (ComboPooledDataSource.)
11+
(.setDriverClass "org.postgresql.Driver" )
12+
(.setJdbcUrl (str "jdbc:postgresql://" host ":" port "/" dbname))
13+
(.setUser user)
14+
(.setPassword password))})
15+
16+
(defrecord ClojureGameGeekDb [ds]
817

918
component/Lifecycle
1019

1120
(start [this]
1221
(assoc this
13-
:conn (open-db {:hostname "localhost"
14-
:database "cggdb"
15-
:username "cgg_role"
16-
:password "lacinia"
17-
;; Host port mapped to 5432 in the container
18-
:port 25432})))
22+
:ds (pooled-data-source "localhost" "cggdb" "cgg_role" "lacinia" 25432)))
1923

2024
(stop [this]
21-
(close-db! conn)
22-
(assoc this :conn nil)))
25+
(-> ds :datasource .close)
26+
(assoc this :ds nil)))
2327

2428
(defn new-db
2529
[]
2630
{:db (map->ClojureGameGeekDb {})})
2731

28-
(defn ^:private take!
29-
"Takes a value from a channel and rethrows an exception if that is the
30-
conveyed value."
31-
[ch]
32-
(let [v (<!! ch)]
33-
(if (instance? Throwable v)
34-
(throw v)
35-
v)))
3632

3733
(defn find-game-by-id
3834
[component game-id]
39-
(-> (query! (:conn component)
40-
["select game_id, name, summary, min_players, max_players, created_at, updated_at
41-
from board_game where game_id = $1" game-id])
42-
take!
43-
first))
35+
(first
36+
(jdbc/query (:ds component)
37+
["select game_id, name, summary, min_players, max_players, created_at, updated_at
38+
from board_game where game_id = ?" game-id])))
4439

4540
(defn find-member-by-id
4641
[component member-id]

0 commit comments

Comments
 (0)