diff options
Diffstat (limited to 'src/clojure/contrib/sql/test/test.clj')
-rw-r--r-- | src/clojure/contrib/sql/test/test.clj | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/clojure/contrib/sql/test/test.clj b/src/clojure/contrib/sql/test/test.clj new file mode 100644 index 00000000..f098c9aa --- /dev/null +++ b/src/clojure/contrib/sql/test/test.clj @@ -0,0 +1,47 @@ +(ns clojure.contrib.sql.test + (:use clojure.contrib.sql)) + +(Class/forName "org.apache.derby.jdbc.EmbeddedDriver") + +(defn db [] + (get-connection "derby" "/tmp/clojure.contrib.sql.test.db;create=true")) + +(defn db-drop [] + (with-connection con (db) + (try + (execute-commands con + ["drop table fruit"]) + (catch Exception e)))) + +(defn db-write [] + (db-drop) + (with-connection con (db) + (execute-commands con + ["create table fruit (name varchar(32), appearance varchar(32), cost int, grade real)"]) + (seq + (execute-prepared-statement con + "insert into fruit values (?, ?, ?, ?)" + [["Apple" "red" 59 87] + ["Banana" "yellow" 29 92.2] + ["Peach" "fuzzy" 139 90.0] + ["Orange" "juicy" 89 88.6]])))) + +(defn db-read [] + (with-connection con (db) + (with-query-results rec con + "select * from fruit" + (println rec)))) + +(defn db-grade-a [] + (with-connection con (db) + (with-query-results rec con + "select name, cost from fruit where grade >= 90" + (println rec)))) + +(defn db-exception [] + (with-connection con (db) + (execute-prepared-statement con + "insert into fruit (name, appearance) values (?, ?)" + [["Grape" "yummy"] + ["Pear" "bruised"]]) + (throw (Exception. "an exception")))) |