[ 
https://issues.apache.org/jira/browse/PHOENIX-3666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Samarth Jain updated PHOENIX-3666:
----------------------------------
    Attachment: PHOENIX-3666_wip.patch

This turned out to be trickier than I anticipated. Essentially, I wanted to 
make sure that we are able to use all the different column mapping schemes 
which turned up an issue in the way we are hardcoding "reserved" column 
qualifiers. To help resolve this, I thought serializing the encoding scheme in 
ProjectedColumnExpressions would help but unfortunately that was a dark abyss. 
We generate various column expressions using intermediate PTable 
representations that don't (and can't) have the right encoding schemes in them. 
This took me down the path of attempting to use the right encoding scheme when 
we deserialize the expressions on the server side. But that made the code 
really fragile as we serialize expressions everywhere and having to fix the 
scheme in all those places was just ugly. I ultimately decided to hard code the 
reserved column qualifiers (range 1-10) to be serialized using 
ONE_BYTE_QUALIFIER scheme. I also relaxed the constraints in the encoding 
schemes to decode byte arrays of size 1 with the ONE_BYTE_QUALIFIER 
encoding/decoding scheme. A side effect of this change is that the 
EncodedColumnQualifierCellsList is no longer sorted wrt column qualifiers. This 
is because a one byte qualifier representation of 0 lexicographically sorts 
after lets say a 4 byte qualifier representation 11. As a result I need to sort 
the array of cells before creating a ResultTuple out of it. I am parking this 
patch as wip since I only want to do the sorting when needed. 
All tests pass with this patch though.

> Make use of EncodedColumnQualifierCellsList for all column name mapping 
> schemes
> -------------------------------------------------------------------------------
>
>                 Key: PHOENIX-3666
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3666
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: Samarth Jain
>            Assignee: Samarth Jain
>         Attachments: PHOENIX-3666_wip.patch
>
>




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to