Merge remote-tracking branch 'origin/staging' into develop

This commit is contained in:
Andrey Antukh 2025-01-21 18:40:28 +01:00
commit 83bd479176
4 changed files with 21 additions and 21 deletions

View file

@ -270,19 +270,17 @@
:else (throw (IllegalArgumentException. "unable to resolve connectable")))) :else (throw (IllegalArgumentException. "unable to resolve connectable"))))
(def ^:private params-mapping (def ^:private params-mapping
{::return-keys? :return-keys {::return-keys :return-keys})
::return-keys :return-keys})
(defn rename-opts (defn rename-opts
[opts] [opts]
(set/rename-keys opts params-mapping)) (set/rename-keys opts params-mapping))
(def ^:private default-insert-opts (def ^:private default-insert-opts
{:builder-fn sql/as-kebab-maps (assoc sql/default-opts :return-keys true))
:return-keys true})
(def ^:private default-opts (def ^:private default-opts
{:builder-fn sql/as-kebab-maps}) sql/default-opts)
(defn exec! (defn exec!
([ds sv] (exec! ds sv nil)) ([ds sv] (exec! ds sv nil))
@ -333,7 +331,7 @@
(defn update! (defn update!
"A helper that build an UPDATE SQL statement and executes it. "A helper that build an UPDATE SQL statement and executes it.
Given a connectable object, a table name, a hash map of columns and Given a connectable object, a table name, a hash map of columns and
values to set, and either a hash map of columns and values to search values to set, and either a hash map of columns and values to search
on or a vector of a SQL where clause and parameters, perform an on or a vector of a SQL where clause and parameters, perform an
update on the table. update on the table.
@ -413,13 +411,20 @@
:hint "database object not found")) :hint "database object not found"))
row)) row))
(def ^:private default-plan-opts
(-> default-opts
(assoc :fetch-size 1)
(assoc :concurrency :read-only)
(assoc :cursors :close)
(assoc :result-type :forward-only)))
(defn plan (defn plan
([ds sql] ([ds sql]
(-> (get-connectable ds) (-> (get-connectable ds)
(jdbc/plan sql default-opts))) (jdbc/plan sql default-plan-opts)))
([ds sql opts] ([ds sql opts]
(-> (get-connectable ds) (-> (get-connectable ds)
(jdbc/plan sql (merge default-opts opts))))) (jdbc/plan sql (merge default-plan-opts opts)))))
(defn cursor (defn cursor
"Return a lazy seq of rows using server side cursors" "Return a lazy seq of rows using server side cursors"

View file

@ -15,14 +15,15 @@
(defn kebab-case [s] (str/replace s #"_" "-")) (defn kebab-case [s] (str/replace s #"_" "-"))
(defn snake-case [s] (str/replace s #"-" "_")) (defn snake-case [s] (str/replace s #"-" "_"))
(def default-opts
{:table-fn snake-case
:column-fn snake-case})
(defn as-kebab-maps (defn as-kebab-maps
[rs opts] [rs opts]
(jdbc-opt/as-unqualified-modified-maps rs (assoc opts :label-fn kebab-case))) (jdbc-opt/as-unqualified-modified-maps rs (assoc opts :label-fn kebab-case)))
(def default-opts
{:table-fn snake-case
:column-fn snake-case
:builder-fn as-kebab-maps})
(defn insert (defn insert
([table key-map] ([table key-map]
(insert table key-map nil)) (insert table key-map nil))

View file

@ -67,7 +67,7 @@
:is-owner true :is-owner true
:is-admin true :is-admin true
:can-edit true} :can-edit true}
{::db/return-keys? false})) {::db/return-keys false}))
(doseq [params (sequence (comp (doseq [params (sequence (comp
(map #(bfc/remap-id % :file-id)) (map #(bfc/remap-id % :file-id))

View file

@ -56,12 +56,6 @@
(map :data) (map :data)
(mapcat bfc/collect-used-media))) (mapcat bfc/collect-used-media)))
(def ^:private plan-opts
{:fetch-size 1
:concurrency :read-only
:cursors :close
:result-type :forward-only})
(defn- clean-file-media! (defn- clean-file-media!
"Performs the garbage collection of file media objects." "Performs the garbage collection of file media objects."
[{:keys [::db/conn] :as cfg} {:keys [id] :as file}] [{:keys [::db/conn] :as cfg} {:keys [id] :as file}]
@ -69,7 +63,7 @@
(map (partial decode-file cfg)) (map (partial decode-file cfg))
xf:collect-used-media) xf:collect-used-media)
used (->> (db/plan conn [sql:get-snapshots id] plan-opts) used (->> (db/plan conn [sql:get-snapshots id])
(transduce xform conj #{})) (transduce xform conj #{}))
used (into used xf:collect-used-media [file]) used (into used xf:collect-used-media [file])
@ -175,7 +169,7 @@
(mapcat (partial get-used-components deleted-components file-id)) (mapcat (partial get-used-components deleted-components file-id))
used-remote used-remote
(->> (db/plan conn [sql:get-files-for-library file-id] plan-opts) (->> (db/plan conn [sql:get-files-for-library file-id])
(transduce (comp (map (partial decode-file cfg)) xform) conj #{})) (transduce (comp (map (partial decode-file cfg)) xform) conj #{}))
used-local used-local