Hi Chris,
If you are in a transaction and not ready to commit or abort.. I guess you're out of luck.. We probably need a "continue" like GemStone..?
No, I am most definatley not in a transaction, but explicitly calling abort does not seem to refresh the objects.
PS. For my ongoing educaton, what is Gemstone's 'continue' ?
Thanks
Brent
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
magma@lists.squeakfoundation.org