You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Michał Szczygieł (JIRA)" <ji...@apache.org> on 2017/11/05 20:31:01 UTC

[jira] [Comment Edited] (CASSANDRA-13958) [CQL] Inconsistent handling double dollar sign for strings

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

Michał Szczygieł edited comment on CASSANDRA-13958 at 11/5/17 8:30 PM:
-----------------------------------------------------------------------

I've updated the lexer to append all trailing dollars before the closing pair.
Branch: [https://github.com/mszczygiel/cassandra/tree/trunk-13958]
Build: [https://circleci.com/gh/mszczygiel/cassandra/tree/trunk-13958]


was (Author: mychal):
I'm not sure if it's the correct approach. I've just changed lexer to append all trailing dollars before the closing pair.
Branch: [https://github.com/mszczygiel/cassandra/tree/trunk-13958]
Build: [https://circleci.com/gh/mszczygiel/cassandra/tree/trunk-13958]

> [CQL] Inconsistent handling double dollar sign for strings
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-13958
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13958
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL
>            Reporter: Hugo Picado
>            Priority: Minor
>
> Double dollar signs is a [built-in method for escaping columns that may contain single quotes in its content](https://docs.datastax.com/en/cql/3.3/cql/cql_reference/escape_char_r.html). The way this is handled however is not consistent, in the sense that it allows for $ to appear in the middle of the string but not in the last char.
> *Examples:*
> Valid: insert into users(id, name) values(1, $$john$$)
> Inserts the string *john*
> Valid: insert into users(id, name) values(1, $$jo$hn$$)
> Inserts the string *jo$hn*
> Valid: insert into users(id, name) values(1, $$$john$$)
> Inserts the string *$john*
> Invalid: insert into users(id, name) values(1, $$john$$$)
> Fails with:
> {code}
> Invalid syntax at line 1, char 48
>   insert into users(id, name) values(1, $$john$$$);
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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