datalevin 2025-10-27

hi i want to do this but got the issue

(d/q '[:find ?city ?point
       :where
       [?e :city ?city]
       [?e :location ?location]

       [(clojure.core/apply geo.spatial/point ?location) ?point]]
     (d/db conn))
 :message "Cannot invoke \"clojure.lang.IFn.applyTo(clojure.lang.ISeq)\" because \"f\" is null"
it seems it can not find my loaded library

thx for filing the issue

👍 1

Sorry to ask you again , so this means data levin is kind of in-memroy database & always loads all the stored in the memory like datascrip?

No. LMDB works by mmap files. It is always on disk, there's no memory only mode in Datalevin.

👍 1

So I'll use DataLevin for my new projects instead of good old postgres

Feel free to ask any questions.

🙂 1

i also put full namespace like this & still get the same issue actual.geo.spatial/point

This works

(d/q '[:find ?city ?point
       :where
       [?e :city ?city]
       [?e :location ?location]
       [(first ?location) ?lat]
        [(second ?location) ?lon]
        [(spatial/point ?lat ?lon) ?point]]
     (d/db conn))

Please file an GitHub issue, In clojure, apply is a function, so we probably need to support it.

👍 1

ok thank you