You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(db-ivm): hash Temporal objects by value instead of identity
Temporal objects (PlainDate, ZonedDateTime, etc.) have no enumerable own
properties, so Object.keys() returns [] and all instances produce
identical hashes. This causes the IVM join Index to treat old and new
rows as equal, silently swallowing updates when only a Temporal field
changed.
Hash Temporal objects by their Symbol.toStringTag type and toString()
representation to produce correct, value-based hashes.
Fixes#1367
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Fix Temporal objects (PlainDate, ZonedDateTime, etc.) producing identical hashes in the IVM hash function. Temporal objects have no enumerable own properties, so Object.keys() returns [] and all instances were hashed identically. This caused join live queries to silently swallow updates when only a Temporal field changed. Temporal objects are now hashed by their type tag and string representation.
0 commit comments