FoundationDB/sql-layer — pull request #1214 by nathanlws (2014-02-19 19:32:37+00:00)
Title: Simplify UNIQUE index representation

This wasn't the highest priority but I started deleting things and it basically completed itself. It also fixes a handful of issues, allows a large number of tests to be enabled and simplifies index maintenance and look-up.

The null separator concept is now gone and UNIQUE index rows are exactly the same as non-unique. That is, all columns (including HKey ones) are present the key portion and none in the value. Group index table bitmaps are still in the value, as before.

I did leave the value/target portions in IndexRowBuffer as it didn't seem unimaginable that we would want to use it at some point. Happy to delete it if it seems like unnecessary noise.

Write skew around uniqueness checking is prevented with locking the checked key, just as the foreign key constraint handler does. New MT added to ensure everything is working as desired.