Method: (SLOT-INDEX-TABLES STANDARD-RUCKSACK)

Source

(defmethod slot-index-tables ((rucksack standard-rucksack))
  ;; Create slot-index-tables if they don't exist yet.
  (flet ((do-it ()
           (unless (slot-boundp rucksack 'slot-index-tables)
             ;; Create a btree mapping class names to slot
             ;; index tables.
             (let ((btree (make-instance 'btree
                                         :rucksack rucksack
                                         :key< 'string<
                                         :value= 'p-eql
                                         :unique-keys-p t
                                         :dont-index t)))
               (setf (slot-value rucksack 'slot-index-tables) (object-id btree)
                     (roots-changed-p rucksack) t)))
           ;;
           (cache-get-object (slot-value rucksack 'slot-index-tables)
                             (rucksack-cache rucksack))))
    (if (current-transaction)
        (do-it)
      (with-transaction (:rucksack rucksack)
        (do-it)))))
Source Context