    x))
 
 (defn do-post-select
-  "Perform post-processing for objects fetched from the DB. Convert results `objects` to `entity` record types and call
-  the model's `post-select` method on them."
+  "Perform post-processing for objects fetched from the DB. Convert results `objects` to `entity` record types and
+  call the model's `post-select` method on them."
   {:style/indent 1}
   [model objects]
   (let [model            (resolve-model model)

    :else                        (throw (Exception. (str "Invalid model: " model)))))

(defn quote-fn
  "The function that JDBC should use to quote identifiers for our database. This is passed as the `:entities` option to
  functions like `jdbc/insert!`."
  []
  ((quoting-style) @(resolve 'honeysql.format/quote-fns))) ; have to call resolve because it's not public


(def ^:private ^:dynamic *call-count*
  "Atom used as a counter for DB calls when enabled. This number isn't *perfectly* accurate, only mostly; DB calls made
  directly to JDBC won't be logged."
  nil)

(defn -do-with-call-counting

  (not (nil? (find-protocol-method models/IModel methodk model))))

(defn update!
  "Update a single row in the database. Returns `true` if a row was affected, `false` otherwise. Accepts either a
  single map of updates to make or kwargs. `entity` is automatically resolved, and `pre-update` is called on `kvs`
  before the object is inserted into the database.

     (db/update! 'Label 11 :name \"ToucanFriendly\")
     (db/update! 'Label 11 {:name \"ToucanFriendly\"})"
