cassandra UpdateColumnFamily InvalidRequestException默认TException

时间:2012-07-03 10:20:25

标签: cassandra

我正在使用带有cassandra-1.1.1的thrift-0.7.0,我在使用system_add_column_family添加新的列系列时非常成功,但当我尝试使用system_update_column_family向现有的columnfamily添加新列时出现错误“UpdateColumnFamily InvalidRequestException默认TException“,我尝试的示例c ++代码如下

string sReturn;
CfDef ColumnFamilyDef;
ColumnFamilyDef.keyspace="keyspace2";
ColumnFamilyDef.column_type="Standard";
ColumnFamilyDef.name="ColFM1";
ColumnFamilyDef.__isset.column_type=true;

ColumnDef column;
column.name="Col2";
column.validation_class="UTF8Type";
ColumnFamilyDef.column_metadata.push_back(column);

ColumnFamilyDef.__isset.column_metadata=true;
mpClient->system_update_column_family(sReturn,ColumnFamilyDef);

给我以下例外

UpdateColumnFamily InvalidRequestException默认TException

任何人都可以帮助我 提前谢谢

1 个答案:

答案 0 :(得分:0)

我相信您仍需要在连接上调用set_keyspace,以便在创建列族之前将其设置为新的键空间。这或许正在破碎。

作为旁注,使用CQL而不是旧的Thrift API可能会更容易。你基本上只需要调用execute_cql_query并传入一个字符串。有一个full reference for CQL可以让事情变得更容易。