On Sat, Jul 13, 2013 at 7:32 PM, Ed Kohlwey <[EMAIL PROTECTED]> wrote:
> I just noticed something as I was hacking today on the trunk - does the new
> column visibility code (with escape sequences) accommodate visibilities
> that are equivalent but not stored using the same byte representation? My
> assumption is no...
> Ie., is the visibility "a&b" equivalent to "\"a\"&b" for the purpose of the
> max versions iterator, etc.?
I do not think the visibility "a&b" and "\"a\"&b" are equivalent. The
escaped quotes are not ignored, they are part of the label. To
see "\"a\"&b", you would need to pass an authorization of: "a"&b to the
scanner. Passing an authorization of a&b to scan would not see a column
labeled with "\"a\"&b".
The exact bytes you pass to ColumnVis is whats stored. The colvis bytes
are used for lexicographic sorting w/o interpreting their contents.
So "a&b" and "\"a\"&b" would sort to different places.
If you did store something thats logically equivalent like a&b and b&a,
then these would still sort to different places. ColumnVisibility has a
flatten() function that may help in some cases, but it will not always
normalize two expressions that are logically equivalent to the exact same