Chinmay Kulkarni created PHOENIX-5960:
-----------------------------------------
Summary: Creating a view on a non-existent table throws the wrong
exception
Key: PHOENIX-5960
URL: https://issues.apache.org/jira/browse/PHOENIX-5960
Project: Phoenix
Issue Type: Bug
Affects Versions: 4.15.0
Reporter: Chinmay Kulkarni
Ran across this by accident as a result of a typo in my create view statement:
# CREATE TABLE IF NOT EXISTS *T1* (A INTEGER PRIMARY KEY, B INTEGER);
# CREATE VIEW IF NOT EXISTS V (new_col INTEGER) AS SELECT * FROM *T2*;
View creation fails with the following:
{noformat}
Error: ERROR 509 (42888): The table does not have a primary key.
(state=42888,code=509)
java.sql.SQLException: ERROR 509 (42888): The table does not have a primary key.
at
org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:575)
at
org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:195)
at
org.apache.phoenix.compile.CreateTableCompiler.compile(CreateTableCompiler.java:182)
at
org.apache.phoenix.jdbc.PhoenixStatement$ExecutableCreateTableStatement.compilePlan(PhoenixStatement.java:841)
at
org.apache.phoenix.jdbc.PhoenixStatement$ExecutableCreateTableStatement.compilePlan(PhoenixStatement.java:830)
at
org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:407)
at
org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:397)
at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
at
org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:396)
at
org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:384)
at
org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1886)
at sqlline.Commands.execute(Commands.java:814)
at sqlline.Commands.sql(Commands.java:754)
at sqlline.SqlLine.dispatch(SqlLine.java:646)
at sqlline.SqlLine.begin(SqlLine.java:510)
at sqlline.SqlLine.start(SqlLine.java:233)
at sqlline.SqlLine.main(SqlLine.java:175)
{noformat}
Ideally, this should throw a TableNotFoundException.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)