(perf)db: wrap update-file in sql transaction (#1827)

This should lead to some performance gains on buffers with lots of
inserts required (e.g. when the buffer has a lot of links).
This commit is contained in:
Jethro Kuan
2021-09-01 19:43:19 +08:00
committed by GitHub
parent a8a36a420b
commit 1795039ab9
2 changed files with 21 additions and 19 deletions

View File

@ -8,6 +8,7 @@
### Changed
- [#1795](https://github.com/org-roam/org-roam/pull/1795) buffer: optimized reflinks fetch
- [#1809](https://github.com/org-roam/org-roam/pull/1809) capture: the mandatory `:if-new` property of each capture template is now renamed to `:target`
- [#1829](https://github.com/org-roam/org-roam/pull/1829) perf: file sql updates are now wrapped in a transaction
### Fixed
- [#1798](https://github.com/org-roam/org-roam/pull/1798) org-roam-node-at-point: do not skip invisible headings

View File

@ -495,6 +495,7 @@ If the file exists, update the cache with information."
info)
(unless (string= content-hash db-hash)
(org-roam-with-file file-path nil
(emacsql-with-transaction (org-roam-db)
(save-excursion
(org-set-regexps-and-options 'tags-only)
(org-roam-db-clear-file)
@ -514,7 +515,7 @@ If the file exists, update the cache with information."
(when (require 'org-cite nil 'noerror)
(org-roam-db-map-citations
info
(list #'org-roam-db-insert-citation))))))))
(list #'org-roam-db-insert-citation)))))))))
;;;###autoload
(defun org-roam-db-sync (&optional force)