class clustering_range is a range of Clustering Key Prefixes implemented as interval<clustering_key_prefix>. However, due to the nature of Clustering Key Prefix, the ordering of clustering_range is complex and does not satisfy the invariant of interval<>. To be more specific, as a comment in interval<> implementation states: “The end bound can never be smaller than the start bound”. As a range of CKP violates the invariant, some algorithms, like intersection(), can return incorrect results. For more details refer to scylladb#8157, scylladb#21604, scylladb#22817. This commit: - Add a WARNING comment to discourage usage of clustering_range - Add WARNING comments to potentially incorrect uses of interval<clustering_key_prefix> non-trivial methods - Add a FIXME comment to incorrect use of interval<clustering_key_prefix_view>::deoverlap and WARNING comments to related interval<clustering_key_prefix_view> misuse. Closes scylladb/scylladb#22913
22 KiB
22 KiB