Hacking on exec-repl.

This commit is contained in:
Richard Newman 2016-07-25 09:05:43 -07:00
parent 513f23c45c
commit 3a4b687921

View file

@ -10,10 +10,10 @@
[cljs.core.async.macros :refer [go]])) [cljs.core.async.macros :refer [go]]))
(:require (:require
[datomish.db :as db] [datomish.db :as db]
[datomish.exec :as exec]
[datomish.sqlite :as s] [datomish.sqlite :as s]
[datomish.sqlite-schema :as ss] [datomish.sqlite-schema :as ss]
[datomish.query :as dq] [datomish.query :as dq]
[datomish.transact :as transact]
#?@(:clj #?@(:clj
[[datomish.jdbc-sqlite] [[datomish.jdbc-sqlite]
[datomish.pair-chan :refer [go-pair <?]] [datomish.pair-chan :refer [go-pair <?]]
@ -40,7 +40,7 @@
"Given an open database, returns a lazy sequence of results. "Given an open database, returns a lazy sequence of results.
When fully consumed, underlying resources will be released." When fully consumed, underlying resources will be released."
[db find] [db find]
(pair-channel->lazy-seq (exec/<?run db find)))) (pair-channel->lazy-seq (db/<?run db find))))
(defn xxopen [] (defn xxopen []
(datomish.pair-chan/go-pair (datomish.pair-chan/go-pair
@ -49,7 +49,7 @@
(def db d)))) (def db d))))
;; With an open DB… ;; With an open DB…
#_(datomish.exec/run-to-pair-seq #_(run-to-pair-seq
db db
'[:find ?page :in $ :where [?page :page/starred true ?t]]) '[:find ?page :in $ :where [?page :page/starred true ?t]])
@ -66,3 +66,32 @@
(println (println
"Result: " "Result: "
(<! (db/<?q d '[:find ?page :in $ :where [?page :page/starred true ?t]] {}))))) (<! (db/<?q d '[:find ?page :in $ :where [?page :page/starred true ?t]] {})))))
#_
(go-pair
(let [connection (<? (s/<sqlite-connection "/tmp/foo.sqlite"))
dd (<? (db/<with-sqlite-connection connection))]
(def *db* dd)))
#_
(clojure.core.async/<!!
(go-pair
(let [now -1
forms (mapcat (fn [i]
(map (fn [j]
[:db/add i :x j true])
(range 1000 (* i 2000) i)))
(range 1 10))]
(println "Adding" (count forms) "forms")
(<? (transact/<transact! *db* forms nil now)))))
#_
(go-pair
(let [connection (<? (s/<sqlite-connection "/tmp/foo.sqlite"))
dd (<? (db/<with-sqlite-connection connection))]
(println
(count
(<? (db/<?q dd
'[:find ?e ?v :in $ :where
[?e :x ?v]
#_[(> ?v 1000)]] {}))))))