Function: org-roam-db-update-file
org-roam-db-update-file is a byte-compiled function defined in
org-roam-db.el.
Signature
(org-roam-db-update-file &optional FILE-PATH DEPRECATED-ARG)
Documentation
Update Org-roam cache for FILE-PATH.
Assumes FILE-PATH exists. See also org-roam-db-clear-file.
If NO-REQUIRE, don't require optional libraries. Set NO-REQUIRE
when the libraries are already required at some toplevel, e.g.
in org-roam-db-sync.
Source Code
;; Defined in ~/.emacs.d/elpa/org-roam-20260224.1637/org-roam-db.el
;;;; Synchronization
(defun org-roam-db-update-file (&optional file-path _deprecated-arg)
"Update Org-roam cache for FILE-PATH.
Assumes FILE-PATH exists. See also `org-roam-db-clear-file'.
If NO-REQUIRE, don't require optional libraries. Set NO-REQUIRE
when the libraries are already required at some toplevel, e.g.
in `org-roam-db-sync'."
(setq file-path (or file-path (buffer-file-name (buffer-base-buffer))))
(let ((content-hash (org-roam-db--file-hash file-path))
(db-hash (caar (org-roam-db-query [:select hash :from files
:where (= file $s1)] file-path)))
info)
(unless (string= content-hash db-hash)
(require 'org-ref nil t)
(org-roam-with-file file-path nil
(emacsql-with-transaction (org-roam-db)
(org-with-wide-buffer
(org-set-regexps-and-options 'tags-only)
;; Org doesn't use this anymore, so we probably should stop too.
;; (org-refresh-category-properties)
(org-roam-db-clear-file)
(org-roam-db-insert-file content-hash)
(org-roam-db-insert-file-node)
(setq org-outline-path-cache nil)
(org-roam-db-map-nodes
(list #'org-roam-db-insert-node-data
#'org-roam-db-insert-aliases
#'org-roam-db-insert-tags
#'org-roam-db-insert-refs))
(setq org-outline-path-cache nil)
(setq info (org-element-parse-buffer))
(org-roam-db-map-links
(list #'org-roam-db-insert-link))
(when (require 'oc nil t)
(org-roam-db-map-citations
info
(list #'org-roam-db-insert-citation)))))))))