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
expression.

Keith

Reply via email to