On Tue, 06 Apr 2010 11:07:03 -0700 Mike Gallamore 
<mike.e.gallam...@googlemail.com> wrote: 

MG> Seems to be internal to java/cassandra itself.
MG> I have some tests and I want to make sure that I have a "clean slate"
MG> each time I run the test. Clean as far as my code cares is that
MG> "value" is not defined. I'm running  "bin/cassandra -f" with the
MG> default install/options. So at the beginning of my test I run:

Mike, you can submit bugs and questions directly to me, here, or through
http://rt.cpan.org (the CPAN bug tracker).  It's a good idea to test an
operation from the CLI that comes with Cassandra to make sure the
problem is not with the Net::Cassandra::Easy module.

Also, if you set $Net::Cassandra::Easy::DEBUG to 1, you'll see the
actual Thrift objects that get constructed.  In this case (N::C::Easy
0.08) I was constructing a super_column parameter which was wrong.

MG> $rc = $c->mutate([$key], family => 'Standard1', deletions => { byname => 
['value']});
...
MG> Anyone have any ideas what I'm doing wrong? The value field is just a
MG> json encoded digit so something like ("30") not a real supercolumn but
MG> the Net::Cassandra::Easy docs didn't have any examples of removing a
MG> non supercolumns data. Really what I'd like to do is delete the whole
MG> row, but again I didn't find any examples of how to do this.

It's a bug in N::C::Easy.  I fixed it in 0.09 so it will work properly with:

$rc = $c->mutate([$key], family => 'Standard1', deletions => { standard => 1, 
byname => ['column1', 'column2']});

AFAIK I can't specify "delete all columns in a non-super CF" using
Deletions so "byname" is required (I end up filling the column_names
field in the predicate).  OTOH I can just delete a SuperColumn so the
above is possible in a super CF.

The docs and tests were updated as well.  Let me know if you have
problems; it worked for me.  In the next release I'll update cassidy.pl
to work with non-super CFs as well.  Sorry for the inconvenience.

Thanks
Ted

Reply via email to