You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Tyler Hobbs (JIRA)" <ji...@apache.org> on 2014/07/09 23:33:06 UTC

[jira] [Commented] (CASSANDRA-7111) Include snippet of CQL query near error in SyntaxError messages

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

Tyler Hobbs commented on CASSANDRA-7111:
----------------------------------------

Overall, this looks great!

I have a few nitpicks:

 * It would be nice to add a space between the token and the snippet.  For example, between {{'ks'}} and {{(}} here: {{"line 1:9 missing K_FROM at 'ks'\(select * \[ks\]\;\)"}}.
 * I think we can reasonably make {{FIRST_TOKEN_OFFSET}} 10 instead of 6
 * There are a few places where you don't put the opening curly brace on a newline (ErrorCollector ctor, insertChar(), lineIndex(), getSnippetLastTokenIndex(), getSnippetFirstTokenIndex(), ...)
 * Single line conditionals and loops don't need curlies (ErrorCollector.syntaxError(), appendSnippet(), throwLastSyntaxError())
 * There's quite a bit of trailing whitespace in the patch

> Include snippet of CQL query near error in SyntaxError messages
> ---------------------------------------------------------------
>
>                 Key: CASSANDRA-7111
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7111
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: API, Tools
>            Reporter: Tyler Hobbs
>            Assignee: Benjamin Lerer
>              Labels: cql
>             Fix For: 2.1.1
>
>         Attachments: CASSANDRA-7111.txt
>
>
> When a SyntaxError is returned, including a snippet of the query close to the error would make a lot of error messages easier to understand.  For example, if you did this with the python driver:
> {code}
> session.execute(SELECT * FROM users WHERE username='%s', ['Joe Smith'])
> {code}
> you would wind up with an extra set of single quotes (the driver automatically escapes and quotes input).  If a snippet like {{...WHERE username=''Joe Smith''}} were included in the error message, this would be pretty easy to spot.



--
This message was sent by Atlassian JIRA
(v6.2#6252)