Ejemplo n.º 1
0
 /**
  * Adds a supercolumn object to this super cf, overwrites existing supercolumn
  * @param PandraSuperColumn $columnObj
  */
 public function addColumnObj(PandraSuperColumn $columnObj)
 {
     if ($columnObj->getName() === NULL) {
         throw new RuntimeException('SuperColumn has no name');
     }
     $this->_columns[$columnObj->getName()] = $columnObj;
 }
Ejemplo n.º 2
0
 /**
  * Helper function to add a Super Column instance to this Super Column Family
  * @param PandraSuperColumn $scObj
  * @return PandraSuperColumn
  */
 public function addSuper(PandraSuperColumn $scObj)
 {
     $superName = $scObj->getName();
     $scObj->setParentCF($this);
     $this->_columns[$superName] = $scObj;
     return $this->getColumn($superName);
 }
Ejemplo n.º 3
0
require_once '../config.php';
PandraCore::connect('default', 'localhost');
$ks = 'Keyspace1';
$cfName = 'SuperColumnUUID1';
$keyID = 'PandraTestUUID1';
$superName = 'Super1';
// Create a TimeUUID supercolumn
$sc = new PandraSuperColumn($superName, $keyID, $ks, NULL, PandraColumnContainer::TYPE_UUID);
$sc->setColumnFamilyName($cfName);
// generate 5 timestamped columns
for ($i = 1; $i <= 5; $i++) {
    $sc->addColumn(UUID::v1())->setValue($i);
}
echo 'Saving SuperColumn...<br>';
print_r($sc->toJSON());
$sc->save();
// get slice of the 5 most recent entries (count = 5, reversed = true)
echo '<br><br>Loading via SuperColumn container...<br>';
$scNew = new PandraSuperColumn($superName, $keyID, $ks, NULL, PandraColumnContainer::TYPE_UUID);
$scNew->setColumnFamilyName($cfName);
$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, 'super_column' => $superName)), new PandraSlicePredicate(PandraSlicePredicate::TYPE_RANGE, array('start' => '', 'finish' => '', 'count' => 5, 'reversed' => true)));
var_dump($result);
$scNew = new PandraSuperColumn($superName, $keyID, $ks, NULL, PandraColumnContainer::TYPE_UUID);
$scNew->setColumnFamilyName($cfName);
$scNew->populate($result);
echo '<br>Imported...<br>';
print_r($scNew->toJSON());