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

Brad Schoening edited comment on CASSANDRA-17667 at 4/29/23 3:16 AM:
---------------------------------------------------------------------

[~brandon.williams] Maybe the test itself is wrong, but its looking for a 
quotedStringLiteral as the result
{code:java}
self.assertSequenceEqual(tokens_with_types(CqlRuleSet.lex(s)), [(s, 
'quotedStringLiteral')]){code}
which works with nested quotes:
{code:java}
>>> CqlRuleSet.lex("'foo /* bar'")
[('quotedStringLiteral', "'foo /* bar'", (0, 12))]
{code}
but fails without them:
{code:java}
>>> CqlRuleSet.lex("foo /* bar")
[('identifier', 'foo', (0, 3)), ('op', '/', (4, 5)), ('star', '*', (5, 6)), 
('identifier', 'bar', (7, 10))]
{code}


was (Author: bschoeni):
[~brandon.williams] Maybe the test itself is wrong, but its looking for a 
quotedStringLiteral as the result
{code:java}
self.assertSequenceEqual(tokens_with_types(CqlRuleSet.lex(s)), [(s, 
'quotedStringLiteral')]){code}
which works with nested quotes:

 
{code:java}
>>> CqlRuleSet.lex("'foo /* bar'")
[('quotedStringLiteral', "'foo /* bar'", (0, 12))]
{code}
 

but fails without them:

 
{code:java}
>>> CqlRuleSet.lex("foo /* bar")
[('identifier', 'foo', (0, 3)), ('op', '/', (4, 5)), ('star', '*', (5, 6)), 
('identifier', 'bar', (7, 10))]
{code}
 

> Text value containing "/*" interpreted as multiline comment in cqlsh
> --------------------------------------------------------------------
>
>                 Key: CASSANDRA-17667
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17667
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL/Interpreter
>            Reporter: ANOOP THOMAS
>            Priority: Normal
>             Fix For: 4.0.x, 4.1.x, 5.x
>
>
> I use CQLSH command line utility to load some DDLs. The version of utility I 
> use is this:
> {noformat}
> [cqlsh 6.0.0 | Cassandra 4.0.0.47 | CQL spec 3.4.5 | Native protocol 
> v5]{noformat}
> Command that loads DDL.cql:
> {noformat}
> cqlsh -u username -p password cassandra.example.com 65503 --ssl -f DDL.cql
> {noformat}
> I have a line in CQL script that breaks the syntax.
> {noformat}
> INSERT into tablename (key,columnname1,columnname2) VALUES 
> ('keyName','value1','/value2/*/value3');{noformat}
> {{/*}} here is interpreted as start of multi-line comment. It used to work on 
> older versions of cqlsh. The error I see looks like this:
> {noformat}
> SyntaxException: line 4:2 mismatched input 'Update' expecting ')' 
> (...,'value1','/value2INSERT into tablename(INSERT into tablename 
> (key,columnname1,columnname2)) VALUES ('[Update]-...) SyntaxException: line 
> 1:0 no viable alternative at input '(' ([(]...)
> {noformat}
> Same behavior while running in interactive mode too. {{/*}} inside a CQL 
> statement should not be interpreted as start of multi-line comment.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to