Bug 49179


GemStone/S 64 Bit

3.6.5, 3.6.4, 3.6.3, 3.6.2, 3.6.1, 3.6

All Platforms

Transient Session SymbolList Changes in 3.6

In earlier versions of GemStone/64, when a session logged in, a session-specific transient copy of the user's symbol list would be created and used for all symbol lookups.  This session symbol list copy is accessible via:

    GsCurrentSessions currentSession symbolList

This session symbol list was set up as a copy, so that changes to the persistent user symbol list at "System myUserProfile symbolList" would not impact symbol lookup in the current session.  And as a *transient* copy, aborts would not rollback changes made to the session symbol list. This design provided useful separation between the "official" user symbol list and the "working version" of an individual session, but required extra effort when synchronization between the two was required.

In 3.6, this behavior has changed slightly.  When first logged in, the session symbol list at "GsCurrentSessions currentSession symbolList" will now instead directly reference the persistent user symbol list at "System myUserProfile symbolList".  This will allow changes to the persistent user symbolList to be transparently visible to code that does not need to worry about managing or refreshing the transient session symbol list.

The following methods will restore the original transient behavior of the session symbol list for those sessions that require the old behavior:

    System class >> refreshTransientSymbolList
    GsCurrentSession >> transientSymbolList:
    GsCurrentSession >> transientSymbolList

Last updated: 10/20/20