DR::Tarantool(3pm) User Contributed Perl Documentation DR::Tarantool(3pm)NAME
DR::Tarantool - perl driver for tarantool <http://tarantool.org>
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 <http://tarantool.org>.
The driver uses libtarantool* libraries for making requests and parsing responses.
EXPORT
tarantool
connects to tarantool <http://tarantool.org> in sync mode using DR::Tarantool::SyncClient.
async_tarantool
connects to tarantool <http://tarantool.org> in async mode using DR::Tarantool::AsyncClient.
coro_tarantol
connects to tarantool <http://tarantool.org> 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/ <https://github.com/unera/dr-tarantool/>.
perl v5.14.2 2012-06-06 DR::Tarantool(3pm)
Check Out this Related Man Page
DR::Tarantool::Spaces(3pm) User Contributed Perl Documentation DR::Tarantool::Spaces(3pm)NAME
DR::Tarantool::Spaces - spaces container
SYNOPSIS
use DR::Tarantool::Spaces;
my $s = new DR::Tarantool::Spaces({
1 => {
name => 'users', # space name
default_type => 'STR', # undescribed fields
fields => [
qw(login password role),
{
name => 'counter',
type => 'NUM'
},
{
name => 'something',
type => 'UTF8STR',
},
{
name => 'opts',
type => 'JSON',
}
],
indexes => {
0 => 'login',
1 => [ qw(login password) ],
2 => {
name => 'my_idx',
fields => 'login',
},
3 => {
name => 'my_idx2',
fields => [ 'counter', 'something' ]
}
}
},
0 => {
...
}
});
my $f = $s->pack_field('users', 'counter', 10);
my $f = $s->pack_field('users', 1, 10); # the same
my $f = $s->pack_field(1, 1, 10); # the same
my $ts = $s->pack_keys([1,2,3] => 'my_idx');
my $t = $s->pack_primary_key([1,2,3]);
DESCRIPTION
The package describes all spaces that You use. It supports the following field types:
NUM, NUM64, STR
- standard tarantool <http://tarantool.org> types.
UTF8STR
- the same as STR, but string will be utf8-decoded after extracting from database.
INT & INT64
- the same as NUM and NUM64, but contain signed values.
JSON
- the filed will be encoded by JSON::XS before inserting and decoded after extracting from database.
METHODS
new
my $spaces = DR::Tarantool::Spaces->new( $spaces );
space
Returns space object by number or name.
my $space = $spaces->space('name');
my $space = $spaces->space(0);
pack_field
packs one field before making database request
my $field = $spaces->pack_field('space', 'field', $data);
unpack_field
unpacks one field after extracting data from database
my $field = $spaces->unpack_field('space', 'field', $data);
pack_tuple
packs tuple before making database request
my $t = $spaces->pack_tuple('space', [ 1, 2, 3 ]);
unpack_tuple
unpacks tuple after extracting data from database
my $t = $spaces->unpack_tuple('space', @fields);
SPACES methods
new
constructor
use DR::Tarantool::Spaces;
my $space = DR::Tarantool::Space->new($no, $space);
name
returns space name
number
returns space number
pack_field
packs field before making database request
unpack_field
unpacks field after extracting data from database
pack_tuple
packs tuple before making database request
unpack_tuple
unpacks tuple after extracting data from database
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/ <https://github.com/unera/dr-tarantool/>.
perl v5.14.2 2012-06-04 DR::Tarantool::Spaces(3pm)