Michał Chojnowski
3017dbb204
sstables/trie: add trie traversal routines
...
`trie::node_reader`, added in a previous series, contains
encoding-aware logic for traversing a single node
(or a batch of nodes) during a trie search.
This commits adds encoding-agnostic functions which drive the
the `trie::node_reader` in a loop to traverse the whole branch.
Together, the added functions (`traverse`, `step`, `step_back`)
and the data structure they modify (`ancestor_trail`) constitute
a trie cursor. We might later wrap them into some `trie_cursor`
class, but regardless of whether we are going to do that,
keeping them (also) as free functions makes them easier to test.
Closes scylladb/scylladb#25396
2025-08-11 19:15:09 +03:00
..
2025-07-27 19:39:36 +03:00
2025-07-29 11:32:06 +02:00
2025-08-11 19:15:09 +03:00
2025-05-14 08:32:05 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-07-15 10:10:23 +03:00
2025-07-15 10:10:23 +03:00
2025-08-07 12:15:42 +03:00
2024-12-18 17:45:13 +02:00
2025-04-09 08:54:06 +03:00
2025-07-31 13:10:41 +03:00
2025-07-31 13:10:41 +03:00
2025-07-31 13:10:41 +03:00
2025-07-31 13:10:41 +03:00
2025-07-03 13:34:04 +03:00
2024-12-18 17:45:13 +02:00
2025-01-27 09:29:26 -05:00
2024-12-18 17:45:13 +02:00
2025-08-05 00:56:50 +02:00
2025-03-19 13:03:29 +03:00
2024-12-18 17:45:13 +02:00
2025-06-18 11:30:29 +03:00
2024-12-18 17:45:13 +02:00
2025-07-17 10:32:57 +02:00
2025-07-25 11:00:18 +02:00
2025-02-10 15:44:55 +03:00
2024-12-18 17:45:13 +02:00
2025-07-25 10:45:32 +03:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-03-19 13:03:29 +03:00
2025-07-25 10:45:32 +03:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-06-24 09:16:28 +03:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-06-24 09:16:28 +03:00
2024-12-18 17:45:13 +02:00
2025-06-24 09:16:28 +03:00
2025-06-24 09:16:28 +03:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-05-07 14:43:20 +02:00
2025-06-08 15:59:15 +03:00
2025-04-09 08:54:07 +03:00
2024-12-19 14:56:07 +02:00
2025-07-27 19:39:36 +03:00
2025-04-29 15:47:33 -03:00
2025-08-08 06:51:28 +03:00
2025-04-29 15:47:33 -03:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-07-07 13:16:21 +03:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-04-09 08:54:07 +03:00
2025-06-25 08:41:26 +03:00
2025-06-25 08:41:26 +03:00
2024-12-18 17:45:13 +02:00
2025-08-07 15:35:11 +03:00
2025-07-17 14:32:08 +03:00
2024-12-18 17:45:13 +02:00
2025-07-06 09:18:39 +03:00
2025-07-06 09:18:39 +03:00
2024-12-18 17:45:13 +02:00
2025-07-27 09:25:42 +02:00
2025-07-22 12:39:01 +02:00
2025-03-31 09:33:56 +03:00
2024-12-18 17:45:13 +02:00
2025-04-01 00:07:27 +02:00