datalevin

siavash mohammady 2025-10-27T15:14:51.597759Z

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

Huahai 2025-10-28T19:56:11.930259Z

thx for filing the issue

👍 1
siavash mohammady 2025-10-29T14:47:15.419349Z

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?

Huahai 2025-10-29T15:51:07.121309Z

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

👍 1
siavash mohammady 2025-10-29T15:52:16.394289Z

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

Huahai 2025-10-29T15:53:04.120089Z

Feel free to ask any questions.

🙂 1
siavash mohammady 2025-10-27T15:28:41.531059Z

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

siavash mohammady 2025-10-27T15:31:07.170099Z

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))

Huahai 2025-10-28T00:58:47.934279Z

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

👍 1
siavash mohammady 2025-10-28T03:18:04.907249Z

ok thank you