diff --git a/src/datomish/db.cljc b/src/datomish/db.cljc index 0498a975..d7e5ede7 100644 --- a/src/datomish/db.cljc +++ b/src/datomish/db.cljc @@ -11,6 +11,9 @@ [honeysql.core :as sql] [datomish.util :as util #?(:cljs :refer-macros :clj :refer) [raise cond-let]] [datomish.sqlite :as s] + [datomish.exec :as de] + [datomish.query :as dq] + [datomish.transforms :as dt] [datomish.sqlite-schema :as sqlite-schema] #?@(:clj [[datomish.pair-chan :refer [go-pair !]]]) @@ -36,6 +39,29 @@ (defn db? [x] (and (satisfies? IDB x))) +(defn into-context initial-context (dq/parse find)) + row-pair-transducer (dq/row-pair-transducer context (dq/sql-projection context)) + chan (a/chan 50 row-pair-transducer)] + + (s/sql-string context) chan) + ;; TODO: extract this reducing function lifted to the Maybe monad. + (let [g (fn [f [rv re] [v e]] + (if re + [nil re] + (if e + [nil e] + [(f rv v) nil])))] + (go-pair + (