 
 
 (defmacro defsql
-  "Define a parsed SQL template that can be used to execute it later."
+  "Define a parsed/compiled SQL template that can be used to execute it later."
   ([var-symbol sql]
     (when-not (symbol? var-symbol)
       (i/expected "a symbol" var-symbol))

       (mapv (partial isql/encode-result-type sql) result-types)])))


(defn build-sql-source
  [sql-tokens result-types
   {:keys [make-params-setter
           make-row-maker

  * sql-tokens is a vector of alternating string and param-pair vectors
  * param-pair is a vector of two elements [param-key param-type] (param keys are used to extract map params)
  * result-types is a vector of result types
  See:
    `compile-sql-template` to compile a SQL template for efficiency/enhancement
    asphalt.type for supported SQL types."
  ([^String sql]
    (parse-sql sql {}))
  ([^String sql {:keys [sql-name escape-char param-start-char type-start-char name-encoder]
