           (c/compare-perf "select-row"
             (jdbc/query db-con [s-select])
             (a/query a/fetch-rows conn s-select nil)
-            (a/query a/fetch-rows conn t-select nil))))
+            (a/query a/fetch-rows conn t-select nil)
+            (a/query a/fetch-rows conn r-select nil))))
       ;; bench c.j.j `:as-arrays? true` with asphalt
       (jdbc/with-db-connection [db-con db-spec]
         (i/with-connection [conn u/orig-ds]
           (c/compare-perf "select-row-as-arrays"
             (jdbc/query db-con [s-select] {:as-arrays? true})
             (a/query a/fetch-rows conn s-select nil)
-            (a/query a/fetch-rows conn t-select nil)))))))
+            (a/query a/fetch-rows conn t-select nil)
+            (a/query a/fetch-rows conn r-select nil)))))))

    [citius.core       :as c]
    [asphalt.test-util :as u]
    [asphalt.core      :as a]
    [asphalt.internal  :as i]
    [asphalt.type      :as t]))


(use-fixtures :once (c/make-bench-wrapper ["clojure.java.jdbc" "Asphalt-SQL" "Asphalt-template"]
                      {:chart-title "Clojure.java.jdbc vs Asphalt"
                       :chart-filename (format "bench-clj-%s.png" c/clojure-version-str)}))


(a/defsql t-delete "DELETE FROM emp")
(a/defsql t-select "SELECT ^string name, ^int salary, ^string dept FROM emp")


(def r-insert (assoc t-insert
                :param-setter (fn [prepared-stmt params]
                                (p/set-params prepared-stmt [:name :salary :dept] [:string :int :string] params))))
(def r-delete (assoc t-delete
                :param-setter (fn [prepared-stmt params]
                                (p/set-params prepared-stmt [] [] params))))
(def r-select (assoc t-select
                :param-setter (fn [prepared-stmt params]
                                (p/set-params prepared-stmt [] [] params))
                :row-maker    (fn [result-set params]
                                (r/read-columns [:string :int :string] nil result-set params))))


(def ^String s-insert (:sql t-insert))
(def ^String s-delete (:sql t-delete))
(def ^String s-select (:sql t-select))
