[ 
https://issues.apache.org/jira/browse/CASSANDRA-13358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15956442#comment-15956442
 ] 

Hao Zhong commented on CASSANDRA-13358:
---------------------------------------

I modified the code according to the Cassandra style. Although the original 
code has an if check, it can avoid only NPE, not InvalidRequestException. As a 
result, the patch is still necessary. 

> AlterViewStatement.checkAccess can throw exceptions
> ---------------------------------------------------
>
>                 Key: CASSANDRA-13358
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13358
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL
>            Reporter: Hao Zhong
>            Assignee: Hao Zhong
>             Fix For: 2.1.18
>
>         Attachments: cassandra.patch
>
>
> The AlterViewStatement.checkAccess method has code lines as follow:
> {code:title=AlterViewStatement.java|borderStyle=solid}
>   if (baseTable != null)
>             state.hasColumnFamilyAccess(keyspace(), baseTable.name, 
> Permission.ALTER);
> {code}
> These lines can throw InvalidRequestException. Indeed, 
> DropTableStatement.checkAccess has a similar problem, and was fixed in 
> CASSANDRA-6687. The fixed code is as follow:
> {code:title=DropTableStatement.java|borderStyle=solid}
>  try
>         {
>             state.hasColumnFamilyAccess(keyspace(), columnFamily(), 
> Permission.DROP);
>         }
>         catch (InvalidRequestException e)
>         {
>             if (!ifExists)
>                 throw e;
>         }
> {code}
> Please fix the problem as CASSANDRA-6687 did.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to