Refactor to sql-format for now
This commit is contained in:
parent
2c98d35f63
commit
b6d6d2c4f4
2 changed files with 20 additions and 16 deletions
|
|
@ -227,15 +227,19 @@
|
||||||
:else
|
:else
|
||||||
["?" x]))
|
["?" x]))
|
||||||
|
|
||||||
(defn format
|
(defn- sql-format
|
||||||
"Turn the data DSL into a vector containing a SQL string followed by
|
"Format the data into SQL + params according to the options."
|
||||||
any parameter values that were encountered in the DSL structure."
|
[data opts]
|
||||||
([data] (format data {}))
|
|
||||||
([data opts]
|
|
||||||
(let [dialect (get dialects (get opts :dialect :ansi))]
|
(let [dialect (get dialects (get opts :dialect :ansi))]
|
||||||
(binding [*dialect* dialect
|
(binding [*dialect* dialect
|
||||||
*quoted* (if (contains? opts :quoted) (:quoted opts) true)]
|
*quoted* (if (contains? opts :quoted) (:quoted opts) true)]
|
||||||
(format-dsl data)))))
|
(format-dsl data))))
|
||||||
|
|
||||||
|
(defn format
|
||||||
|
"Turn the data DSL into a vector containing a SQL string followed by
|
||||||
|
any parameter values that were encountered in the DSL structure."
|
||||||
|
([data] (sql-format data {}))
|
||||||
|
([data opts] (sql-format data opts)))
|
||||||
|
|
||||||
(defn set-dialect!
|
(defn set-dialect!
|
||||||
"Set the default dialect for formatting.
|
"Set the default dialect for formatting.
|
||||||
|
|
@ -254,13 +258,13 @@
|
||||||
(format-expr 1)
|
(format-expr 1)
|
||||||
(format-where :where [:= :id 1])
|
(format-where :where [:= :id 1])
|
||||||
(format-dsl {:select [:*] :from [:table] :where [:= :id 1]})
|
(format-dsl {:select [:*] :from [:table] :where [:= :id 1]})
|
||||||
(format {:select [:t.*] :from [[:table :t]] :where [:= :id 1]})
|
(sql-format {:select [:t.*] :from [[:table :t]] :where [:= :id 1]} {})
|
||||||
(format {:select [:*] :from [:table] :group-by [:foo :bar]})
|
(sql-format {:select [:*] :from [:table] :group-by [:foo :bar]} {})
|
||||||
(format {:select [:*] :from [:table] :group-by [[:date :bar]]})
|
(sql-format {:select [:*] :from [:table] :group-by [[:date :bar]]} {})
|
||||||
(format {:select [:*] :from [:table] :order-by [[:foo :desc] :bar]})
|
(sql-format {:select [:*] :from [:table] :order-by [[:foo :desc] :bar]} {})
|
||||||
(format {:select [:*] :from [:table] :order-by [[[:date :expiry] :desc] :bar]})
|
(sql-format {:select [:*] :from [:table] :order-by [[[:date :expiry] :desc] :bar]} {})
|
||||||
(format {:select [:*] :from [:table] :where [:< [:date_add :expiry [:interval 30 :days]] [:now]]})
|
(sql-format {:select [:*] :from [:table] :where [:< [:date_add :expiry [:interval 30 :days]] [:now]]} {})
|
||||||
(format-expr [:interval 30 :days])
|
(format-expr [:interval 30 :days])
|
||||||
(format {:select [:*] :from [:table] :where [:= :id 1]} {:dialect :mysql})
|
(sql-format {:select [:*] :from [:table] :where [:= :id 1]} {:dialect :mysql})
|
||||||
(format {:select [:*] :from [:table] :where [:in :id [1 2 3 4]]})
|
(sql-format {:select [:*] :from [:table] :where [:in :id [1 2 3 4]]} {})
|
||||||
,)
|
,)
|
||||||
|
|
|
||||||
|
|
@ -7,5 +7,5 @@
|
||||||
|
|
||||||
(deftest mysql-tests
|
(deftest mysql-tests
|
||||||
(is (= ["SELECT * FROM `table` WHERE `id` = ?" 1]
|
(is (= ["SELECT * FROM `table` WHERE `id` = ?" 1]
|
||||||
(sut/format {:select [:*] :from [:table] :where [:= :id 1]}
|
(#'sut/sql-format {:select [:*] :from [:table] :where [:= :id 1]}
|
||||||
{:dialect :mysql}))))
|
{:dialect :mysql}))))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue