Merge pull request #468 from p-himik/465-many-exprs-in-agg-order-by
Allow multiple expressions in special :order-by
This commit is contained in:
commit
b1b7868c8b
2 changed files with 14 additions and 2 deletions
|
|
@ -1513,9 +1513,9 @@
|
|||
(let [[sql & params] (format-expr x {:nested true})]
|
||||
(into [(str "NOT " sql)] params)))
|
||||
:order-by
|
||||
(fn [k [e q]]
|
||||
(fn [k [e & qs]]
|
||||
(let [[sql-e & params-e] (format-expr e)
|
||||
[sql-q & params-q] (format-dsl {k [q]})]
|
||||
[sql-q & params-q] (format-dsl {k qs})]
|
||||
(-> [(str sql-e " " sql-q)]
|
||||
(into params-e)
|
||||
(into params-q))))
|
||||
|
|
|
|||
|
|
@ -388,6 +388,18 @@
|
|||
(modifiers :distinct-on :a :b)
|
||||
(sql/format :quoting :ansi))))))
|
||||
|
||||
(deftest select-agg-order-by-test
|
||||
(testing "single expression in order by"
|
||||
(is (= ["SELECT ARRAY_AGG(a ORDER BY x) FROM products"])
|
||||
(sql/format
|
||||
{:select [[[:array_agg [:order-by :a :x]]]]
|
||||
:from :products})))
|
||||
(testing "multiple expressions in order by"
|
||||
(is (= ["SELECT ARRAY_AGG(a ORDER BY x ASC, y DESC, z ASC) FROM products"]
|
||||
(sql/format
|
||||
{:select [[[:array_agg [:order-by :a [:x :asc] [:y :desc] :z]]]]
|
||||
:from :products})))))
|
||||
|
||||
(deftest create-extension-test
|
||||
;; previously, honeysql required :allow-dashed-names? true
|
||||
(testing "create extension"
|
||||
|
|
|
|||
Loading…
Reference in a new issue