Skip to content

Commit d809af8

Browse files
committed
fix: page ref query uses UUID instead of name
To avoid name collisions.
1 parent 4ebe410 commit d809af8

File tree

4 files changed

+15
-14
lines changed

4 files changed

+15
-14
lines changed

deps/db/src/logseq/db/file_based/rules.cljc

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,5 @@
8888
[(contains? ?v ?str-val)])]
8989

9090
:page-ref
91-
'[(page-ref ?b ?page-name)
92-
[?br :block/name ?page-name]
93-
(has-ref ?b ?br)]})
91+
'[(page-ref ?b ?ref)
92+
(has-ref ?b ?ref)]})

deps/db/src/logseq/db/frontend/rules.cljc

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,8 @@
3333
[?e2 :block/alias ?e3]]]
3434

3535
:self-ref
36-
'[(self-ref ?b ?page-name)
37-
[?br :block/name ?page-name]
38-
[?b :block/refs ?br]]
36+
'[(self-ref ?b ?ref)
37+
[?b :block/refs ?ref]]
3938

4039
:has-ref
4140
'[[(has-ref ?b ?r)

src/main/frontend/db/query_dsl.cljs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -499,16 +499,20 @@
499499
(defn- build-page-ref
500500
[e]
501501
(let [page-name (-> (page-ref/get-page-name! e)
502-
(util/page-name-sanity-lc))]
503-
{:query (list 'page-ref '?b page-name)
504-
:rules [:page-ref]}))
502+
(util/page-name-sanity-lc))
503+
page (ldb/get-page (db-conn/get-db) page-name)]
504+
(when page
505+
{:query (list 'page-ref '?b (:db/id page))
506+
:rules [:page-ref]})))
505507

506508
(defn- build-self-ref
507509
[e]
508510
(let [page-name (-> (page-ref/get-page-name! e)
509-
(util/page-name-sanity-lc))]
510-
{:query (list 'self-ref '?b page-name)
511-
:rules [:self-ref]}))
511+
(util/page-name-sanity-lc))
512+
page (ldb/get-page (db-conn/get-db) page-name)]
513+
(when page
514+
{:query (list 'self-ref '?b (:db/id page))
515+
:rules [:self-ref]})))
512516

513517
(defn- build-block-content [e]
514518
{:query (list 'block-content '?b e)

src/test/frontend/db/query_dsl_test.cljs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -611,8 +611,7 @@ prop-d:: [[nada]]"}])
611611
(map testable-content (dsl-query "#tag1")))
612612
"Tag arg")
613613

614-
(is (= []
615-
(dsl-query "[[blarg]]"))
614+
(is (empty? (dsl-query "[[blarg]]"))
616615
"Nonexistent page returns no results"))
617616

618617
(testing "basic boolean queries"

0 commit comments

Comments
 (0)