NAME

DR::Tarantool - perl driver for tarantool

SYNOPSIS

use DR::Tarantool ':constant', 'tarantool';
use DR::Tarantool ':all';

my $tnt = tarantool
    host    => '127.0.0.1',
    port    => 123,
    spaces  => {
        ...
    }
;

$tnt->update( ... );

my $tnt = coro_tarantool
    host    => '127.0.0.1',
    port    => 123,
    spaces  => {
        ...
    }
;

use DR::Tarantool ':constant', 'async_tarantool';

async_tarantool
    host    => '127.0.0.1',
    port    => 123,
    spaces  => {
        ...
    },
    sub {
        ...
    }
;

$tnt->update(...);

DESCRIPTION

The module provides sync and async drivers for tarantool.

The driver uses libtarantool* libraries for making requests and parsing responses.

EXPORT

tarantool

connects to tarantool in sync mode using DR::Tarantool::SyncClient.

async_tarantool

connects to tarantool in async mode using DR::Tarantool::AsyncClient.

coro_tarantol

connects to tarantool in async mode using DR::Tarantool::CoroClient.

:constant

Exports constants to use in request as flags:

TNT_FLAG_RETURN

If You use the flag, driver will return tuple that were inserted/deleted/updated.

TNT_FLAG_ADD

Try to add tuple. Return error if tuple is already exists.

TNT_FLAG_REPLACE

Try to replace tuple. Return error if tuple isn't exists.

:all

Exports all functions and constants.

SEE ALSO

The module uses DR::Tarantool::SyncClient and (or) DR::Tarantool::AsyncClient.

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/unera/dr-tarantool/.