[
https://issues.apache.org/jira/browse/CASSANDRA-9232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14555463#comment-14555463
]
Stefania commented on CASSANDRA-9232:
-------------------------------------
Since cqlsh was migrated to the python driver, CASSANDRA-6307, we rely on the
driver for escaping keywords - maybe_escape_name() and escape_name() functions
in metadata.py. I've opened a driver ticket:
[PYTHON-319|https://datastax-oss.atlassian.net/browse/PYTHON-319] and added a
suggested fix there.
I've cleaned up a couple of unused things in pylib/cqlshlib/cql3handling.py,
which were causing confusion and wasting time in understanding the code:
https://github.com/stef1927/cassandra/commits/9232-2.1
- the static methods maybe_escape_name and escape_name in CqlRuleSet are not
needed
- the unreserved keywords are not used in favor of the ones in the python
driver metadata file. However, the keywords are used by cqlhandling for other
purposes, so we rely partially on the keywords defined in cql3handling and
partially on the keywords defined in the driver. The two sets are slightly
different and the set in the python driver is private, so unsure what to do
about this.
> "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)