From de0c98c1c1ef7616d07db39f7c5ed5033d1fda67 Mon Sep 17 00:00:00 2001 From: Dave Della Costa Date: Tue, 15 Jul 2014 15:19:49 +0900 Subject: [PATCH] Fixes broken with-view-transaction macro --- src/views/db/core.clj | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/views/db/core.clj b/src/views/db/core.clj index 5413065..7adebff 100644 --- a/src/views/db/core.clj +++ b/src/views/db/core.clj @@ -36,19 +36,18 @@ (defmacro with-view-transaction [config binding & forms] - (let [tvar (first binding) - ns (nth binding 2)] + (let [tvar (first binding), this-ns (nth binding 2)] `(if (:deltas ~(second binding)) ;; check if we are in a nested transaction - (let [~tvar ~(second binding)] ~@forms) + (let [~tvar ~(second binding), ~this-ns ~(nth binding 3)] ~@forms) (do-transaction-fn-with-retries (fn [] (let [base-subscribed-views# (:base-subscribed-views ~config) - deltas# (atom []) - result# (j/with-db-transaction [t# ~(second binding) :isolation :serializable] - (let [~tvar (assoc t# :deltas deltas#)] - ~@forms)) - ~ns ~(nth binding 3)] - (broadcast-deltas base-subscribed-views# @deltas# ~ns) + deltas# (atom []) + result# (j/with-db-transaction [t# ~(second binding) :isolation :serializable] + (let [~tvar (assoc t# :deltas deltas#) + ~this-ns ~(nth binding 3)] + ~@forms))] + (broadcast-deltas base-subscribed-views# @deltas# ~(nth binding 3)) result#)))))) (defn vexec!