Hi, On 2022-07-08 11:09:44 +0900, Masahiko Sawada wrote: > I think that at this stage it's better to define the design first. For > example, key size and value size, and these sizes are fixed or can be > set the arbitary size? Given the use case of buffer mapping, we would > need a wider key to store RelFileNode, ForkNumber, and BlockNumber. On > the other hand, limiting the key size is 64 bit integer makes the > logic simple, and possibly it could still be used in buffer mapping > cases by using a tree of a tree. For value size, if we support > different value sizes specified by the user, we can either embed > multiple values in the leaf node (called Multi-value leaves in ART > paper) or introduce a leaf node that stores one value (called > Single-value leaves).
FWIW, I think the best path forward would be to do something similar to the simplehash.h approach, so it can be customized to the specific user. Greetings, Andres Freund