[
https://issues.apache.org/jira/browse/CASSANDRA-15458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Benjamin Lerer updated CASSANDRA-15458:
---------------------------------------
Description:
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/%[email protected]%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}}
was:
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/%[email protected]%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]
> 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
> 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/%[email protected]%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: [email protected]
For additional commands, e-mail: [email protected]