incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Ellis <jbel...@gmail.com>
Subject Re: thrift c++ insert Exception [Column value is required]
Date Sun, 14 Aug 2011 03:28:29 GMT
In C++ you need to set .__isset.fieldname on optional fields (e.g.
.__isset.value).

2011/8/13 Hassapis Constantinos <chasap@ics.forth.gr>:
> Hi all,
>
> I'm using Cassandra 0.8.3 and thrift for c++ and I can't insert column in
> a column family. Starting from an empty keyspace first I add a new
> keyspace and then a new column family and that works fine but I can't
> insert a column.
> The code that I have written is:
>
>                transport->open();
>                KsDef ks_def;
>
>                ks_def.name = "test_keyspace";
>                ks_def.replication_factor = 0;
>                ks_def.strategy_class = "LocalStrategy";
>                std::string res;
>
>                cout << "add keyspace.." << endl;
>                client.system_add_keyspace( res, ks_def);
>                client.set_keyspace("test_keyspace");
>
>                cout << "add column family.." << endl;
>                CfDef cf_def;
>                cf_def.keyspace= "test_keyspace";
>                cf_def.name = "cf_name_test";
>                client.system_add_column_family( res, cf_def );
>
>                const string& key="test_key";
>                const string value="valueeee_";
>
>                ColumnParent cparent;
>                cparent.column_family = "cf_name_test";
>
>                Column c;
>                c.name =  "column_namess";
>                c.value =  value;
>                c.timestamp = getTS();
>
>                cout << "insert key value:"<< c.value << endl;
>                client.insert( key, cparent, c, ConsistencyLevel::ONE);
>
>                cout << "drop column family" << endl;
>                client.system_drop_column_family( res, "cf_name_test");
>
>                cout << "drop keyspace" << endl;
>                client.system_drop_keyspace( res, "test_keyspace");
>
>                transport->close();
>
> and I recive the bellow Exception: Default TException.  [Column value is
> required] as you can see from the source code I have fill the value of the
> column.
>
> thank you in advance for your help.
> Konstantinos Chasapis
> p.s please cc me in the reply.
>
>
>
>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support
http://www.datastax.com

Mime
View raw message