[ 
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)

Reply via email to