Charlie Marsh
161748a68e
Add bounded batch lookups for message history ( #33902 )
...
## What changed
- Add a public cursor-based API that reads history entries newest-first from an absolute offset.
- Bound batches to 128 rows and 64 KiB while allowing a single oversized row so pagination always makes progress.
- Reuse validated byte positions for unchanged, uncapped histories, and fall back to offset scans when files are rewritten or capped.
- Preserve offsets for malformed rows and return them without parsed entries.
## Testing
Add coverage for pagination, row and byte limits, oversized and malformed rows, file rewrites, capped-history trimming, appends, and log identity changes.
GitOrigin-RevId: 57e52a4ac150cd15a5bdc3fef8a351a1f2eb0e3c
2026-07-17 20:52:42 +00:00
..
2026-07-02 10:59:00 -07:00
2026-06-24 13:24:10 -07:00
2026-06-22 13:19:40 -07:00
2026-07-17 19:58:56 +00:00
2026-07-17 20:02:51 +00:00
2026-07-10 21:24:03 +00:00
2026-07-13 17:33:13 +00:00
2026-07-17 20:02:51 +00:00
2026-07-14 21:54:24 +00:00
2026-07-14 00:38:04 +00:00
2026-06-23 00:02:33 +00:00
2026-07-06 12:17:16 -07:00
2026-07-14 22:43:26 +00:00
2026-07-16 17:46:36 +00:00
2026-07-17 20:46:18 +00:00
2026-07-07 17:05:05 -07:00
2026-07-07 01:34:36 +00:00
2026-07-17 16:24:31 +00:00
2026-07-06 16:26:56 -07:00
2026-07-09 08:17:13 -07:00
2026-07-16 00:22:53 +00:00
2026-07-07 13:00:44 -07:00
2026-07-07 01:12:24 +00:00
2026-06-15 20:10:53 -07:00
2026-07-17 18:43:14 +00:00
2026-06-21 13:35:25 -07:00
2026-07-17 19:58:56 +00:00
2026-07-17 15:23:35 +00:00
2026-06-22 11:11:25 -07:00
2026-07-17 19:58:56 +00:00
2026-07-14 17:10:04 +00:00
2026-07-17 20:02:51 +00:00
2026-07-17 15:45:48 +00:00
2026-07-17 16:17:29 +00:00
2026-07-17 15:45:48 +00:00
2026-07-17 15:45:48 +00:00
2026-07-10 09:09:22 +00:00
2026-07-17 15:45:48 +00:00
2026-07-17 19:58:56 +00:00
2026-07-17 16:17:29 +00:00
2026-07-13 22:50:28 +00:00
2026-07-16 16:13:53 +00:00
2026-07-07 20:01:03 -04:00
2026-07-17 19:58:56 +00:00
2026-07-09 14:26:20 -07:00
2026-07-08 12:17:58 -04:00
2026-07-14 16:40:13 +00:00
2026-07-16 19:31:26 +00:00
2026-07-15 05:21:13 +00:00
2026-07-16 00:22:53 +00:00
2026-07-17 20:52:42 +00:00
2026-07-16 21:41:00 +00:00
2026-07-16 21:41:00 +00:00
2026-07-14 22:01:11 +00:00
2026-07-09 17:33:37 +01:00
2026-07-16 00:22:53 +00:00
2026-06-23 22:51:19 +01:00
2026-07-14 20:14:29 +00:00
2026-07-17 19:58:56 +00:00
2026-07-16 05:38:36 +00:00
2026-07-17 19:20:08 +00:00
2026-07-16 00:22:53 +00:00
2026-07-16 16:13:53 +00:00
2026-07-16 01:12:14 +00:00
2026-06-25 13:56:08 -07:00
2026-07-14 20:56:43 +00:00
2026-07-16 20:55:13 +00:00
2026-07-16 10:28:36 +00:00
2026-07-16 00:39:42 +00:00
2026-07-13 16:52:18 +00:00
2026-07-17 20:46:18 +00:00
2026-07-17 16:17:29 +00:00
2026-07-08 12:57:27 -07:00
2026-07-15 23:19:00 +00:00
2026-07-09 17:31:44 -07:00
2026-07-17 15:45:48 +00:00
2026-07-16 16:39:09 +00:00
2026-07-11 03:27:51 +00:00
2026-07-09 11:53:18 -07:00