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

Samarth Jain updated PHOENIX-2056:
----------------------------------
    Attachment: PHOENIX-2056_addendum.patch

Addendum patch with added test to verify that the index is used and correctly 
updated.

> Ensure PK column from base table is added to any indexes on views 
> ------------------------------------------------------------------
>
>                 Key: PHOENIX-2056
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2056
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: Samarth Jain
>         Attachments: PHOENIX-2056.patch, PHOENIX-2056_addendum.patch
>
>
> Given that we allow a nullable PK column to be added to a base table and push 
> it to all views (PHOENIX-1504), we need to ensure that the PK column is also 
> added to any indexes on the view. Without this, indexes on views would no 
> longer maintain their 1:1 correspondence with data rows.
> Since the pushing of the new column is done under lock in 
> MetaDataEndPointImpl and we have a PTable instantiated for each view, we can 
> just iterate through its indexes (view.getIndexes()) and generate a couple of 
> additional Puts: one for the PK column row in the index and one for the 
> header row of the index table to increment the column count. The index table 
> header row needs to be added to the list of rows to be invalidated as well.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to