Details
-
Bug
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
-
None
-
Low
Description
ColumnIdentifier.compareTo() appears subtly broken: it looks to me that we should be using ByteBufferUtil.compareUnsigned() instead of bytes.compareTo(), since they are meant to be UTF8Type. I think it would be nice to drop this compareTo method entirely, as it's only used by CFMetaData.regularColumnComparator and it seems possible to misuse accidentally at a later date since it only works for CQL columns, but a ColumnIdentifier is used for thrift columns as well.
There's a related problem with CellName.isPrefixOf, where we are using equals() instead of type.compareTo() == 0, which could break anyone misusing our old friend Boolean as a clustering column.