NAME

DR::Tarantool::SyncClient - a synchronous driver for Tarantool.

SYNOPSIS

my $client = DR::Tarantool::SyncClient->connect(
    port    => $tnt->primary_port,
    spaces  => $spaces
);

if ($client->ping) { .. };

my $t = $client->insert(
    first_space => [ 1, 'val', 2, 'test' ], TNT_FLAG_RETURN
);

$t = $client->call_lua('luafunc' =>  [ 0, 0, 1 ], 'space_name');

$t = $client->select(space_name => $key);

$t = $client->update(space_name => 2 => [ name => set => 'new' ]);

$client->delete(space_name => $key);

METHODS

connect

Connects to the server.

Arguments

The same as "connect" in DR::Tarantool::AsyncClient, excluding the callback.

Returns a connection handle or croaks an error.

Additional arguments

raise_error

If true (default behaviour) the driver throws an exception for each error.

ping

The same as "ping" in DR::Tarantool::AsyncClient, excluding the callback.

Returns true on success, b<false> in case of an error.

insert

The same as "insert" in DR::Tarantool::AsyncClient, excluding the callback.

Returns the inserted tuple. Croaks error if an error occurred (as long as raise_error is true).

select

The same as "select" in DR::Tarantool::AsyncClient, excluding the callback.

Returns tuples contained in the server response or undef. Croaks error if an error occurred (as long as raise_error is true).

update

The same as "update" in DR::Tarantool::AsyncClient, excluding the callback.

Returns the updated tuple. Croaks error if an error occurred (as long as raise_error is true).

delete

The same as "delete" in DR::Tarantool::AsyncClient, excluding the callback.

Returns the deleted tuple or undef. Croaks error if an error occurred (as long as raise_error is true).

call_lua

The same as "call_lua" in DR::Tarantool::AsyncClient, excluding the callback.

Returns tuples contained in the server response or undef. Croaks error if an error occurred (as long as raise_error is true).

COPYRIGHT AND LICENSE

Copyright (C) 2011 Dmitry E. Oboukhov <unera@debian.org>
Copyright (C) 2011 Roman V. Nikolaev <rshadow@rambler.ru>

This program is free software, you can redistribute it and/or
modify it under the terms of the Artistic License.

VCS

The project is placed git repo on github: https://github.com/dr-co/dr-tarantool/.