Ok, I'll check out libcassandra in a while. I've been able to insert values with this:
new_col.__isset.super_column = true; new_col.__isset.column = true; /* this is required! */ new_col.column_family.assign("Anonimos"); new_col.super_column.assign("Tag"); new_col.column.assign("300"); client.insert("SocialAds", "50", new_col, "5", 12345678, ONE); I thought I could GET it by doing: client.get(ret_val, "SocialAds", "50", new_col, ONE); But I'm getting this error: Default TException. Ah nothing on the server log Thanks, and sorry for all these newbie questions 2010/3/15 Jonathan Ellis <jbel...@gmail.com> > you're still not setting isset on column_family. > > you need both isset and assign on each value you're sending. > > maybe you should use http://github.com/posulliv/libcassandra ? > > On Mon, Mar 15, 2010 at 3:29 PM, Juan Manuel Garcia del Moral > <j...@southcode.com.ar> wrote: > > Ok, > > > > Now I've changed to: > > > > ColumnPath new_col; > > new_col.__isset.super_column = true; > > new_col.__isset.column = true; /* this is required! */ > > new_col.column_family.assign("Anonimos"); > > new_col.super_column.assign("Tag"); > > new_col.column.assign("300"); > > > > > > client.insert("SocialAds", > > "1", > > new_col, > > "200", > > 12345678, > > ONE); > > > > I'm not getting any error but no entry on the log either, and the value > is > > not being inserted... > > > > > > Thanks > > > > > > 2010/3/15 Jonathan Ellis <jbel...@gmail.com> > >> > >> Ah, thrift is letting you set something to be null, that shouldn't be > >> legal. This is fixed in 0.6 svn, btw. > >> > >> it looks like you are setting new_col.__isset.column to true, but not > >> actually assigning it a value. > >> > >> On Mon, Mar 15, 2010 at 3:14 PM, Juan Manuel Garcia del Moral > >> <j...@southcode.com.ar> wrote: > >> > This is what the log says: > >> > > >> > ERROR [pool-1-thread-8] 2010-03-15 15:54:06,753 Cassandra.java (line > >> > 1482) > >> > Internal error processing insert > >> > java.lang.AssertionError: QueryPath(columnFamilyName='Anonimos', > >> > superColumnName='[...@d0357a', columnName='null') > >> > at > >> > org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:165) > >> > at > >> > org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:159) > >> > at > org.apache.cassandra.db.RowMutation.add(RowMutation.java:159) > >> > at > >> > > >> > > org.apache.cassandra.thrift.CassandraServer.insert(CassandraServer.java:351) > >> > at > >> > > >> > > org.apache.cassandra.thrift.Cassandra$Processor$insert.process(Cassandra.java:1474) > >> > at > >> > > >> > > org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:1115) > >> > at > >> > > >> > > org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:253) > >> > at > >> > > >> > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > >> > at > >> > > >> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > >> > at java.lang.Thread.run(Thread.java:619) > >> > > >> > > >> > I need to do replicate this: > >> > set SocialAds.Anonimos['122']['Tag']['150'] = '100'; > >> > > >> > from my code... > >> > > >> > any ideas? > >> > > >> > thanks in advance > >> > > >> > Juan > >> > > >> > > >> > 2010/3/15 Jonathan Ellis <jbel...@gmail.com> > >> >> > >> >> check the server log for exception. and if you are not on 0.5.1 or > >> >> 0.6 svn branch, upgrade. > >> >> > >> >> On Mon, Mar 15, 2010 at 12:47 PM, Juan Manuel Garcia del Moral > >> >> <j...@southcode.com.ar> wrote: > >> >> > Many thanks! > >> >> > > >> >> > That seems to be useful, > >> >> > > >> >> > But now I'm getting > >> >> > The error message: "Internal error processing insert" > >> >> > > >> >> > I'm not sure if I'm setting the timestamp properly > >> >> > > >> >> > > >> >> > > >> >> > 2010/3/15 Padraig O'Sullivan <osullivan.padr...@gmail.com> > >> >> >> > >> >> >> You need to manually set the __isset fields when using the thift > API > >> >> >> in C++. Since you are trying to insert a super column, you need to > >> >> >> set > >> >> >> the super_column __isset field. > >> >> >> > >> >> >> So this: > >> >> >> > >> >> >> new_col.__isset.column = true; > >> >> >> > >> >> >> should become: > >> >> >> > >> >> >> new_col.__isset.super_column = true; > >> >> >> > >> >> >> -Padraig > >> >> >> > >> >> >> On Mon, Mar 15, 2010 at 12:36 PM, Juan Manuel Garcia del Moral > >> >> >> <j...@southcode.com.ar> wrote: > >> >> >> > Hello > >> >> >> > > >> >> >> > I'm trying to add values using supercolumns but I get this error > >> >> >> > > >> >> >> > ERROR: supercolumn parameter is not optional for super CF > Anonimos > >> >> >> > > >> >> >> > This is my code > >> >> >> > > >> >> >> > // ********** > >> >> >> > ColumnPath new_col; > >> >> >> > new_col.__isset.column = true; /* this is required! */ > >> >> >> > new_col.column_family.assign("Anonimos"); > >> >> >> > new_col.super_column.assign("Tag"); > >> >> >> > > >> >> >> > client.insert("SocialAds", > >> >> >> > "1", > >> >> >> > new_col, > >> >> >> > "200", > >> >> >> > 123456789, > >> >> >> > ONE); > >> >> >> > > >> >> >> > // ********** > >> >> >> > > >> >> >> > What I'm doing wrong? > >> >> >> > > >> >> >> > Thanks > >> >> >> > > >> >> >> > Juan > >> >> >> > > >> >> >> > > >> >> > > >> >> > > >> >> > > >> >> > >> > > >> > > >> > > > > > > > > > -- > > Juan Manuel García del Moral > > Southcode Global IT Resources > > j...@southcode.com.ar > > http://www.southcode.com.ar > > > > > -- Juan Manuel García del Moral Southcode Global IT Resources j...@southcode.com.ar http://www.southcode.com.ar