Benjamin Lerer created CASSANDRA-10729:
------------------------------------------

             Summary: 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


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)

Reply via email to