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

Maciej Sokol commented on CASSANDRA-15458:
------------------------------------------

While looking at the python tests i found why there's a difference. See: 
CASSANDRA-6172

I've tested unquoting both maps and other collections and ran some tests 
locally with ccm. The error mentioned in the ticket above is not reproducible 
(atleast not with what was stated in the ticket). Also noticed that UDTs are 
quoted, which feels strange as well.

What do you think Benjamin? It's a pretty drastic change but if we want to be 
consistent we should keep everything unquoted (since everything is unquoted by 
default except when the values are in a collection).

> CQL: Unable to escape single quote in a map<int,text> attribute
> ---------------------------------------------------------------
>
>                 Key: CASSANDRA-15458
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15458
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL/Interpreter, CQL/Semantics
>            Reporter: Abhijeet Singh
>            Assignee: Maciej Sokol
>            Priority: Normal
>              Labels: AdventCalendar2021, lhf
>         Attachments: cass-screen.png
>
>
> h3. Overview
> For {{text}} attributes, CQL allows escaping single quote [using additional 
> single 
> quote|http://mail-archives.apache.org/mod_mbox/cassandra-user/201108.mbox/%3c20110803152250.294...@gmx.net%3E].
>  But applying the same syntax for a {{map<int,text>}} attribute does not 
> work. Inconsistent behavior was observed between {{text}} datatype and 
> {{map<int,text>}} datatype.
> h3. CQL semantic proposal
> Cassandra (CQL) should apply same escaping semantics on {{text}} and 
> text-within-map {{map<int,text>}} datatypes.
> h3. Reproducing the bug:
> CREATE query: 
> {code:java}
> CREATE TABLE university.test (id int, data map<int, text>, PRIMARY KEY 
> (id));{code}
>  INSERT query: 
> {code:java}
> insert into university.test (id, data) values(1, {1:'I''m newb'});{code}
> On running the aforementioned INSERT query, Cassandra inserts and returns 
> {{\{1: 'I''m newb'}}} while the expected result is {{\{1: 'I'm newb'}}}
> h3. Technical details 
> OS: CentOS 7
> Kernel: Linux 3.10.0-1062.9.1.el7.x86_64
> Cassandra version: 3.11.5
> Screenshot: [Output after SELECT query|https://i.stack.imgur.com/PLAan.png]
>   
> +Additional information for newcomers:+
> The issue seems to come from the ANTLR Lexer logic for {{STRING_LITERAL}}. A 
> unit test should also be added in {{SelectTest}}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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

Reply via email to