|
NAMEMR::Tarantool::Box::Singleton - A singleton wrapper for MR::Tarantool::Box.Provides connection-persistence and replica fallback. Please read "MR::Tarantool::Box manual" first. SYNOPSISpackage Some::Tarantool::Box::Singleton; use MR::Tarantool::Box::Singleton; use base 'MR::Tarantool::Box::Singleton'; BEGIN { # generates "TUPLE_$field_name" constants, and methods: FIELDS, FIELDS_HASH __PACKAGE__->mkfields(qw/ id f1 f2 f3 field4 f5 f6 f7 misc_string /); # applicable for DEFAULT_SPACE only } sub SERVER { Some::Config->GetBoxServer() } sub REPLICAS { Some::Config->GetBoxReplicas() } sub DEFAULT_SPACE { 0 } sub SPACES {[{ space => 0, indexes => [ { index_name => 'primary_id', keys => [TUPLE_id], }, { index_name => 'secondary_f1f2', keys => [TUPLE_f1, TUPLE_f2], }, ], format => 'QqLlSsCc&', default_index => 'primary_id', }, { space => 1, indexes => [ { index_name => 'primary_id', keys => [0], }, ], format => '&&&&', fields => [qw/ string1 str2 s3 s4 /], }]} DESCRIPTIONMETHODSmkfieldsBEGIN { $CLASS->mkfields(@names); }
declare_stored_procedure $CLASS->declare_stored_procedure(%args); $CLASS->declare_stored_procedure( name => "box.do.something", # internal procedure name, in da box method_name => "CallMyTestingStoredProcedure", # will generate method named options => { default => options }, # MR::Tarantool::Box->Call \%options params => [ qw{ P1 P2 P3 Param4 }], # names unpack_format => "&LSC(L$)*", params_format => [qw{ C S L a* }], params_default => [ 1, 2, undef, 'the_default' ], # undef's are mandatory params ); ... my $data = $CLASS->CallMyTestingStoredProcedure( P1 => $val1, P2 => $val2, P3 => $val3, Param4 => $val3, { option => $value }, # optional ) or warn $CLASS->ErrorStr; Declare a stored procedure. This generates $CLASS method $args{method_name} which calls Tarantool/Box procedure $args{name}, using $args{options} as default "\%options" for "MR::Tarantool::Box->Call" call. The generated method has the following prototype: $CLASS->CallMyTestingStoredProcedure( %sp_params, \%optional_options ); Parameters description:
Configuration methods
Add, Insert, Replace, UpdateMulti, Delete These methods operate on "SERVER" only. See corresponding methods of MR::Tarantool::Box class. Select, Call These methods operate on "SERVER" at first, and then may try to query "REPLICAS". See corresponding methods of MR::Tarantool::Box class. These methods have additional %options params:
Error, ErrorStr Return error code or description (see <MR::Tarantool::Box|MR::Tarantool::Box/Error>). LICENCE AND COPYRIGHTThis is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.SEE ALSO<http://tarantool.org>MR::Tarantool::Box
Visit the GSP FreeBSD Man Page Interface. |