Hallvard Breien Furuseth wrote:
mdb_dcmp() returns EINVAL if no dupsort function is set. I'm not sure it does the caller any favors in doing so: It claims (A>B && B>A) if it gets called with both (A,B) and (B,A). That can confuse the caller, e.g. a sort function.
I expect the sensible results without a dcmp function are 0 or a crash. Plus to document this clearly.
A crash is fine then. MDB itself would never perform this comparison if the DUPSORT flag isn't set. Any attempt to use this function without DUPSORT flag is a programmer error.