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)))