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