summaryrefslogtreecommitdiff
path: root/src/clojure_sql/compiler.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/clojure_sql/compiler.clj')
-rw-r--r--src/clojure_sql/compiler.clj4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/clojure_sql/compiler.clj b/src/clojure_sql/compiler.clj
index 50c14af..828da64 100644
--- a/src/clojure_sql/compiler.clj
+++ b/src/clojure_sql/compiler.clj
@@ -225,7 +225,7 @@
(def ^:private set-operations {:union "UNION", :intersect "INTERSECT"})
(defmulti compile-query (fn [db _] db) :default :postgres)
-(defmethod compile-query :postgres [db {:keys [tables fields joins where sort group having take drop set-operation queries]}]
+(defmethod compile-query :postgres [db {:keys [tables fields joins where sort group having take drop distinct set-operation queries]}]
(or (if set-operation
(let [op-str (str ") " (get set-operations set-operation) " (")]
(->> queries
@@ -234,6 +234,8 @@
((p-lift string/join op-str))
$add-parentheses)))
($str (return "SELECT ")
+ (return (if distinct
+ "DISTINCT "))
(compile-fields db fields)
(if tables
($str (return " FROM ")