When a server DateTime is replicated as a client TimeStamp, it does a one-way become after being added to the identity-keyed clientMap. This causesthe clientMap to be corrupted.
This may not cause problems, but can be detected by audit; and some operations will fail.
Load the following patch.
<?xml version="1.0"?> <st-source> <time-stamp>From VisualWorks©, 9.0 of September 20, 2019 on January 4, 2021 at 10:24:33 PM</time-stamp> <methods> <class-id>Core.Timestamp</class-id> <category>GemStone extensions</category> <body package="GbsKernelBaseExtVW" selector="postFaultInSession:">postFaultInSession: sess "GBS. GemStone support. The receiver is partially initialized from GemStone, with year, day, and seconds (GMT seconds from midnight). Convert to a local Timestamp" "The GemStone milliseconds (past midnight) is mapped to millisecond" | local ms currentTimeZone | ms := self millisecond. "Properly initialize the receiver (still in GMT)" self fromDate: (Date newDay: self day year: self year) andTime: (Time fromSeconds: ms // 1000). "Convert from 'past midnight' to 'past the second'" self millisecond: ms \\ 1000. currentTimeZone := self appropriateTimeZoneForSession: sess. local := (currentTimeZone respondsTo: #universalToLocal:) ifTrue: ["VW SystemTimeZone" (currentTimeZone universalToLocal: self) changeClassTo: self class] ifFalse: ["GBS time zone" currentTimeZone localDateTimeFromGMT: self]. "Reinitialize the receiver as local time" self year: local year; month: local month; day: local day; hour: local hour; minute: local minute; second: local second</body> </methods> </st-source>
Last updated: 8/25/23