cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benjamin Lerer (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-11556) PER PARTITION LIMIT does not work properly for multi-partition query with ORDER BY
Date Tue, 12 Apr 2016 14:59:25 GMT

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

Benjamin Lerer commented on CASSANDRA-11556:
--------------------------------------------

The {{LIMIT}} clause is used to filter the results returned to the user by consequence it
has no effect on an aggregate queries as they returns only one result.
In my opinion, we should look at the {{PER PARTITION LIMIT}} in the same way, meaning a limit
on the results returned to the user. In which case it makes sense to reject it for aggregate
queries. I think it would be reasonable on the other hand to support it with group by queries
(CASSANDRA-10707) as the groups are build at the partition level.  

> PER PARTITION LIMIT does not work properly for multi-partition query with ORDER BY
> ----------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-11556
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11556
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Benjamin Lerer
>            Assignee: Alex Petrov
>             Fix For: 3.6
>
>
> Multi-partition queries with {{PER PARTITION LIMIT}} with {{ORDER BY}} do not respect
the {{PER PARTITION LIMIT}}.
> The problem can be reproduced with the following unit test:
> {code}
>     @Test
>     public void testPerPartitionLimitWithMultiPartitionQueryAndOrderBy() throws Throwable
>     {
>         createTable("CREATE TABLE %s (a int, b int, c int, PRIMARY KEY (a, b))");
>         for (int i = 0; i < 5; i++)
>         {
>             for (int j = 0; j < 5; j++)
>             {
>                 execute("INSERT INTO %s (a, b, c) VALUES (?, ?, ?)", i, j, j);
>             }
>         }
>         assertRows(execute("SELECT * FROM %s WHERE a IN (2, 3) ORDER BY b DESC PER PARTITION
LIMIT ?", 2),
>                                 row(2, 4, 4),
>                                 row(3, 4, 4),
>                                 row(2, 3, 3),
>                                 row(3, 3, 3));
>     }
> {code} 



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

Mime
View raw message