public function testSaveLoadDeleteUUID()
 {
     $cf = new PandraColumnFamily($this->_keyID, 'Keyspace1', 'StandardByUUID1', PandraColumnContainer::TYPE_UUID);
     $column = $cf->addColumn(UUID::v1());
     $uuidName = UUID::convert($column->getName(), UUID_FMT_STR);
     $cValue = 'test value';
     $column->setValue($cValue);
     $this->assertTrue($cf->save());
     unset($cf);
     $newCF = new PandraColumnFamily($this->_keyID, 'Keyspace1', 'StandardByUUID1', PandraColumnContainer::TYPE_UUID);
     $newCF->load();
     $this->assertEquals($cValue, $newCF[$uuidName]);
 }
    $string = $chars[rand(0, $chars_length)];
    // Generate random string
    for ($i = 1; $i < $length; $i = strlen($string)) {
        // Grab a random character from our list
        $r = $chars[rand(0, $chars_length)];
        // Make sure the same two characters don't appear next to each other
        if ($r != $string[$i - 1]) {
            $string .= $r;
        }
    }
    // Return the string
    return $string;
}
// generate 5 timestamped supercolumns
for ($i = 1; $i <= 5; $i++) {
    $bp = new BlogPost(UUID::v1());
    $bp->column_title = rand_str();
    $bp->column_body = rand_str();
    $scf->addSuper($bp);
}
echo 'Saving SuperColumnFamily...<br>';
print_r($scf->toJSON());
$scf->save();
// get slice of the 5 most recent entries (count = 5, reversed = true)
echo '<br><br>Loading via SuperColumnFamily container...<br>';
$scNew = new PandraSuperColumnFamily($keyID, $ks, $cfName, PandraColumnContainer::TYPE_UUID);
$scNew->limit(5)->load();
echo '<br>Loaded...<br>';
print_r($scNew->toJSON());
echo '<br><br>Loading SuperColumn Slice...<br>';
$result = PandraCore::getCFSlice($ks, $keyID, new cassandra_ColumnParent(array('column_family' => $cfName)), new PandraSlicePredicate(PandraSlicePredicate::TYPE_RANGE, array('start' => '', 'finish' => '', 'count' => 5, 'reversed' => true)));
Пример #3
0
/**
 * Example TimeUUIDType ColumnFamily vs default Cassandra storage-conf.xml
 *
 *  <ColumnFamily CompareWith="TimeUUIDType" Name="StandardByUUID1"/>
 *
 */
require_once '../config.php';
PandraCore::connect('default', 'localhost');
// ---- TIMEUUID ColumnFamily Example
$ks = 'Keyspace1';
$cfName = 'StandardByUUID1';
$keyID = 'PandraTestUUID1';
$cf = new PandraColumnFamily($keyID, $ks, $cfName, PandraColumnFamily::TYPE_UUID);
// generate 5 timestamped columns
for ($i = 1; $i <= 5; $i++) {
    $cf->addColumn(UUID::v1())->setValue($i);
}
echo 'Saving...<br>';
print_r($cf->toJSON());
$cf->save();
// get slice of the 5 most recent entries (count = 5, reversed = true)
echo '<br><br>Loading via CF container...<br>';
$cfNew = new PandraColumnFamily($keyID, $ks, $cfName, PandraColumnFamily::TYPE_UUID);
$cfNew->limit(5)->load();
echo '<br>Loaded...<br>';
print_r($cfNew->toJSON());
echo '<br><br>Loading Slice...<br>';
$result = PandraCore::getCFSlice($ks, $keyID, new cassandra_ColumnParent(array('column_family' => $cfName)), new PandraSlicePredicate(PandraSlicePredicate::TYPE_RANGE, array('start' => '', 'finish' => '', 'count' => 5, 'reversed' => true)));
var_dump($result);
$cfNew = new PandraColumnFamily($keyID, $ks, $cfName, PandraColumnFamily::TYPE_UUID);
$cfNew->populate($result);