public function test_get_indexed_slices()
 {
     $indexed_cf = new ColumnFamily($this->client, 'Indexed1');
     $columns = array('birthdate' => 1);
     foreach (range(1, 3) as $i) {
         $indexed_cf->insert('key' . $i, $columns);
     }
     $expr = CassandraUtil::create_index_expression($column_name = 'birthdate', $value = 1);
     $clause = CassandraUtil::create_index_clause(array($expr));
     $result = $indexed_cf->get_indexed_slices($clause);
     self::assertEqual(count($result), 3);
     foreach (range(1, 3) as $i) {
         self::assertEqual($result['key' . $i], $columns);
     }
     $indexed_cf->truncate();
 }
示例#2
0
 public function test_get_indexed_slices()
 {
     $indexed_cf = new ColumnFamily($this->pool, 'Indexed1');
     $indexed_cf->truncate();
     $columns = array('birthdate' => 1);
     foreach (range(1, 3) as $i) {
         $indexed_cf->insert('key' . $i, $columns);
     }
     $expr = CassandraUtil::create_index_expression($column_name = 'birthdate', $value = 1);
     $clause = CassandraUtil::create_index_clause(array($expr), 10000);
     $result = $indexed_cf->get_indexed_slices($clause);
     $count = 0;
     foreach ($result as $key => $cols) {
         $count++;
         self::assertEqual($columns, $cols);
         self::assertEqual($key, "key{$count}");
     }
     self::assertEqual($count, 3);
     # Insert and remove a matching row at the beginning
     $indexed_cf->insert('key0', $columns);
     $indexed_cf->remove('key0');
     # Insert and remove a matching row at the end
     $indexed_cf->insert('key4', $columns);
     $indexed_cf->remove('key4');
     # Remove a matching row from the middle
     $indexed_cf->remove('key2');
     $result = $indexed_cf->get_indexed_slices($clause);
     $count = 0;
     foreach ($result as $key => $cols) {
         $count++;
         self::assertTrue($key == "key1" || $key == "key3");
     }
     self::assertEqual($count, 2);
     $indexed_cf->truncate();
     $keys = array();
     foreach (range(1, 1000) as $i) {
         $indexed_cf->insert("key{$i}", $columns);
         if ($i % 50 != 0) {
             $indexed_cf->remove("key{$i}");
         } else {
             $keys[] = "key{$i}";
         }
     }
     $count = 0;
     foreach ($result as $key => $cols) {
         $count++;
         self::assertTrue(in_array($key, $keys));
         unset($keys[$key]);
     }
     self::assertEqual($count, 20);
     $indexed_cf->truncate();
 }