From 4a06ad489ff77b3b55d9da946beb81e5b6750015 Mon Sep 17 00:00:00 2001 From: "Alexander K. Hudek" Date: Tue, 23 Dec 2014 18:38:08 -0500 Subject: [PATCH] Remove more problem exception handling. --- project.clj | 2 +- src/views/db/deltas.clj | 12 ++++++------ src/views/db/load.clj | 2 +- src/views/db/util.clj | 10 ---------- 4 files changed, 8 insertions(+), 18 deletions(-) diff --git a/project.clj b/project.clj index 69f7381..22b6f1c 100644 --- a/project.clj +++ b/project.clj @@ -1,4 +1,4 @@ -(defproject views "0.4.7" +(defproject views "0.4.8" :description "You underestimate the power of the SQL side" :url "https://github.com/diligenceengine/views" diff --git a/src/views/db/deltas.clj b/src/views/db/deltas.clj index 5188b9c..f386eed 100644 --- a/src/views/db/deltas.clj +++ b/src/views/db/deltas.clj @@ -9,7 +9,7 @@ [views.db.load :as vdbl] [views.db.checks :as vc] [views.db.honeysql :as vh] - [views.db.util :refer [safe-map log-exception serialization-error?]])) + [views.db.util :refer [log-exception serialization-error?]])) ;; ;; Terminology and data structures used throughout this code @@ -116,11 +116,11 @@ (defn compute-insert-delete-deltas-for-views [schema db views table record] - (safe-map #(compute-delete-deltas-for-insert schema db % table record) views)) + (mapv #(compute-delete-deltas-for-insert schema db % table record) views)) (defn compute-insert-insert-deltas-for-views [schema db views table record] - (safe-map #(compute-insert-deltas-for-insert schema db % table record) views)) + (mapv #(compute-insert-deltas-for-insert schema db % table record) views)) (defn compute-deltas-for-insert "This takes a *single* insert and a view, applies the insert and computes @@ -171,16 +171,16 @@ (defn- update-and-append-deltas! "Handles update and calculation of delete (before update) and insert (after update) deltas." [db views action table pkey] - (let [views-pre (safe-map #(calculate-delete-deltas db %) views) + (let [views-pre (mapv #(calculate-delete-deltas db %) views) pkey-val (get-action-row-key db pkey table action) update (j/execute! db (hsql/format action))] - {:views-with-deltas (safe-map #(calculate-insert-deltas db action [:= pkey pkey-val] %) views-pre) + {:views-with-deltas (mapv #(calculate-insert-deltas db action [:= pkey pkey-val] %) views-pre) :result-set update})) (defn- delete-and-append-deltas! "Handles deletion and calculation of delete (before update) delta." [db views action table pkey] - (let [views-pre (safe-map #(calculate-delete-deltas db %) views)] + (let [views-pre (mapv #(calculate-delete-deltas db %) views)] {:views-with-deltas views-pre :result-set (j/execute! db (hsql/format action))})) diff --git a/src/views/db/load.clj b/src/views/db/load.clj index c256e86..06229d1 100644 --- a/src/views/db/load.clj +++ b/src/views/db/load.clj @@ -5,7 +5,7 @@ [clojure.tools.logging :refer [debug info warn error]] [clojure.java.jdbc :as j] [honeysql.core :as hsql] - [views.db.util :refer [safe-map log-exception serialization-error?]])) + [views.db.util :refer [log-exception serialization-error?]])) (defn view-query "Takes db and query-fn (compiled HoneySQL hash-map) diff --git a/src/views/db/util.clj b/src/views/db/util.clj index 53c6752..44cbb97 100644 --- a/src/views/db/util.clj +++ b/src/views/db/util.clj @@ -53,13 +53,3 @@ "e: " e " msg: " (.getMessage e) " trace: " (with-out-str (print-stack-trace e))))) - -(defn safe-map - "A non-lazy map that skips any results that throw exeptions other than SQL - serialization errors." - [f items] - (reduce #(try (conj %1 (f %2)) - (catch SQLException e (if (serialization-error? e) (throw e) %1)) - (catch Exception e %1)) - [] - items))