Files
buzz/crates/buzz-db
Jemiah Westerman cec47c20a3 perf(db): hydrate search hits with exact event timestamps (#9126)
## Summary

Keep each search hit's existing signed `created_at` alongside its event
ID during canonical hydration. WebSocket search, HTTP search, and
profile-name search now use a bounded exact-pair database lookup so
PostgreSQL can prune unrelated event months. Also constrain
channel-create replay detection by the timestamp of the
already-available signed event.

## Scope / compatibility

- Combined-tree verification also passed: repository-wide `just ci`, 220
unit/source-policy tests, and the full 722-test buzz-db/search
PostgreSQL suite. All three temporary timestamp-constraint mutations
were killed by functional/plan assertions and restored.
- Independent of companion post-insert push and deletion PRs; based
directly on `main`.
- Deploy/code-only change. No schema/migrations/backfills, persistent or
serialized formats, indexes, triggers, functions, procedures, rules, or
foreign keys added.
- Existing ID-only event APIs remain available for callers without
timestamps.
- Maximum 500 input pairs, validated before checkout; duplicate inputs
do not multiply results; missing/deleted/wrong-community/wrong-timestamp
hits are omitted.
- Caller ordering, authorization, observability, bounded-only replica
routing, proved connection use, non-cancel fallback, and cancellation
propagation remain intact. A timestamp is not treated as a completeness
proof.
- Existing/new relays coexist against unchanged schema; no
rollout/prebuild dependency.

## Verification

- Compiled `buzz-db`, `buzz-search`, and `buzz-relay` library/tests.
- 220 infrastructure-free unit/source-policy tests passed.
- 35 focused PostgreSQL tests passed, including cross-month exact pairs,
tenant/deleted/missing scope, same-second IDs,
duplicate/empty/invalid/oversized/full batches,
routing/fallback/cancellation, channel replay, and existing search
regressions.
- `EXPLAIN ANALYZE BUFFERS` of production hydration SQL verifies only
requested event months execute under forced custom **and generic**
plans, including the full **500-distinct-pair** shape. A wrong-timestamp
decoy detects cross-product matching.
- Targeted clippy with `-D warnings`, formatting, diff checks,
PostgreSQL discovery, and differential file-size checks passed.
- Live isolated relay smoke: exact channel-create replay, HTTP NIP-50
search hydration, profile-name search hydration, and authenticated
WebSocket NIP-50 results/EOSE. All three hydration route labels observed
in local metrics.
- Independent review completed; optional maximum-batch plan coverage
added and independently re-reviewed. Compile fixes for SQLx 0.9 API
compatibility verified.

No production latency improvement or workload-percentage claim is made.

---------

Signed-off-by: Jemiah Westerman <jemiah@squareup.com>
Co-authored-by: Son of Anton <8e0ef2ab02d69a7ac089ef5eca90d1a3fbbdc546f6322dc34d0c4f3deecea7f4@buzz.block.builderlab.xyz>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 15:43:28 -08:00
..