Net-Riak
view release on metacpan or search on metacpan
lib/Net/Riak/Bucket.pm view on Meta::CPAN
If set to True, then writes with conflicting data will be stored and returned to the client. This situation can be detected by calling has_siblings() and get_siblings(). This should only be used if you know what you are doing.
=item get_keys
my $keys = $bucket->get_keys;
my $keys = $bucket->get_keys($args);
Return an arrayref of the list of keys for a bucket.
Note for the PBC interface: you will need a separate instance of the client (i.e separate connection) if you want to preform actions on the keys whilst streaming them.
Optionally takes a hashref of named parameters. Supported parameters are:
=over 4
=item stream => 1
Uses key streaming mode to fetch the list of keys, which may be faster for large keyspaces.
=item cb => sub { }
A callback subroutine to be called for each key found (passed in as the only parameter). get_keys() returns nothing in callback mode.
=back
=item set_property
$bucket->set_property({n_val => 2});
lib/Net/Riak/Bucket.pm view on Meta::CPAN
Accepts a hashref of parameters. Supported parameters are:
=over 4
=item props => 'true'|'false'
Whether to return bucket properties. Defaults to 'true' if no parameters are given.
=item keys => 'true'|'false'|'stream'
Whether to return bucket keys. If set to 'stream', uses key streaming mode, which may be faster for large keyspaces.
=item cb => sub { }
A callback subroutine to be called for each key found (passed in as the only parameter). Implies keys => 'stream'. Keys are omitted from the results hashref in callback mode.
=back
=back
=head1 AUTHOR
lib/Net/Riak/Role/REST/Bucket.pm view on Meta::CPAN
my $response = $self->send_request($request);
unless ($response->is_success) {
die "Error getting bucket properties: ".$response->status_line."\n";
}
if ($params->{keys} ne 'stream') {
return JSON::decode_json($response->content);
}
# In streaming mode, aggregate keys from the multiple returned chunk objects
else {
my $json = JSON->new;
my $props = $json->incr_parse($response->content);
if ($params->{cb}) {
while (defined(my $obj = $json->incr_parse)) {
$params->{cb}->($_) foreach @{$obj->{keys}};
}
return %$props ? { props => $props } : {};
}
else {
( run in 0.246 second using v1.01-cache-2.11-cpan-4d50c553e7e )