Function: semanticdb-load-database
semanticdb-load-database is a byte-compiled function defined in
db-file.el.gz.
Signature
(semanticdb-load-database FILENAME)
Documentation
Load the database FILENAME.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/db-file.el.gz
;;; File IO
(defun semanticdb-load-database (filename)
"Load the database FILENAME."
(condition-case foo
(let* ((r (eieio-persistent-read filename
'semanticdb-project-database-file))
(c (semanticdb-get-database-tables r))
(tv (oref r semantic-tag-version))
(fv (oref r semanticdb-version)))
;; Restore the parent-db connection
(while c
(oset (car c) parent-db r)
(setq c (cdr c)))
(unless (and (equal semanticdb-file-version fv)
(equal semantic-tag-version tv))
;; Version is not ok. Flush whole system
(message "semanticdb file is old. Starting over for %s" filename)
;; This database is so old, we need to replace it.
;; We also need to delete it from the instance tracker.
(delete-instance r)
(setq r nil))
r)
(error (message "Cache Error: [%s] %s, Restart"
filename foo)
nil)))