diff options
Diffstat (limited to 'src/clojure_sql/core.clj')
-rw-r--r-- | src/clojure_sql/core.clj | 91 |
1 files changed, 9 insertions, 82 deletions
diff --git a/src/clojure_sql/core.clj b/src/clojure_sql/core.clj index 4e3db34..72438a6 100644 --- a/src/clojure_sql/core.clj +++ b/src/clojure_sql/core.clj @@ -1,5 +1,5 @@ (ns clojure-sql.core - (:refer-clojure :exclude [sort-by]) + (:refer-clojure :exclude [sort]) (:require [clojure.set :as set] [clojure-sql.compiler :as c] [clojure-sql.dsl :as d] @@ -17,85 +17,12 @@ (binding [*out* writer] (pr (c/compile nil query)))) -(comment - (def table #'d/table) - (def project #'d/project) - (def rename #'d/rename) - (def join #'d/join) - (def select #'d/select) - (def sort-by #'d/sort-by) - - (def insert! #'c/insert!) - (def update! #'c/update!) - (def delete! #'c/delete!)) - - - - - - -(comment - - (let [users (-> (table :users) - (project [:id :username :password]) - (select '(= :deleted false))) - people (-> (table :people) - (project [:id :fname :sname]) - (select '(= :deleted false))) - uid-pid-match '(= :uid :pid) - is-carlo `(= :fname "Carlo'; SELECT * FROM users --")] - (-> (join (-> users - (rename {:id :uid})) - (join (-> people - (rename {:id :pid})) - (-> (table {:others :o}) - (project {:id :oid})) - :on '(= :pid :oid)) - :on uid-pid-match) - (select is-carlo) - (project [:fname :sname :oid]))) - - (-> (table :users) - (project [:username]) - (join (table :something-else-with-a-username)) - (select '(or (= :username "john") - (not (= :username "carlo")))) - (project [:username])) - - (-> (table {:nodes :child}) - (project [:parent-id, :name]) - (rename {:name :child.name - :parent-id :pid}) - (join (-> (table {:nodes :parent}) - (project [:id, :name]) - (rename {:name :parent.name})) - :on '(= :pid :id)) - (project [:child.name :parent.name])) - - (-> (table :users) - (project [:id]) - (join (-> (table :people) - (project [:id])))) - (-> (table :users) - (project [:id :name]) - (rename {:id :name - :name :id})) - (-> (table :users) - (project {:id :name - :name :id}) - (select '(= :id 10))) - - (-> (table :anotherStack) - (project [:anotherNumber]) - (join (-> (table :collection) - (project [:number])))) - - (-> (table :anotherStack) - (project [:anotherNumber]) - (join (-> (table :collection) - (project [:number]))) - (select '(is-okay 10))) - - (-> (table :users) - (select '(= (left :username 1) "bloo")))) +(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) |