Ejemplo n.º 1
0
 *
 */
require_once __DIR__ . '/../lib/autoload.php';
use phpcassa\Connection\ConnectionPool;
use phpcassa\ColumnFamily;
use phpcassa\SystemManager;
use phpcassa\Schema\StrategyClass;
// Create a new keyspace and column family
$sys = new SystemManager('127.0.0.1');
$sys->create_keyspace('Keyspace1', array("strategy_class" => StrategyClass::SIMPLE_STRATEGY, "strategy_options" => array('replication_factor' => '1')));
$sys->create_column_family('Keyspace1', 'Counts', array("default_validation_class" => 'CounterColumnType'));
// Start a connection pool, create our ColumnFamily instance
$pool = new ConnectionPool('Keyspace1', array('127.0.0.1'));
$count_cf = new ColumnFamily($pool, 'Counts');
// ColumnFamily::add() is the easiest way to increment a counter
$count_cf->add("key1", "col1");
$results = $count_cf->get("key1");
$current_count = $results["col1"];
echo "After one add(): {$current_count}\n";
// You can specify a value other than 1 to adjust the counter by
$count_cf->add("key1", "col1", 10);
$results = $count_cf->get("key1");
$current_count = $results["col1"];
echo "After add(10): {$current_count}\n";
// ColumnFamily::insert() will also increment values, but you can
// adjust multiple columns at the same time
$count_cf->insert("key1", array("col1" => 3, "col2" => -1));
$results = $count_cf->get("key1");
$current_count = $results["col1"];
echo "After insert(3): {$current_count}\n\n";
// And ColumnFamily::batch_insert() lets you increment counters
    if (isset($_POST['columnfamily_name'])) {
        $columnfamily_name = $_POST['columnfamily_name'];
    }
    try {
        $pool = new ConnectionPool($keyspace_name, $cluster_helper->getArrayOfNodesForCurrentCluster(), null, 5, 5000, 5000, 10000, $cluster_helper->getCredentialsForCurrentCluster());
        $cf_def = ColumnFamilyHelper::getCFInKeyspace($keyspace_name, $columnfamily_name);
        $is_super_cf = $cf_def->column_type == 'Super';
        if ($is_super_cf) {
            $column_family = new SuperColumnFamily($pool, $columnfamily_name);
        } else {
            $column_family = new ColumnFamily($pool, $columnfamily_name);
        }
        if ($action == 'dec') {
            $value *= -1;
        }
        $column_family->add($key, $super_column, $column, $value);
        $new_value = $column_family->get($key);
        if ($column_family->cfdef->column_type == 'Super') {
            $new_value = $new_value[$super_column][$column];
        } else {
            $new_value = $new_value[$column];
        }
        redirect('counters.php?keyspace_name=' . $keyspace_name . '&columnfamily_name=' . $columnfamily_name . '&new_value=' . $new_value);
    } catch (Exception $e) {
        $_SESSION['message'] = $e->getMessage();
        redirect('counters.php?keyspace_name=' . $keyspace_name . '&columnfamily_name=' . $columnfamily_name . '&error=1');
    }
}
if (!$included_header) {
    echo getHTML('header.php');
    if (!$is_valid_action) {