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

Stefania commented on CASSANDRA-11534:
--------------------------------------

Thank you for your analysis [~arunkumar]. It is correct, the problem was 
introduced by CASSANDRA-11274 and it only affects trunk (versions 3.6+).

As far as I could see, there is no way to map a column alias to the original 
column name once the result set is received. So the only way to fix this, short 
of reverting 11274, is to add the CQL types to the result set, for which we 
need to change the python driver. Here is a 
[patch|https://github.com/stef1927/python-driver/commits/11534] for the driver, 
I can create a pull request if you agree [~aholmber].

Once the bundled driver is updated, we can then apply this patch to cqlsh:

|[patch|https://github.com/stef1927/cassandra/commits/11534-cqlsh]|[cqlsh 
tests|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-11534-cqlsh-cqlsh-tests/]|


> cqlsh fails to format collections when using aliases
> ----------------------------------------------------
>
>                 Key: CASSANDRA-11534
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11534
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Robert Stupp
>            Assignee: Stefania
>            Priority: Minor
>
> Given is a simple table. Selecting the columns without an alias works fine. 
> However, if the map is selected using an alias, cqlsh fails to format the 
> value.
> {code}
> create keyspace foo WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> CREATE TABLE foo.foo (id int primary key, m map<int, text>);
> insert into foo.foo (id, m) VALUES ( 1, {1: 'one', 2: 'two', 3:'three'});
> insert into foo.foo (id, m) VALUES ( 2, {1: '1one', 2: '2two', 3:'3three'});
> cqlsh> select id, m from foo.foo;
>  id | m
> ----+-------------------------------------
>   1 |    {1: 'one', 2: 'two', 3: 'three'}
>   2 | {1: '1one', 2: '2two', 3: '3three'}
> (2 rows)
> cqlsh> select id, m as "weofjkewopf" from foo.foo;
>  id | weofjkewopf
> ----+-----------------------------------------------------------------------
>   1 |    OrderedMapSerializedKey([(1, u'one'), (2, u'two'), (3, u'three')])
>   2 | OrderedMapSerializedKey([(1, u'1one'), (2, u'2two'), (3, u'3three')])
> (2 rows)
> Failed to format value OrderedMapSerializedKey([(1, u'one'), (2, u'two'), (3, 
> u'three')]) : 'NoneType' object has no attribute 'sub_types'
> Failed to format value OrderedMapSerializedKey([(1, u'1one'), (2, u'2two'), 
> (3, u'3three')]) : 'NoneType' object has no attribute 'sub_types'
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to