diff options
| author | dumpfmprod <dumpfmprod@ubuntu.(none)> | 2010-05-17 12:01:04 -0400 |
|---|---|---|
| committer | dumpfmprod <dumpfmprod@ubuntu.(none)> | 2010-05-17 12:01:04 -0400 |
| commit | a56999f4bfc6d12c34f9fb7201b6f86e537a5207 (patch) | |
| tree | f7d4620442b928261127012c29260cd40f8a7b40 /src/utils.clj | |
| parent | 2439fbecf91c813c2f560ee2e45f25dfa7c01633 (diff) | |
| parent | f3d4f45db32c105e5c700668eb420f4d3709cbf3 (diff) | |
Merge branch 'master' of /pichat/repo
Diffstat (limited to 'src/utils.clj')
| -rwxr-xr-x | src/utils.clj | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/utils.clj b/src/utils.clj index 3f3efab..5d7af94 100755 --- a/src/utils.clj +++ b/src/utils.clj @@ -4,6 +4,8 @@ java.util.TimeZone java.io.File java.net.URLDecoder + javax.sql.DataSource + org.postgresql.ds.PGPoolingDataSource org.apache.commons.codec.digest.DigestUtils org.antlr.stringtemplate.StringTemplateGroup) (:use clojure.contrib.json.write @@ -12,13 +14,16 @@ compojure)) (let [db-host "localhost" - db-port 5432 - db-name "dumpfm"] - (def *db* {:classname "org.postgresql.Driver" - :subprotocol "postgresql" - :subname (str "//" db-host ":" db-port "/" db-name) - :user "postgres" - :password "root"})) + db-name "dumpfm" + db-user "postgres" + db-pass "root"] + ; TODO: use c3p0 for pooling? + (def *db* {:datasource (doto (new PGPoolingDataSource) + (.setServerName db-host) + (.setDatabaseName db-name) + (.setUser db-user) + (.setPassword db-pass) + (.setMaxConnections 3))})) ;; moved this to here which doesn't seem right... maybe a 'settings.clj' or something? (def *dumps-per-page* 20) @@ -26,6 +31,9 @@ ;; Misc +(defn append [& vecs] + (reduce into vecs)) + (declare stringify-and-escape) (defn escape-html-deep [o] (if (map? o) @@ -78,11 +86,11 @@ (defn sha1-hash [& more] (DigestUtils/shaHex (apply str more))) -(defmacro with-timing [e] +(defmacro with-timing [e] `(let [s# (System/nanoTime) r# ~e f# (System/nanoTime)] - [(int (/ (- f# s#) 1000000.0)) r#])) + [(int (/ (- f# s#) 1e6)) r#])) ;; Formatters @@ -185,6 +193,10 @@ ([res ok err] (if (not (= (first res) 1)) err ok)) ([res] (assert-update res true false))) +(defn sql-array [type arr] + (with-connection *db* + (.createArrayOf (connection) type (into-array arr)))) + ;; Parsing (defn maybe-parse-int |
