diff --git a/src/datomish/db.cljc b/src/datomish/db.cljc index b0c61a6d..ce129683 100644 --- a/src/datomish/db.cljc +++ b/src/datomish/db.cljc @@ -80,6 +80,24 @@ v (:v row)] (Datom. e a (ds/<-SQLite schema a v) (:tx row) (and (some? (:added row)) (not= 0 (:added row)))))) +(defn- entid} of known idents. See http://docs.datomic.com/identity.html#idents. IDB @@ -100,7 +118,7 @@ (go-pair (->> {:select [:e :a :v :tx [1 :added]] ;; TODO: generalize columns. - :from [:datoms] + :from [:all_datoms] :where (cons :and (map #(vector := %1 %2) [:e :a :v :tx] (take-while (comp not nil?) [e a v tx])))} ;; Must drop nils. (sql/format) @@ -115,7 +133,7 @@ (go-pair (->> {:select [:e :a :v :tx [1 :added]] ;; TODO: generalize columns. - :from [:datoms] + :from [:all_datoms] :where [:and [:= :a a] [:= :v v] [:= :index_avet 1]]} (sql/format) @@ -130,22 +148,31 @@ ;; TODO: batch insert, batch delete. (doseq [datom datoms] (let [[e a v tx added] datom - v (ds/->SQLite (.-schema db) a v)] ;; TODO: understand why (schema db) fails. + schema (.-schema db) ;; TODO: understand why (schema db) fails. + v (ds/->SQLite schema a v) + fulltext? (ds/fulltext? schema a)] ;; Append to transaction log. (> #(go-pair (doseq [statement v1-statements] - (> + (s/all-rows (:sqlite-connection db) ["SELECT rowid, text FROM fulltext_values"]) + (