Dmitry E. Oboukhov > DR-Tarantool-0.32 > DR::Tarantool::Tuple

Download:
DR-Tarantool-0.32.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Source   Latest Release: DR-Tarantool-0.44

NAME ^

DR::Tarantool::Tuple - tuple container for DR::Tarantool

SYNOPSIS ^

    my $tuple = new DR::Tarantool::Tuple([ 1, 2, 3]);
    my $tuple = new DR::Tarantool::Tuple([ 1, 2, 3], $space);
    my $tuple = unpack DR::Tarantool::Tuple([ 1, 2, 3], $space);


    $tuple->next( $other_tuple );

    $f = $tuple->raw(0);

    $f = $tuple->name_field;

DESCRIPTION ^

Tuple contains normalized (unpacked) fields. You can access the fields by their indexes (see raw function) or by their names (if they are described in space).

Each tuple can contain references to next tuple and iterator. So If You extract more than one tuple, You can access them.

METHODS ^

new

Constructor.

    my $t = DR::Tarantool::Tuple->new([1, 2, 3]);
    my $t = DR::Tarantool::Tuple->new([1, 2, 3], $space);

unpack

Constructor.

    my $t = DR::Tarantool::Tuple->unpack([1, 2, 3], $space);

raw

Returns raw data from tuple.

    my $array = $tuple->raw;

    my $field = $tuple->raw(0);

next

Appends or returns the following tuple.

    my $next_tuple = $tuple->next;

iter

Returns iterator linked with the tuple.

    my $iterator = $tuple->iter;

    my $iterator = $tuple->iter('MyTupleClass', 'new');

    while(my $t = $iterator->next) {
        # the first value of $t and $tuple are the same
        ...
    }

Arguments

package (optional)
method (optional)

if 'package' and 'method' are present, $iterator->next method will construct objects using $package->$method( $next_tuple )

if 'method' is not present and 'package' is present, iterator will bless raw array into 'package'

tail

Returns tail of tuple (array of unnamed fields). The function always return ARRAYREF (as raw).

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/.

syntax highlighting: