当使用Perl模块
Net::Cassandra::Easy与Cassandra连接时,我使用以下代码从列族Standard1中的行row [123]读取colums col [123]:
my $cassandra = Net::Cassandra::Easy->new(keyspace => 'Keyspace1',server => 'localhost'); $cassandra->connect(); my $result = $cassandra->get(['row1','row2','row3'],family => 'Standard1',byname => ['col1','col2','col3']);
这按预期工作.
但是,当试图插入行row1时…
$result = $cassandra->mutate(['row1'],insertions => { "col1" => "Value to set." });
..我收到错误消息不能使用字符串(“0”)作为SCALAR ref,而在“/ Net / GenThrift / Thrift / BinaryProtocol.pm”第376行使用“strict refs”.
我究竟做错了什么?
解决方法
它看起来像库中的一个错误:
sub readByte { my $self = shift; my $value = shift; my $data = $self->{trans}->readAll(1); my @arr = unpack('c',$data); $$value = $arr[0]; # <~ line 376 return 1; }