X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FReplicated%2FReplicant.pm;h=d97120b1aa703783ed5e2a16eca2aed72667895e;hb=12c9beeade5453c5a867406f30384a22e2f1b82d;hp=59ac66ed2a89635c089e54acc3013dacaae3289c;hpb=9c748388f02532cfa13d1d96c6b4b1ffefd9c76b;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 59ac66e..d97120b 100644 --- a/lib/DBIx/Class/Storage/DBI/Replicated/Replicant.pm +++ b/lib/DBIx/Class/Storage/DBI/Replicated/Replicant.pm @@ -1,16 +1,15 @@ package DBIx::Class::Storage::DBI::Replicated::Replicant; -use Moose; -extends 'DBIx::Class::Storage::DBI', 'Moose::Object'; +use Moose::Role; +requires qw/_query_start/; =head1 NAME -DBIx::Class::Storage::DBI::Replicated::Replicant; A replicated DBI Storage +DBIx::Class::Storage::DBI::Replicated::Replicant - A replicated DBI Storage Role =head1 SYNOPSIS -This class is used internally by L. You -shouldn't need to create instances of this class. +This class is used internally by L. =head1 DESCRIPTION @@ -42,11 +41,11 @@ 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, ); =head1 METHODS @@ -60,34 +59,24 @@ advice iof the _query_start method to add more debuggin =cut around '_query_start' => sub { - my ($method, $self, $sql, @bind) = @_; - my $dsn = $self->connect_info->[0]; - $self->$method("DSN: $dsn SQL: $sql", @bind); + my ($method, $self, $sql, @bind) = @_; + my $dsn = $self->_dbi_connect_info->[0]; + $self->$method("DSN: $dsn SQL: $sql", @bind); }; -=head2 is_replicating +=head2 debugobj -A boolean that reports if a particular L is set to -replicate from a master database. Default is false, which is the result -returned by databases that don't support replication. +Override the debugobj method to redirect this method call back to the master. =cut -sub is_replicating { - my $self = shift @_; +sub debugobj { + return shift->schema->storage->debugobj; } -=head2 lag_behind_master +=head1 ALSO SEE -Returns a number that represents a certain amount of lag behind a master db -when a given storage is replicating. The number is database dependent, but -starts at zero, which is the default, and increases with the amount of lag. - -=cut - -sub lag_behind_master { - my $self = shift @_; -} +L<http://en.wikipedia.org/wiki/Replicant> =head1 AUTHOR