Thanks for the patch! Why would a module need that function? Its usage case is very specific - merge primary and secondary parts to create a unique key def for non-unique indexes. Is there a case outside of the storage engines for that function?