[ 
https://issues.apache.org/jira/browse/CASSANDRA-17913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benjamin Lerer updated CASSANDRA-17913:
---------------------------------------
    Description: 
The following test fails caused by the fact we make reversed a type that wraps 
the underline type
{code:java}
@Test
    public void testMapsReversed() throws Throwable
    {
        createTable("CREATE TABLE %s (" +
                    "   k int, " +
                    "   c frozen<map<text, int>>, " +
                    "   v int, " +
                    "   PRIMARY KEY(k, c)" +
                    ") WITH CLUSTERING ORDER BY (c DESC)");

        execute("SELECT c['testing'] FROM %s");
    }
{code}
With the error
{code:java}
org.apache.cassandra.exceptions.InvalidRequestException: Invalid element 
selection: c is of type frozen<map<text, int>> is not a collection
{code}
When you look in a debugger you see that the real type is 
ReversedType(MapType(…)), so the current checks fail.

{+}Additional information for newcomers{+}:
 * The problem impact element selection as well as range selection that where 
introduced in CASSANDRA-7396 as part of 4.0. So the patch will need to be done 
for 4.0.
 * The checks that needs to be modified is in 
{{Selectable.WithElementSelection}} and {{Selectable.WithSliceSelection}}
 * The unit tests should be added to {{CollectionsTest}}

  was:
The following test fails caused by the fact we make reversed a type that wraps 
the underline type
{code:java}
@Test
    public void testMapsReversed() throws Throwable
    {
        createTable("CREATE TABLE %s (" +
                    "   k int, " +
                    "   c frozen<map<text, int>>, " +
                    "   v int, " +
                    "   PRIMARY KEY(k, c)" +
                    ") WITH CLUSTERING ORDER BY (c DESC)");

        execute("SELECT c['testing'] FROM %s");
    }
{code}
With the error
{code:java}
org.apache.cassandra.exceptions.InvalidRequestException: Invalid element 
selection: c is of type frozen<map<text, int>> is not a collection
{code}
When you look in a debugger you see that the real type is 
ReversedType(MapType(…)), so the current checks fail.

{+}Additional information for newcomers{+}:
 * The problem impact element selection as well as range selection that where 
introduced in CASSANDRA-7396 as part of 4.0. So the patch will need to be done 
for 4.0.
 * The checks that needs to be modified is in 
{{Selectable.WithElementSelection}} and {{Selectable.WithSliceSelection}}


> Nested selection of reversed collections fails
> ----------------------------------------------
>
>                 Key: CASSANDRA-17913
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17913
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Consistency/Coordination, CQL/Semantics, Legacy/Local 
> Write-Read Paths
>            Reporter: David Capwell
>            Priority: Normal
>             Fix For: 4.0.x, 4.1.x
>
>
> The following test fails caused by the fact we make reversed a type that 
> wraps the underline type
> {code:java}
> @Test
>     public void testMapsReversed() throws Throwable
>     {
>         createTable("CREATE TABLE %s (" +
>                     "   k int, " +
>                     "   c frozen<map<text, int>>, " +
>                     "   v int, " +
>                     "   PRIMARY KEY(k, c)" +
>                     ") WITH CLUSTERING ORDER BY (c DESC)");
>         execute("SELECT c['testing'] FROM %s");
>     }
> {code}
> With the error
> {code:java}
> org.apache.cassandra.exceptions.InvalidRequestException: Invalid element 
> selection: c is of type frozen<map<text, int>> is not a collection
> {code}
> When you look in a debugger you see that the real type is 
> ReversedType(MapType(…)), so the current checks fail.
> {+}Additional information for newcomers{+}:
>  * The problem impact element selection as well as range selection that where 
> introduced in CASSANDRA-7396 as part of 4.0. So the patch will need to be 
> done for 4.0.
>  * The checks that needs to be modified is in 
> {{Selectable.WithElementSelection}} and {{Selectable.WithSliceSelection}}
>  * The unit tests should be added to {{CollectionsTest}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to