* */ 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) {