Miscellaneous improvements

This commit is contained in:
Oleksandr Yakushev 2024-09-27 12:57:44 +03:00
parent 18a511b1c9
commit 4c75db9a95

View file

@ -691,7 +691,9 @@
* [:overlay :foo :*placing :?subs :*from 3 :*for 4]
* [:trim :*leading-from :bar]"
[args & [opts]]
(loop [exprs (map #(format-expr % opts) (remove inline-kw? args))
(loop [exprs (keep #(when-not (inline-kw? %)
(format-expr % opts))
args)
args args
prev-in false
result []]
@ -933,7 +935,11 @@
(defn- format-join [k clauses]
(let [[sqls params]
(reduce (fn [[sqls params] [j e]]
(transduce
(partition-all 2)
(fn
([res] res)
([[sqls params] [j e]]
(let [[sql-j & params-j]
(format-selects-common
(sql-kw (if (= :join k) :inner-join k))
@ -942,7 +948,7 @@
sqls (conj sqls sql-j)]
(if (and (sequential? e) (= :using (first e)))
(let [[u-sqls u-params]
(reduce-sql (map #'format-entity-alias (rest e)))]
(reduce-sql (map #'format-entity-alias) (rest e))]
[(conj sqls
"USING"
(str "("
@ -953,9 +959,9 @@
[(cond-> sqls e (conj "ON" sql))
(-> params
(into params-j)
(into params'))]))))
(into params'))])))))
[[] []]
(partition-all 2 clauses))]
clauses)]
(into [(join " " sqls)] params)))
(def ^:private join-by-aliases
@ -1969,7 +1975,7 @@
(defn- format-infix-expr [op' op expr nested]
(let [args (cond->> (rest expr)
(contains? @op-ignore-nil op)
(remove nil?))
(filterv some?))
args (cond (seq args)
args
(= :and op)