X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FReplicated%2FReplicant.pm;h=f5b4f3499d1a6e3d82eaee933e279a3f1efb10ed;hb=cea43436e10983c218ded47e1561183096685f9b;hp=74491465bd1376ce860716e4c6d9e06c968cf19f;hpb=0c90fabe2d883d5a51ee47491b6c9af2c5f53e60;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/DBI/Replicated/Replicant.pm b/lib/DBIx/Class/Storage/DBI/Replicated/Replicant.pm index 7449146..f5b4f34 100644 --- a/lib/DBIx/Class/Storage/DBI/Replicated/Replicant.pm +++ b/lib/DBIx/Class/Storage/DBI/Replicated/Replicant.pm @@ -1,15 +1,21 @@ package DBIx::Class::Storage::DBI::Replicated::Replicant; use Moose::Role; +requires qw/_query_start/; +with 'DBIx::Class::Storage::DBI::Replicated::WithDSN'; +use MooseX::Types::Moose qw/Bool Str/; +use DBIx::Class::Storage::DBI::Replicated::Types 'DBICStorageDBI'; + +use namespace::clean -except => 'meta'; =head1 NAME -DBIx::Class::Storage::DBI::Replicated::Replicant; A replicated DBI Storage Role +DBIx::Class::Storage::DBI::Replicated::Replicant - A replicated DBI Storage Role =head1 SYNOPSIS This class is used internally by L. - + =head1 DESCRIPTION Replicants are DBI Storages that follow a master DBI Storage. Typically this @@ -40,28 +46,44 @@ storage driver for more information. =cut has 'active' => ( - is=>'rw', - isa=>'Bool', - lazy=>1, - required=>1, - default=>1, + is=>'rw', + isa=>Bool, + lazy=>1, + required=>1, + default=>1, ); +has dsn => (is => 'rw', isa => Str); +has id => (is => 'rw', isa => Str); + +=head2 master + +Reference to the master Storage. + +=cut + +has master => (is => 'rw', isa => DBICStorageDBI, weak_ref => 1); + =head1 METHODS This class defines the following methods. -=head2 after: _query_start +=head2 debugobj -advice iof the _query_start method to add more debuggin +Override the debugobj method to redirect this method call back to the master. =cut -around '_query_start' => sub { - my ($method, $self, $sql, @bind) = @_; - my $dsn = $self->connect_info->[0]; - $self->$method("DSN: $dsn SQL: $sql", @bind); -}; +sub debugobj { + my $self = shift; + + return $self->master->debugobj; +} + +=head1 ALSO SEE + +L, +L =head1 AUTHOR @@ -73,4 +95,4 @@ You may distribute this code under the same terms as Perl itself. =cut -1; \ No newline at end of file +1;