if (end($_SESSION['browse_data_offset_key']) != $offset_key && $pos != 'prev') {
         $_SESSION['browse_data_offset_key'][] = $offset_key;
         // Don't keep more then 100 previous key
         if (count($_SESSION['browse_data_offset_key']) > 100) {
             array_shift($_SESSION['browse_data_offset_key']);
         }
     }
 }
 $nb_rows = 5;
 if (isset($_GET['nb_rows']) && is_numeric($_GET['nb_rows']) && $_GET['nb_rows'] > 0) {
     $nb_rows = $_GET['nb_rows'];
 }
 $vw_vars['nb_rows'] = $nb_rows;
 $included_header = true;
 echo getHTML('header.php');
 $output = $column_family->get_range($offset_key, '', $nb_rows, null);
 $vw_vars['results'] = '';
 $nb_results = 0;
 foreach ($output as $key => $value) {
     $vw_row_vars['key'] = $key;
     $vw_row_vars['value'] = $value;
     $vw_row_vars['keyspace_name'] = $keyspace_name;
     $vw_row_vars['columnfamily_name'] = $columnfamily_name;
     $vw_row_vars['comparator_type'] = $cf_def->comparator_type;
     $vw_row_vars['show_actions_link'] = true;
     $vw_vars['results'] .= getHTML('columnfamily_browse_data_row.php', $vw_row_vars);
     $nb_results++;
 }
 $vw_vars['show_begin_page_link'] = $offset_key != '';
 $vw_vars['show_prev_page_link'] = $offset_key != '' && count($_SESSION['browse_data_offset_key']) > 0;
 // We got the number of rows we asked for, display "Next Page" link
 public function test_insert_get_range()
 {
     $this->require_opp();
     $cl = ConsistencyLevel::ONE;
     $cf = new ColumnFamily($this->pool, 'Standard1', true, true, $read_consistency_level = $cl, $write_consistency_level = $cl, $buffer_size = 10);
     $keys = array();
     $columns = array('c' => 'v');
     foreach (range(100, 200) as $i) {
         $keys[] = 'key' . $i;
         $cf->insert('key' . $i, $columns);
     }
     # Keys at the end that we don't want
     foreach (range(201, 300) as $i) {
         $cf->insert('key' . $i, $columns);
     }
     # Buffer size = 10; rowcount is divisible by buffer size
     $count = 0;
     foreach ($cf->get_range() as $key => $cols) {
         $this->assertContains($key, $keys);
         unset($keys[$key]);
         $count++;
     }
     $this->assertEquals($count, 100);
     # Fetch a single row
     $count = 0;
     foreach ($cf->get_range($key_start = '', $key_finish = '', $row_count = 1) as $key => $cols) {
         $this->assertContains($key, array($keys[0]));
         $count++;
     }
     $this->assertEquals(1, $count);
     # Buffer size larger than row count
     $cf = new ColumnFamily($this->pool, 'Standard1', true, true, $read_consistency_level = $cl, $write_consistency_level = $cl, $buffer_size = 1000);
     $count = 0;
     foreach ($cf->get_range($key_start = '', $key_finish = '', $row_count = 100) as $key => $cols) {
         $this->assertContains($key, $keys);
         unset($keys[$key]);
         $count++;
     }
     $this->assertEquals($count, 100);
     # Buffer size larger than row count, less than total number of rows
     $cf = new ColumnFamily($this->pool, 'Standard1', true, true, $read_consistency_level = $cl, $write_consistency_level = $cl, $buffer_size = 150);
     $count = 0;
     foreach ($cf->get_range($key_start = '', $key_finish = '', $row_count = 100) as $key => $cols) {
         $this->assertContains($key, $keys);
         unset($keys[$key]);
         $count++;
     }
     $this->assertEquals($count, 100);
     # Odd number for batch size
     $cf = new ColumnFamily($this->pool, 'Standard1', true, true, $read_consistency_level = $cl, $write_consistency_level = $cl, $buffer_size = 7);
     $count = 0;
     $rows = $cf->get_range($key_start = '', $key_finish = '', $row_count = 100);
     foreach ($rows as $key => $cols) {
         $this->assertContains($key, $keys);
         unset($keys[$key]);
         $count++;
     }
     $this->assertEquals($count, 100);
     # Smallest buffer size available
     $cf = new ColumnFamily($this->pool, 'Standard1', true, true, $read_consistency_level = $cl, $write_consistency_level = $cl, $buffer_size = 2);
     $count = 0;
     $rows = $cf->get_range($key_start = '', $key_finish = '', $row_count = 100);
     foreach ($rows as $key => $cols) {
         $this->assertContains($key, $keys);
         unset($keys[$key]);
         $count++;
     }
     $this->assertEquals($count, 100);
     # Put the remaining keys in our list
     foreach (range(201, 300) as $i) {
         $keys[] = 'key' . $i;
     }
     # Row count above total number of rows
     $cf = new ColumnFamily($this->pool, 'Standard1', true, true, $read_consistency_level = $cl, $write_consistency_level = $cl, $buffer_size = 2);
     $count = 0;
     foreach ($cf->get_range($key_start = '', $key_finish = '', $row_count = 10000) as $key => $cols) {
         $this->assertContains($key, $keys);
         unset($keys[$key]);
         $count++;
     }
     $this->assertEquals($count, 201);
     # Row count above total number of rows
     $cf = new ColumnFamily($this->pool, 'Standard1', true, true, $read_consistency_level = $cl, $write_consistency_level = $cl, $buffer_size = 7);
     $count = 0;
     foreach ($cf->get_range($key_start = '', $key_finish = '', $row_count = 10000) as $key => $cols) {
         $this->assertContains($key, $keys);
         unset($keys[$key]);
         $count++;
     }
     $this->assertEquals($count, 201);
     # Row count above total number of rows, buffer_size = total number of rows
     $cf = new ColumnFamily($this->pool, 'Standard1', true, true, $read_consistency_level = $cl, $write_consistency_level = $cl, $buffer_size = 201);
     $count = 0;
     foreach ($cf->get_range($key_start = '', $key_finish = '', $row_count = 10000) as $key => $cols) {
         $this->assertContains($key, $keys);
         unset($keys[$key]);
         $count++;
     }
     $this->assertEquals($count, 201);
     # Row count above total number of rows, buffer_size > total number of rows
     $cf = new ColumnFamily($this->pool, 'Standard1', true, true, $read_consistency_level = $cl, $write_consistency_level = $cl, $buffer_size = 10000);
     $count = 0;
     foreach ($cf->get_range($key_start = '', $key_finish = '', $row_count = 10000) as $key => $cols) {
         $this->assertContains($key, $keys);
         unset($keys[$key]);
         $count++;
     }
     $this->assertEquals($count, 201);
     $cf->truncate();
 }
echo "    " . $uuid->time . ", " . $message . "\n";
list($uuid, $message) = $logs[1];
echo "    " . $uuid->time . ", " . $message . "\n\n";
// Fetch the last log for both users at once
$slice = new ColumnSlice('', '', $count = 1, $reversed = true);
$rows = $user_logs->multiget(array($user1_id, $user2_id), $slice);
foreach ($rows as $row) {
    list($user_id, $logs) = $row;
    $log = $logs[0];
    echo "Most recent log for {$user_id}:\n";
    echo "    " . $log[0]->time . ": " . $log[1] . "\n";
}
echo "\n";
// Fetch the first column for each row in the CF:
$slice = new ColumnSlice('', '', $count = 1);
foreach ($user_logs->get_range('', '', 10, $slice) as $row) {
    list($user_id, $logs) = $row;
    $log = $logs[0];
    echo "First log for {$user_id}:\n";
    echo "    " . $log[0]->time . ": " . $log[1] . "\n";
}
echo "\n\n\n";
echo "Using ColumnFamily::OBJECT_FORMAT\n";
echo "================================\n\n";
$user_logs->return_format = ColumnFamily::OBJECT_FORMAT;
// Pull the first two logs back out
$slice = new ColumnSlice('', '', $count = 2);
$logs = $user_logs->get($user1_id, $slice);
echo "First two logs for user1: \n";
$uuid = $logs[0]->name;
$message = $logs[0]->value;