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, db-ivm): support Temporal objects in join hashing and normalization
Temporal objects have no enumerable properties, so hashPlainObject()
produced identical hashes for all Temporal values. This caused join
index updates to be silently swallowed when a Temporal field changed.
- Add Temporal-aware hashing via Symbol.toStringTag + toString()
- Add Temporal normalization in normalizeValue() for join key matching
- Add Temporal handling in ascComparator for correct sort ordering
- Add null guard to exported isTemporal()
- Convert temporalTypes from Array to Set for consistency
Fixes#1367
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Fix Temporal objects breaking live query updates when used with joins. Temporal objects (e.g. `Temporal.PlainDate`) have no enumerable properties, so the structural hash function produced identical hashes for all Temporal values, causing join index updates to be silently swallowed. Also add Temporal support to value normalization for join key matching and to the comparator for correct sort ordering.
0 commit comments