summaryrefslogtreecommitdiff
path: root/src/clojure_sql/core.clj
diff options
context:
space:
mode:
authorCarlo Zancanaro <carlo@clearboxsystems.com.au>2013-06-21 17:53:21 +1000
committerCarlo Zancanaro <carlo@clearboxsystems.com.au>2013-06-21 17:53:21 +1000
commit1975c39d905d32b071fc6488cf3b22c6bf227489 (patch)
tree28a8635903dff01f07b57b6d94e8c557fd54abf0 /src/clojure_sql/core.clj
parente02f9fde1e5e0d4097d15ec11141f3998dd11308 (diff)
Docstrings, re-export from core better (with metadata)
Diffstat (limited to 'src/clojure_sql/core.clj')
-rw-r--r--src/clojure_sql/core.clj29
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)))