summaryrefslogtreecommitdiff
path: root/src/clojure_sql/core.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/clojure_sql/core.clj')
-rw-r--r--src/clojure_sql/core.clj91
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)