[
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)