1 package DBIx::Class::Storage::DBI::Replicated::WithDSN;
4 requires qw/_query_start/;
6 use namespace::clean -except => 'meta';
10 DBIx::Class::Storage::DBI::Replicated::WithDSN - A DBI Storage Role with DSN
11 information in trace output
15 This class is used internally by L<DBIx::Class::Storage::DBI::Replicated>.
19 This role adds C<DSN: > info to storage debugging output.
23 This class defines the following methods.
25 =head2 around: _query_start
27 Add C<DSN: > to debugging output.
31 around '_query_start' => sub {
32 my ($method, $self, $sql, @bind) = @_;
33 my $dsn = $self->_dbi_connect_info->[0];
34 my($op, $rest) = (($sql=~m/^(\w+)(.+)$/),'NOP', 'NO SQL');
35 my $storage_type = $self->can('active') ? 'REPLICANT' : 'MASTER';
37 $self->$method("$op [DSN_$storage_type=$dsn]$rest", @bind);
42 L<DBIx::Class::Storage::DBI>
46 John Napiorkowski <john.napiorkowski@takkle.com>
50 You may distribute this code under the same terms as Perl itself.