cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <>
Subject [jira] [Updated] (CASSANDRA-9190) Map keys aren't properly serialized as strings in SELECT JSON queries
Date Tue, 12 May 2015 20:23:00 GMT


Tyler Hobbs updated CASSANDRA-9190:
    Attachment: 9190-trunk.txt

The attached patch ensures map keys are strings and adds a unit test.

The cassci test jobs (still pending, right now):

> Map keys aren't properly serialized as strings in SELECT JSON queries
> ---------------------------------------------------------------------
>                 Key: CASSANDRA-9190
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: API
>            Reporter: Gianluca Righetto
>            Assignee: Tyler Hobbs
>             Fix For: 2.2 beta 1
>         Attachments: 9190-trunk.txt
> When I run a SELECT JSON query on a table that contains a column of type map, the JSON
output doesn’t wrap the map keys with quotes, thus creating a non-standard JSON representation,
which doesn’t play along with JSON parsers very well. 
> Here’s an example where the map keys are actually a set:
> {code}
> create table table1 (id int primary key, mymap map<frozen<set<int>>,int>);
> insert into table1 (id,mymap) values (1, {{1,2,3,4}:1});
> select json id,mymap from table1;
> {code}
> The output is:
> {noformat}
> {"id": 1, "mymap": {[1, 2, 3, 4]: 1}}
> {noformat}
> But what I expected was that the map key, in this case the entire integer set, would
be wrapped with quotes.
> The same thing happens when the key is a primitive, such as int, or when it’s another
type of collection.
> I tried this with the latest version of the Cassandra codebase from the repository’s
trunk (1f65a12c33).

This message was sent by Atlassian JIRA

View raw message