Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Accumulo, mail # dev - Quoted visibility equality?


Copy link to this message
-
Re: Quoted visibility equality?
Keith Turner 2013-07-15, 13:23
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