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

Chinmay Kulkarni updated PHOENIX-5960:
--------------------------------------
    Labels: beginner newbie phoenix-hardening quality-improvement  (was: )

> 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
>            Priority: Minor
>              Labels: beginner, newbie, phoenix-hardening, quality-improvement
>
> 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)

Reply via email to