changed the way transactions are detected for replication to work with the standard...
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Storage / DBI / Replicated / WithDSN.pm
1 package DBIx::Class::Storage::DBI::Replicated::WithDSN;
2
3 use Moose::Role;
4 requires qw/_query_start/;
5
6 use namespace::clean -except => 'meta';
7
8 =head1 NAME
9
10 DBIx::Class::Storage::DBI::Replicated::WithDSN - A DBI Storage Role with DSN
11 information in trace output
12
13 =head1 SYNOPSIS
14
15 This class is used internally by L<DBIx::Class::Storage::DBI::Replicated>.
16     
17 =head1 DESCRIPTION
18
19 This role adds C<DSN: > info to storage debugging output.
20
21 =head1 METHODS
22
23 This class defines the following methods.
24
25 =head2 around: _query_start
26
27 Add C<DSN: > to debugging output.
28
29 =cut
30
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+) (.+)$/);
35   $self->$method("$op [DSN=$dsn] $rest", @bind);
36 };
37
38 =head1 ALSO SEE
39
40 L<DBIx::Class::Storage::DBI>
41
42 =head1 AUTHOR
43
44 John Napiorkowski <john.napiorkowski@takkle.com>
45
46 =head1 LICENSE
47
48 You may distribute this code under the same terms as Perl itself.
49
50 =cut
51
52 1;