refreshing an object

Chris Muller chris at funkyobjects.org
Tue Aug 15 20:57:45 UTC 2006


> No, I am most definatley not in a transaction, but explicitly calling
> abort
> does not seem to refresh the objects.

Just for sanity, I just tried this:

|s1 s2|
MagmaRepositoryController create: 'c:\temp\t1' root: (Array new: 1).
s1 _ MagmaSession openLocal: 'c:\temp\t1'.
s2 _ MagmaSession repositoryController: s1 repositoryController.
{s1. s2} inspect

Then, in the inspector:

  self second root  "inspect"

Then:

  self first commit: [ self first root at: 1 put: 'hello' ].

Finally, with my eyes on the root inspector of second session:

  self second abort

watched it change.

Is it possible some "equivalent" got substituted for the identical
object and that is what you are watching for change?  Be sure each
session reports the same oid for these objects..

  session oidFor: theObject

Also, each session only gets one chance to capture the changes from
other sessions.  If you have an error on a transaction boundary or
something maybe it didn't get refreshed..?

Let me know if I can help..

> what is Gemstone's 'continue' ?

Allows refreshing of the model while in a transaction; other sessions
changes become visible to the continuing session.

 - Chris


More information about the Magma mailing list