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

Tyler Hobbs commented on CASSANDRA-9232:
----------------------------------------

I think the best option is to properly expose the keywords in the driver and 
use that in cqlsh so that we can avoid maintaining multiple lists.  (The driver 
will need to stay updated for {{DESCRIBE}} statements anyway.)

I suppose we should also consider tracking the keywords by Cassandra version so 
that when we add new reserved keywords, we don't treat them as reserved in 
older Cassandra versions.  However, I don't think it's necessarily a bad thing 
to preemptively treat keywords as reserved, since users will need to deal with 
that before upgrading anyway.  So, maybe always using the "newest" keyword list 
is okay.  What do you think?

The rest of your cleanup looks good to me so far.

> "timestamp" is considered as a reserved keyword in cqlsh completion
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-9232
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9232
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Michaël Figuière
>            Assignee: Stefania
>            Priority: Trivial
>              Labels: cqlsh
>             Fix For: 3.x, 2.1.x
>
>
> cqlsh seems to treat "timestamp" as a reserved keyword when used as an 
> identifier:
> {code}
> cqlsh:ks1> create table t1 (int int primary key, ascii ascii, bigint bigint, 
> blob blob, boolean boolean, date date, decimal decimal, double double, float 
> float, inet inet, text text, time time, timestamp timestamp, timeuuid 
> timeuuid, uuid uuid, varchar varchar, varint varint);
> {code}
> Leads to the following completion when building an {{INSERT}} statement:
> {code}
> cqlsh:ks1> insert into t1 (int, 
> "timestamp" ascii       bigint      blob        boolean     date        
> decimal     double      float       inet        text        time        
> timeuuid    uuid        varchar     varint
> {code}
> "timestamp" is a keyword but not a reserved one and should therefore not be 
> proposed as a quoted string. It looks like this error happens only for 
> timestamp. Not a big deal of course, but it might be worth reviewing the 
> keywords treated as reserved in cqlsh, especially with the many changes 
> introduced in 3.0.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to