[
https://issues.apache.org/jira/browse/CASSANDRA-9232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14605053#comment-14605053
]
Stefania commented on CASSANDRA-9232:
-------------------------------------
Unfortunately the cql keywords exported by the new version of the driver are
too many. We now have 123 keywords but python regular expressions only support
100 named groups maximum:
{code}
Traceback (most recent call last):
File "/home/stefania/git/cstar/cassandra/bin/cqlsh", line 2459, in <module>
main(*read_options(sys.argv[1:], os.environ))
File "/home/stefania/git/cstar/cassandra/bin/cqlsh", line 2451, in main
shell.cmdloop()
File "/home/stefania/git/cstar/cassandra/bin/cqlsh", line 942, in cmdloop
if self.onecmd(self.statement.getvalue()):
File "/home/stefania/git/cstar/cassandra/bin/cqlsh", line 959, in onecmd
statements, in_batch = cqlruleset.cql_split_statements(statementtext)
File
"/home/stefania/git/cstar/cassandra/bin/../pylib/cqlshlib/cqlhandling.py", line
143, in cql_split_statements
tokens = self.lex(text)
File
"/home/stefania/git/cstar/cassandra/bin/../pylib/cqlshlib/pylexotron.py", line
447, in lex
self.scanner = self.make_lexer()
File
"/home/stefania/git/cstar/cassandra/bin/../pylib/cqlshlib/pylexotron.py", line
443, in make_lexer
return SaferScanner(regexes, re.I | re.S).scan
File
"/home/stefania/git/cstar/cassandra/bin/../pylib/cqlshlib/saferscanner.py",
line 37, in __init__
self.scanner = re.sre_compile.compile(p)
File "/usr/lib/python2.7/sre_compile.py", line 509, in compile
"sorry, but this version only supports 100 named groups"
AssertionError: sorry, but this version only supports 100 named groups
{code}
There is a third party module that might do the job,
[regex|https://pypi.python.org/pypi/regex], but it would require changing
safescanner.py and adding one more dependency.
Can we do without named groups and add separate map alternatively?
> "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)