datalevin

rschmukler 2026-05-01T16:00:26.550739Z

It seems pattern matching is broken on remote servers. Is this an expected discrepency? The following code works locally (ie. with a datalevin path of "./data" but not remotely (ie. with a datalevin path of a remote server dtlv://...): Locally (with a {:db/id 1 :dataset/name "foo"} entity)

(d/q
  '[:find ?e
    :in $
    :where [?e :dataset/name _]]
  @conn)
;; => #{[1]}

(d/q
  '[:find ?e
    :in $
    :where [?e :dataset/name "foo"]]
  @conn)
;; => #{[1]}
Remote:
(d/q
  '[:find ?e
    :in $
    :where [?e :dataset/name _]]
  @conn)
;; => #{}

(d/q
  '[:find ?e
    :in $
    :where [?e :dataset/name "foo"]]
  @conn)
;; => #{[1]})

Huahai 2026-05-01T21:58:12.052519Z

I am taking a look. Thanks for reporting.

Huahai 2026-05-01T21:59:25.420249Z

It would be better you can produce more complete repro, my naive attempt to reproduce does not pan out.

Huahai 2026-05-01T22:03:30.335189Z

also, it would be nice to include version, platform, etc

rschmukler 2026-05-01T22:04:30.760369Z

it's v0.10.7 on Mac locally, and v0.10.7 on linux remotely

rschmukler 2026-05-01T22:05:01.605629Z

I won't have time to create a repro though so if it doesn't show up then it might be difficult to nail down

Huahai 2026-05-01T22:53:10.596639Z

then you can try the master branch to see if it works for you. It may have been fixed, as we did fix a stale meta data bug on the server.