[elephant-devel] Deferred schema sync

Leslie P. Polzer sky at viridian-project.de
Tue Aug 4 18:28:45 UTC 2009


(open-store *testbdb-spec*)

(defpclass foobar () ())

(make-instance 'foobar)

(close-store)

(defpclass foobar ()
  ((slot :accessor slot :initform nil))
  (:index t))

(open-store *testbdb-spec*)

(describe (car (get-instances-by-class 'foobar)))

#<FOOBAR oid:2>
  [standard-object]

Slots with :DATABASE allocation:
  SLOT  = #<unbound slot>
Slots with :INSTANCE allocation:
  OID   = 2
  SPEC  = (:BDB "/home/sky/mystic/packages/elephant-1.0/tests/testdb/")

(defpclass foobar ()
  ((slot :accessor slot :initform nil))
  (:index t))

Synchronizing FOOBAR in ...
#<PERSISTENT-METACLASS FOOBAR>


Bottom line: class schemas changed while a store is closed
won't sync when that store is opened later.

There are several ways to approach this. We could just sync
all db classes when a store is opened or take note of which
redefined classes have synced to which stores.

Opinions?

  Leslie

-- 
http://www.linkedin.com/in/polzer





More information about the elephant-devel mailing list