Normally, objects are only ever refreshed upon crossing a transaction boundary; begin and commit, at outer-most transaction-level only, and abort (which resets transaction level back to 0).
There is one special situation _if you are not in a transaction_, where your view will be refreshed (via abort) automatically. It happens when you have not crossed a transaction boundary in a long time and other sessions have piled up lots of changes against your session (see #hasExcessiveNumberOfChallengers). In this case, for the health of the server, the client will perform an abort automatically, causing objects to be refrshed.
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..?
magma@lists.squeakfoundation.org