DR-Tarantool
view release on metacpan or search on metacpan
lib/DR/Tarantool/LLClient.pm view on Meta::CPAN
=item offset (optional)
Default value is B<0>.
=item callback for results
=back
=cut
sub select :method {
my $self = shift;
$self->_check_number( my $ns = shift );
$self->_check_number( my $idx = shift );
$self->_check_tuple_list( my $keys = shift );
$self->_check_cb( my $cb = pop );
$self->_check_number( my $limit = shift || 0x7FFFFFFF );
$self->_check_number( my $offset = shift || 0 );
my $id = $self->_req_id;
my $pkt =
DR::Tarantool::_pkt_select($id, $ns, $idx, $offset, $limit, $keys);
$self->_request( $id, $pkt, $cb );
return;
}
=head2 update
Update a tuple.
$tnt->update(0, [ 1 ], [ [ 1 => add 1 ] ], sub { ... });
$tnt->update(
0, # space
[ 1 ], # key
[ [ 1 => add 1 ], [ 2 => add => 1 ], # operations
$flags, # flags
sub { ... } # callback
);
$tnt->update(0, [ 1 ], [ [ 1 => add 1 ] ], $flags, sub { ... });
=head3 Arguments
=over
=item space
=item tuple_key
=item operations list
=item flags (optional)
=item callback for results
=back
=cut
sub update :method {
my $self = shift;
$self->_check_number( my $ns = shift );
$self->_check_tuple( my $key = shift );
$self->_check_operations( my $operations = shift );
$self->_check_cb( my $cb = pop );
$self->_check_number( my $flags = pop || 0 );
my $id = $self->_req_id;
my $pkt = DR::Tarantool::_pkt_update($id, $ns, $flags, $key, $operations);
$self->_request( $id, $pkt, $cb );
return;
}
=head2 delete
Delete a tuple.
$tnt->delete( 0, [ 1 ], sub { ... });
$tnt->delete( 0, [ 1 ], $flags, sub { ... });
=head3 Arguments
=over
=item space
=item tuple_key
=item flags (optional)
=item callback for results
=back
=cut
sub delete :method {
my $self = shift;
my $ns = shift;
my $key = shift;
$self->_check_tuple( $key );
my $cb = pop;
$self->_check_cb( $cb );
my $flags = pop || 0;
my $id = $self->_req_id;
my $pkt = DR::Tarantool::_pkt_delete($id, $ns, $flags, $key);
$self->_request( $id, $pkt, $cb );
return;
}
=head2 call_lua
Calls a lua procedure.
$tnt->call_lua( 'box.select', [ 0, 1, 2 ], sub { ... });
$tnt->call_lua( 'box.select', [ 0, 1, 2 ], $flags, sub { ... });
( run in 0.769 second using v1.01-cache-2.11-cpan-39bf76dae61 )