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

Chinmay Kulkarni updated PHOENIX-5958:
--------------------------------------
    Description: 
By "diverged view" I mean creating a view and then dropping one of the 
inherited columns from the view. Steps to reproduce:

Start a 4.x server and connect with a pre-4.15 (I tried a 4.14.3) client
{code:sql}
CREATE TABLE IF NOT EXISTS S.T (A INTEGER PRIMARY KEY, B INTEGER);
CREATE VIEW IF NOT EXISTS S.V (new_col INTEGER) AS SELECT * FROM S.T;
UPSERT INTO S.T VALUES(1,2);
ALTER VIEW S.V DROP COLUMN B;
SELECT * FROM S.T; 
+----+------+
| A  |  B   |
+----+------+
| 1  |  2   |
+----+------+

SELECT * FROM S.V; gives:
+----+------+----------+
| B  |  A   |  NEW_COL |
+----+------+----------+
| 2  |  1   |  null    |
+----+------+----------+
{code}
Though the column 'B' has been dropped from the view. This is a problem for 
both when phoenix.allow.system.catalog.rollback=true or false. This exact bug 
does not happen for a 4.x client, though PHOENIX-6030 and PHOENIX-6032 
highlight other issues related to this code path for 4.x clients. 
 The problem is mostly due to changes introduced by PHOENIX-4893.

  was:
By "diverged view" I mean creating a view and then dropping one of the 
inherited columns from the view. Steps to reproduce:

Start a 4.x server and connect with a pre-4.15 (I tried a 4.14.3) client
{code:sql}
CREATE TABLE IF NOT EXISTS S.T (A INTEGER PRIMARY KEY, B INTEGER);
CREATE VIEW IF NOT EXISTS S.V (new_col INTEGER) AS SELECT * FROM S.T;
UPSERT INTO S.T VALUES(1,2);
ALTER VIEW S.V DROP COLUMN B;
SELECT * FROM S.T; 
+----+------+
| A  |  B   |
+----+------+
| 1  |  2   |
+----+------+

SELECT * FROM S.V; gives:
+----+------+----------+
| B  |  A   |  NEW_COL |
+----+------+----------+
| 2  |  1   |  null    |
+----+------+----------+
{code}
Though the column 'B' has been dropped from the view. This does not happen for 
a 4.x client. 
 The problem is mostly due to changes introduced by PHOENIX-4893.


> Diverged view created via an older client still sees dropped column data
> ------------------------------------------------------------------------
>
>                 Key: PHOENIX-5958
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5958
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 5.0.0, 4.15.0
>            Reporter: Chinmay Kulkarni
>            Priority: Blocker
>             Fix For: 5.1.0, 4.16.0
>
>         Attachments: PHOENIX-5958-4.x-v1.patch
>
>
> By "diverged view" I mean creating a view and then dropping one of the 
> inherited columns from the view. Steps to reproduce:
> Start a 4.x server and connect with a pre-4.15 (I tried a 4.14.3) client
> {code:sql}
> CREATE TABLE IF NOT EXISTS S.T (A INTEGER PRIMARY KEY, B INTEGER);
> CREATE VIEW IF NOT EXISTS S.V (new_col INTEGER) AS SELECT * FROM S.T;
> UPSERT INTO S.T VALUES(1,2);
> ALTER VIEW S.V DROP COLUMN B;
> SELECT * FROM S.T; 
> +----+------+
> | A  |  B   |
> +----+------+
> | 1  |  2   |
> +----+------+
> SELECT * FROM S.V; gives:
> +----+------+----------+
> | B  |  A   |  NEW_COL |
> +----+------+----------+
> | 2  |  1   |  null    |
> +----+------+----------+
> {code}
> Though the column 'B' has been dropped from the view. This is a problem for 
> both when phoenix.allow.system.catalog.rollback=true or false. This exact bug 
> does not happen for a 4.x client, though PHOENIX-6030 and PHOENIX-6032 
> highlight other issues related to this code path for 4.x clients. 
>  The problem is mostly due to changes introduced by PHOENIX-4893.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to