The Python API has the useful function get_boundary_keys, but I don’t see an equivalent in the C API. Am I just misreading the docs? If not, I would be happy to add it with some pointers to get started.
get_boundary_keys, and the equivalent functions in other bindings which have implemented it, is implemented by reading the system keyspace using a regular transaction. If you ported the equivalent code from Python to C, it would work.
Here is a link to the Python implementation, if that helps:
I think it’s easy enough to build your own for use on top of the C API, though I think we initially opted not to add it to the C API itself because the C API is intended to be somewhat minimal and low level. The API for using
get_boundary_keys would have probably looked somewhat similar to the range reading API (though complicated by its multi-transactional nature), and in the end it seemed simpler to implement the range reads directly in the bindings, even though I suppose it does require some awareness of the system keyspace.