You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by Apache Wiki <wi...@apache.org> on 2009/08/27 02:49:04 UTC
[Cassandra Wiki] Update of "ClientExamples" by Chris Goffinet
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.
The following page has been changed by Chris Goffinet:
http://wiki.apache.org/cassandra/ClientExamples
The comment on the change is:
Fixed the PHP code to use Standard1 from the config and added an include
------------------------------------------------------------------------------
<?php
$GLOBALS['THRIFT_ROOT'] = '/usr/share/php/Thrift';
require_once $GLOBALS['THRIFT_ROOT'].'/packages/cassandra/Cassandra.php';
+ require_once $GLOBALS['THRIFT_ROOT'].'/packages/cassandra/cassandra_types.php';
require_once $GLOBALS['THRIFT_ROOT'].'/transport/TSocket.php';
require_once $GLOBALS['THRIFT_ROOT'].'/protocol/TBinaryProtocol.php';
require_once $GLOBALS['THRIFT_ROOT'].'/transport/TFramedTransport.php';
@@ -36, +37 @@
$transport->open();
- /* Insert some data into base attributes */
+ /* Insert some data into the Standard1 column family from the default config */
- // Table name specified in storage=conf.xml
+ // Keyspace specified in storage=conf.xml
- $tableName = 'users';
+ $keyspace = 'Keyspace1';
// reference to specific User id
$keyUserId = "1";
// Constructing the column path that we are adding information into.
$columnPath = new cassandra_ColumnPath();
- $columnPath->column_family = 'base_attributes';
+ $columnPath->column_family = 'Standard1';
$columnPath->super_column = null;
$columnPath->column = 'email';
// Timestamp for update
$timestamp = time();
- // TODO someone who knows PHP update this to use ConsistencyLevel constants
- $block_for = 0;
+ // We want the consistency level to be ZERO which means async operations on 1 node
+ $consistency_level = cassandra_ConsistencyLevel::ZERO;
// Add the value to be written to the table, User Key, and path.
- $value = "daniel@example.com";
+ $value = "foobar@example.com";
- $client->insert($tableName, $keyUserId, $columnPath, $value, $timestamp, $block_for);
+ $client->insert($keyspace, $keyUserId, $columnPath, $value, $timestamp, $consistency_level);
// Add a new column path to be altered.
$columnPath->column = 'age';
@@ -66, +67 @@
$timestamp = time();
// Update the value to be inserted for the updated column Path
$value = "24";
- $client->insert($tableName, $keyUserId, $columnPath, $value, $timestamp, $block_for);
+ $client->insert($keyspace, $keyUserId, $columnPath, $value, $timestamp, $consistency_level);
/* Query for data */
// Specify what Column Family to query against.
$columnParent = new cassandra_ColumnParent();
- $columnParent->column_family = "base_attributes";
+ $columnParent->column_family = "Standard1";
$columnParent->super_column = NULL;
@@ -83, +84 @@
list() = $predicate->column_names;
$predicate->slice_range = $sliceRange;
- $consistencyLevel = 1;
+ // We want the consistency level to be ONE which means to only wait for 1 node
+ $consistency_level = cassandra_ConsistencyLevel::ONE;
+
// Issue the Query
$keyUserId = 1;
- $result = $client->get_slice($tableName, $keyUserId, $columnParent, $predicate, $consistencyLevel);
+ $result = $client->get_slice($keyspace, $keyUserId, $columnParent, $predicate, $consistency_level);
print_r($result);