X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FReplicated%2FReplicant.pm;h=a541e7df2129d6ed80a7b872a29a84988ceb9d9e;hb=a85b7ebe9762ca64a08468f6c8f27a0ae583d38c;hp=08a95ef1c6e0c6c9c429d321b824ffa99de945c2;hpb=ede99b9f99bb77ceda57e42d8046d4942e8a40fa;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/Storage/DBI/Replicated/Replicant.pm b/lib/DBIx/Class/Storage/DBI/Replicated/Replicant.pm index 08a95ef..a541e7d 100644 --- a/lib/DBIx/Class/Storage/DBI/Replicated/Replicant.pm +++ b/lib/DBIx/Class/Storage/DBI/Replicated/Replicant.pm @@ -4,6 +4,7 @@ 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'; @@ -32,14 +33,14 @@ This class defines the following attributes. =head2 active This is a boolean which allows you to programmatically activate or deactivate a -replicant from the pool. This way to you do stuff like disallow a replicant -when it get's too far behind the master, if it stops replicating, etc. +replicant from the pool. This way you can do stuff like disallow a replicant +when it gets too far behind the master, if it stops replicating, etc. This attribute DOES NOT reflect a replicant's internal status, i.e. if it is properly replicating from a master and has not fallen too many seconds behind a reliability threshold. For that, use L and L. Since the implementation of those functions database specific (and not all DBIC -supported DB's support replication) you should refer your database specific +supported DBs support replication) you should refer your database-specific storage driver for more information. =cut @@ -55,6 +56,14 @@ has 'active' => ( 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. @@ -66,7 +75,9 @@ Override the debugobj method to redirect this method call back to the master. =cut sub debugobj { - return shift->schema->storage->debugobj; + my $self = shift; + + return $self->master->debugobj; } =head1 ALSO SEE