(would be good to have one at hand for tyrant tables)
functions for B-tree databases, or even set a custom Proc to order the keys. This feature is currently only available through the Edo interface. I did try to add it to the Tokyo side as well, but it's not possible without a lot of work. The reason is that comparison function must be set before the B-tree database is opened. Because the Tokyo interface uses the abstract interface though, the underlying B-tree database isn't created until the open() call. Thus, the abstract interface would need to be abandoned for B-tree databases to support this feature.
…ort any tuning parameters due to an extra argument in the list of supported options. Also, keys() and iteration didn't work on these databases, due to fwmkeys() not being supported for them. I switched to using range() on fixed-width databases only to get keys() and iteration working.
…, keys() without :prefix would just crash when using the Edo interface. Also, keys() without :prefix would return duplicate keys due to the use of iteration whereas keys() with :prefix (and the underlying C library) would not.
…sly, only the Cabinet type classes had this. It has now been added to Table type classes and Dystopia. This change also makes the class level open() function like Ruby's IO.open() by returning the last value in the block. This introduces a small incompatibility since older versions returned nil, but I doubt any code was counting on that.