Просмотр исходного кода

fix: simple query for :number properties

also fixes deps db tests
Gabriel Horner 1 год назад
Родитель
Сommit
5f2371486e

+ 3 - 2
deps/db/src/logseq/db/frontend/rules.cljc

@@ -121,8 +121,7 @@
    :block-content
    '[(block-content ?b ?query)
      [?b :block/content ?content]
-     [(str ?content) ?str-content]
-     [(clojure.string/includes? ?str-content ?query)]]
+     [(clojure.string/includes? ?content ?query)]]
 
    :page
    '[(page ?b ?page-name)
@@ -173,6 +172,7 @@
       [?p :block/name]
       [?p ?prop ?pv]
       (or [?pv :block/content ?val]
+          [?pv :property/value ?val]
           [?pv :block/original-name ?val])
       [?prop-e :db/ident ?prop]
       [?prop-e :block/type "property"]]
@@ -188,6 +188,7 @@
     '[(property ?b ?prop ?val)
       [?b ?prop ?pv]
       (or [?pv :block/content ?val]
+          [?pv :property/value ?val]
           [?pv :block/original-name ?val])
       [(missing? $ ?b :block/name)]
       [?prop-e :db/ident ?prop]

+ 2 - 4
src/test/frontend/db/query_dsl_test.cljs

@@ -125,8 +125,7 @@ prop-d:: [[nada]]"}])
                (dsl-query "(or (property prop-c \"page c\") (property prop-b val-b))"))))
       "Blocks have ORed property values")
 
-    ;; FIXME: Once :number property approach resolved
-  #_(is (= ["b1"]
+  (is (= ["b1"]
            (map (comp first str/split-lines :block/content)
                 (dsl-query "(property prop-num 2000)")))
         "Blocks have integer property value")
@@ -616,8 +615,7 @@ created-at:: 1608968448116
                result)
             "sorted-by asc")))
 
-    ;; FIXME: Once :number property approach resolved
-    #_(testing "user page property rating"
+    (testing "user page property rating"
         (is (= [10 8]
                (->> (dsl-query "(and (page-property rating) (sort-by rating))")
                     (map #(get-property-value % :rating))))))))