Fix #242 by turning modifiers into a multimethod
This commit is contained in:
parent
05cc39a41c
commit
509df19702
1 changed files with 8 additions and 3 deletions
|
|
@ -502,12 +502,17 @@
|
|||
(defmethod format-clause :exists [[_ table-expr] _]
|
||||
(str "EXISTS " (to-sql table-expr)))
|
||||
|
||||
(defmulti format-modifiers (fn [[op & _]] op))
|
||||
|
||||
(defmethod format-modifiers :distinct [_] "DISTINCT")
|
||||
|
||||
(defmethod format-modifiers :default [coll]
|
||||
(space-join (map (comp upper-case name) coll)))
|
||||
|
||||
(defmethod format-clause :select [[_ fields] sql-map]
|
||||
(str "SELECT "
|
||||
(when (:modifiers sql-map)
|
||||
(str (space-join (map (comp upper-case name)
|
||||
(:modifiers sql-map)))
|
||||
" "))
|
||||
(str (format-modifiers (:modifiers sql-map)) " "))
|
||||
(comma-join (map to-sql fields))))
|
||||
|
||||
(defmethod format-clause :from [[_ tables] _]
|
||||
|
|
|
|||
Loading…
Reference in a new issue