From 60cb9239e6f2c298848f033bc197fb1dc9bb3f49 Mon Sep 17 00:00:00 2001 From: Huahai Yang Date: Fri, 8 Nov 2024 23:45:42 -0800 Subject: [PATCH] add type hints --- src/datalevin/query.clj | 8 ++++---- src/datalevin/storage.clj | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/datalevin/query.clj b/src/datalevin/query.clj index 709e10c9..132c9a97 100644 --- a/src/datalevin/query.clj +++ b/src/datalevin/query.clj @@ -1588,16 +1588,16 @@ 0 attrs-v)) (defn- factor - [magic n] + [magic ^long n] (if (zero? n) 1 ^long (estimate-round (* ^double magic n)))) (defn- estimate-scan-v-cost [{:keys [attrs-v vars]} ^long size] (* size ^double c/magic-cost-merge-scan-v - (factor c/magic-cost-var (count vars)) - (factor c/magic-cost-pred (n-items attrs-v :pred)) - (factor c/magic-cost-fidx (n-items attrs-v :fidx)))) + ^double (factor c/magic-cost-var (count vars)) + ^double (factor c/magic-cost-pred (n-items attrs-v :pred)) + ^double (factor c/magic-cost-fidx (n-items attrs-v :fidx)))) (defn- estimate-base-cost [{:keys [mcount]} steps] diff --git a/src/datalevin/storage.clj b/src/datalevin/storage.clj index b7f34111..94ce4e05 100644 --- a/src/datalevin/storage.clj +++ b/src/datalevin/storage.clj @@ -947,7 +947,7 @@ (recur (produce in)))))) (fn [iterable] (let [gcounts (group-counts aids) - gstarts (group-starts gcounts) + gstarts ^ints (group-starts gcounts) gcounts (int-array gcounts)] (loop [tuple (produce in)] (when tuple @@ -964,7 +964,7 @@ in? false] (if next? (let [vb ^ByteBuffer (lmdb/next-val iter) - a (b/read-buffer (.rewind vb) :int) + a ^int (b/read-buffer (.rewind vb) :int) gi (if (== pa a) gi (if in? (inc gi) gi)) @@ -983,7 +983,7 @@ (int fidx))))) (.add ^FastList (aget vs ai) v)))) (recur (lmdb/has-next-val iter) - gi a true)) + gi (int a) true)) (recur (lmdb/has-next-val iter) gi pa false))) (when-not (some #(.isEmpty ^FastList %) vs) @@ -1063,7 +1063,7 @@ (r/join-tuples tuple vst)))))))))))) (fn [iterable] (let [gcounts (group-counts aids) - gstarts (group-starts gcounts) + gstarts ^ints (group-starts gcounts) gcounts (int-array gcounts)] (dotimes [i nt] (let [tuple (.get ^List in i) @@ -1080,7 +1080,7 @@ in? false] (if next? (let [vb ^ByteBuffer (lmdb/next-val iter) - a (b/read-buffer (.rewind vb) :int) + a ^int (b/read-buffer (.rewind vb) :int) gi (if (== pa a) gi (if in? (inc gi) gi)) @@ -1099,9 +1099,9 @@ (int fidx))))) (.add ^FastList (aget vs ai) v)))) (recur (lmdb/has-next-val iter) - gi a true)) + gi (int a) true)) (recur (lmdb/has-next-val iter) - gi a false))) + gi pa false))) (when-not (some #(.isEmpty ^FastList %) vs) (let [vst (r/many-tuples (->> (map (fn [v s] (when-not s v))