X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FStatistics.pm;h=6852cd84ca2fbd6ea7120a915ac3c88c401c1df1;hb=ad630f4b838ba86747733a3b75a5936b52a4d217;hp=1ecf1fce77c6cdf05d75a292e480e39349688ed8;hpb=adb3554a3f72bf9c9b267c5eb84a8401da64bf37;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/Statistics.pm b/lib/DBIx/Class/Storage/Statistics.pm index 1ecf1fc..6852cd8 100644 --- a/lib/DBIx/Class/Storage/Statistics.pm +++ b/lib/DBIx/Class/Storage/Statistics.pm @@ -2,10 +2,10 @@ package DBIx::Class::Storage::Statistics; use strict; use warnings; -use base qw/Class::Accessor::Grouped/; +use base qw/DBIx::Class/; use IO::File; -__PACKAGE__->mk_group_accessors(simple => qw/callback debugfh/); +__PACKAGE__->mk_group_accessors(simple => qw/callback debugfh silence/); =head1 NAME @@ -16,7 +16,7 @@ DBIx::Class::Storage::Statistics - SQL Statistics =head1 DESCRIPTION This class is called by DBIx::Class::Storage::DBI as a means of collecting -statistics on it's actions. Using this class alone merely prints the SQL +statistics on its actions. Using this class alone merely prints the SQL executed, the fact that it completes and begin/end notification for transactions. @@ -56,6 +56,8 @@ to display the message. sub print { my ($self, $msg) = @_; + return if $self->silence; + if(!defined($self->debugfh())) { my $fh; my $debug_env = $ENV{DBIX_CLASS_STORAGE_DBI_DEBUG} @@ -75,6 +77,10 @@ sub print { $self->debugfh->print($msg); } +=head2 silence + +Turn off all output if set to true. + =head2 txn_begin Called when a transaction begins. @@ -83,6 +89,8 @@ Called when a transaction begins. sub txn_begin { my $self = shift; + return if $self->callback; + $self->print("BEGIN WORK\n"); } @@ -94,6 +102,8 @@ Called when a transaction is rolled back. sub txn_rollback { my $self = shift; + return if $self->callback; + $self->print("ROLLBACK\n"); } @@ -105,6 +115,8 @@ Called when a transaction is committed. sub txn_commit { my $self = shift; + return if $self->callback; + $self->print("COMMIT\n"); } @@ -116,6 +128,8 @@ Called when a savepoint is created. sub svp_begin { my ($self, $name) = @_; + return if $self->callback; + $self->print("SAVEPOINT $name\n"); } @@ -124,10 +138,12 @@ sub svp_begin { Called when a savepoint is released. =cut -sub svn_release { +sub svp_release { my ($self, $name) = @_; - $self->print("RELEASE SAVEPOINT $name\n"); + return if $self->callback; + + $self->print("RELEASE SAVEPOINT $name\n"); } =head2 svp_rollback @@ -138,7 +154,9 @@ Called when rolling back to a savepoint. sub svp_rollback { my ($self, $name) = @_; - $self->print("ROLLBACK TO SAVEPOINT $name\n"); + return if $self->callback; + + $self->print("ROLLBACK TO SAVEPOINT $name\n"); } =head2 query_start