[
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)