cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-10729) SELECT statement with IN restrictions on partition key + ORDER BY + LIMIT return wrong results
Date Thu, 26 Nov 2015 10:26:11 GMT

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

Sylvain Lebresne commented on CASSANDRA-10729:
----------------------------------------------

Lgtm with the caveat that the "May be used by custom QueryHandler implementations" comment
should refer to {{getUserLimit}} and not {{getDataLimits}}, and that while I have nothing
against the {{getUserLimit}} naming in principle,  maybe it's worth keeping {{getLimit}} for
the sake of QueryHandler implementations.

> SELECT statement with IN restrictions on partition key + ORDER BY + LIMIT return wrong
results
> ----------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-10729
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10729
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Benjamin Lerer
>            Assignee: Benjamin Lerer
>             Fix For: 3.0.1, 3.1, 3.2
>
>         Attachments: 10729-3.0.txt
>
>
> If we execute a request with paging turned off, an IN restriction on the partition key,
ORDER BY and LIMIT the result returned are not the expected ones.
> The following test can be used to reproduce the problem.
> {code}
>         createTable("CREATE TABLE %s (pk1 int, pk2 int, c int, v text, PRIMARY KEY ((pk1,
pk2), c) )");
>         execute("INSERT INTO %s (pk1, pk2, c, v) VALUES (?, ?, ?, ?)", 1, 1, 2, "A");
>         execute("INSERT INTO %s (pk1, pk2, c, v) VALUES (?, ?, ?, ?)", 1, 2, 1, "B");
>         execute("INSERT INTO %s (pk1, pk2, c, v) VALUES (?, ?, ?, ?)", 1, 3, 3, "C");
>         execute("INSERT INTO %s (pk1, pk2, c, v) VALUES (?, ?, ?, ?)", 1, 1, 4, "D");
>         assertRows(execute("SELECT v as c FROM %s where pk1 = ? AND pk2 IN (?, ?) ORDER
BY c; ", 1, 1, 2),
>                    row("B"),
>                    row("A"),
>                    row("D"));
>         assertRows(execute("SELECT v as c FROM %s where pk1 = ? AND pk2 IN (?, ?) ORDER
BY c LIMIT 2; ", 1, 1, 2),
>                    row("B"),
>                    row("A"));
> {code}



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

Mime
View raw message