NPE on malformed CQL
--------------------

                 Key: CASSANDRA-3349
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3349
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 0.8.0 beta 2
            Reporter: paul cannon


It's not clear why, but the CQL grammar specification in Cql.g allows for an 
empty WHERE clause on DELETE, i.e.:

{noformat}
DELETE FROM someCF WHERE;
{noformat}

When this is used, with or without a column list, it causes an NPE on the node 
processing the CQL. Traceback on a recent 1.0.0 build:

{noformat}
ERROR [pool-2-thread-1] 2011-10-11 15:45:25,655 Cassandra.java (line 4082) 
Internal error processing execute_cql_query
java.lang.NullPointerException
        at 
org.apache.cassandra.cql.CqlParser.deleteStatement(CqlParser.java:1994)
        at org.apache.cassandra.cql.CqlParser.query(CqlParser.java:292)
        at 
org.apache.cassandra.cql.QueryProcessor.getStatement(QueryProcessor.java:984)
        at 
org.apache.cassandra.cql.QueryProcessor.process(QueryProcessor.java:500)
        at 
org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1268)
        at 
org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.process(Cassandra.java:4072)
        at 
org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2889)
        at 
org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:680)
{noformat}

The CQL client gets an error with the message, "Internal application error".

It might be better to allow leaving off the "WHERE" as well as the condition, 
to match SQL semantics, although fixing that probably won't solve this problem.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to