Kishan Karunaratne created CASSANDRA-8871:
---------------------------------------------

             Summary: Non-null paging state returned if last page
                 Key: CASSANDRA-8871
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8871
             Project: Cassandra
          Issue Type: Bug
         Environment: ruby-driver 2.1.0 | C* 2.0.12 | C* 2.1.3
            Reporter: Kishan Karunaratne


When retrieving the next page from the result of a simple statement, the result 
will return a non-null paging state even if it's the last page of the query.

Schema:
{noformat}
      CREATE KEYSPACE simplex WITH replication = {'class': 'SimpleStrategy', 
'replication_factor': 3};
      USE simplex;
      CREATE TABLE test (k text, v int, PRIMARY KEY (k, v));
      INSERT INTO test (k, v) VALUES ('a', 0);
      INSERT INTO test (k, v) VALUES ('b', 1);
      INSERT INTO test (k, v) VALUES ('c', 2);
      INSERT INTO test (k, v) VALUES ('d', 3);
      INSERT INTO test (k, v) VALUES ('e', 4);
      INSERT INTO test (k, v) VALUES ('f', 5);
      INSERT INTO test (k, v) VALUES ('g', 6);
      INSERT INTO test (k, v) VALUES ('h', 7);
      INSERT INTO test (k, v) VALUES ('i', 8);
      INSERT INTO test (k, v) VALUES ('j', 9);
      INSERT INTO test (k, v) VALUES ('k', 10);
      INSERT INTO test (k, v) VALUES ('l', 11);
      INSERT INTO test (k, v) VALUES ('m', 12);
      INSERT INTO test (k, v) VALUES ('n', 13);
      INSERT INTO test (k, v) VALUES ('o', 14);
{noformat}

Query:
{noformat}
      result  = session.execute("SELECT * FROM test", page_size: 5)

      loop do
        puts "last page? #{result.last_page?}"
        puts "page size: #{result.size}"

        result.each do |row|
          puts row
        end
        puts ""

        break if result.last_page?
        result = result.next_page
      end
{noformat}

Result:
{noformat}
      +last page? false
      +page size: 5
      +{"k"=>"a", "v"=>0}
      +{"k"=>"c", "v"=>2}
      +{"k"=>"m", "v"=>12}
      +{"k"=>"f", "v"=>5}
      +{"k"=>"o", "v"=>14}
      +
      +last page? false
      +page size: 5
      +{"k"=>"n", "v"=>13}
      +{"k"=>"g", "v"=>6}
      +{"k"=>"e", "v"=>4}
      +{"k"=>"d", "v"=>3}
      +{"k"=>"h", "v"=>7}
      +
      +last page? false
      +page size: 5
      +{"k"=>"l", "v"=>11}
      +{"k"=>"j", "v"=>9}
      +{"k"=>"i", "v"=>8}
      +{"k"=>"k", "v"=>10}
      +{"k"=>"b", "v"=>1}
      +
      +last page? true
      +page size: 0
{noformat}




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

Reply via email to