Skip to content
Snippets Groups Projects
Commit 889df7f7 authored by Cam Saül's avatar Cam Saül
Browse files

A few indentation fixes and other minor cleanup :yum:

parent e72be01a
Branches
Tags
No related merge requests found
......@@ -297,34 +297,36 @@
(with-out-str (jdbc/print-sql-exception-chain e))))
(f))))
(defn- exception->nice-error-message ^String [^java.sql.SQLException e]
(or (->> (.getMessage e) ; error message comes back like "Error message ... [status-code]" sometimes
(re-find #"(?s)(^.*)\s+\[[\d-]+\]$") ; status code isn't useful and makes unit tests hard to write so strip it off
second) ; (?s) = Pattern.DOTALL - tell regex `.` to match newline characters as well
(.getMessage e)))
(defn- do-with-try-catch [f]
(try
(f)
(catch java.sql.SQLException e
(jdbc/print-sql-exception-chain e)
(let [^String message (or (->> (.getMessage e) ; error message comes back like "Error message ... [status-code]" sometimes
(re-find #"(?s)(^.*)\s+\[[\d-]+\]$") ; status code isn't useful and makes unit tests hard to write so strip it off
second) ; (?s) = Pattern.DOTALL - tell regex `.` to match newline characters as well
(.getMessage e))]
(throw (Exception. message))))))
(throw (Exception. (exception->nice-error-message e))))))
(defn build-korma-form
"Build the korma form we will call `k/exec` on."
[driver {inner-query :query :as outer-query} entity]
(binding [*query* outer-query]
(apply-clauses driver (k/select* entity) inner-query)))
(apply-clauses driver (k/select* entity) inner-query)))
(defn process-mbql
"Convert QUERY into a korma `select` form, execute it, and annotate the results."
[driver {{:keys [source-table]} :query, database :database, settings :settings, :as outer-query}]
(let [timezone (:report-timezone settings)
entity ((resolve 'metabase.driver.generic-sql/korma-entity) database source-table)
korma-form (build-korma-form driver outer-query entity)
f (partial k/exec korma-form)
f (fn []
(kdb/with-db (:db entity)
(if (seq timezone)
(do-with-timezone driver timezone f)
(f))))]
(let [timezone (:report-timezone settings)
entity ((resolve 'metabase.driver.generic-sql/korma-entity) database source-table)
korma-form (build-korma-form driver outer-query entity)
f (partial k/exec korma-form)
f (fn []
(kdb/with-db (:db entity)
(if (seq timezone)
(do-with-timezone driver timezone f)
(f))))]
(log-korma-form korma-form)
(do-with-try-catch f)))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment