diff options
Diffstat (limited to 'src/clojure_sql/core.clj')
-rw-r--r-- | src/clojure_sql/core.clj | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/src/clojure_sql/core.clj b/src/clojure_sql/core.clj index 03f992b..81c9c13 100644 --- a/src/clojure_sql/core.clj +++ b/src/clojure_sql/core.clj @@ -7,6 +7,23 @@ [clojure-sql.util :as u] [clojure.walk])) + +(defmacro pull [ns & vlist] + `(do ~@(for [i vlist + :let [sym (symbol (name ns) (name i))]] + `(def ~(with-meta i + (u/map-vals (fn [x] `(quote ~x)) (meta (resolve sym)))) + ~sym)) + nil)) + +(pull clojure-sql.dsl + table join + project rename + select + group having + sort take drop) + + (def ^:private ^:dynamic *database-type* nil) (defn set-database-type! [new-type] (alter-var-root #'*database-type* (constantly new-type)) @@ -24,18 +41,6 @@ (pr (c/compile-select *database-type* query)))) -(def table #'d/table) -(def project #'d/project) -(def rename #'d/rename) -(def join #'d/join) -(def select #'d/select) -(def group #'d/group) -(def having #'d/having) -(def sort #'d/sort) -(def take #'d/take) -(def drop #'d/drop) - - (defn run-query [query] (assert *query-executor* "Cannot execute a query without a query executor") (*query-executor* :select (c/compile-select *database-type* query))) |