1 package DBIx::Class::Storage::Statistics;
5 use base qw/Class::Accessor::Grouped/;
7 __PACKAGE__->mk_group_accessors(simple => qw/callback debugfh/);
11 DBIx::Class::Storage::Statistics - SQL Statistics
17 This class is called by DBIx::Class::Storage::DBI as a means of collecting
18 statistics on it's actions. Using this class alone merely prints the SQL
19 executed, the fact that it completes and begin/end notification for
22 To really use this class you should subclass it and create your own method
23 for collecting the statistics as discussed in L<DBIx::Class::Manual::Cookbook>.
31 Returns a new L<DBIx::Class::Storage::Statistics> object.
36 bless $self, (ref($_[0]) || $_[0]);
43 Sets or retrieves the filehandle used for trace/debug output. This should
44 be an IO::Handle compatible object (only the C<print> method is used). Initially
45 should be set to STDERR - although see information on the
46 L<DBIC_TRACE> environment variable.
50 Called when a transaction begins.
56 $self->debugfh->print("BEGIN WORK\n");
61 Called when a transaction is rolled back.
67 $self->debugfh->print("ROLLBACK\n");
72 Called when a transaction is committed.
78 $self->debugfh->print("COMMIT\n");
83 Called before a query is executed. The first argument is the SQL string being
84 executed and subsequent arguments are the parameters used for the query.
88 my ($self, $string, @bind) = @_;
90 my $message = "$string: ".join(', ', @bind)."\n";
92 if(defined($self->callback)) {
94 $self->callback->($1, $message);
98 $self->debugfh->print($message);
103 Called when a query finishes executing. Has the same arguments as query_start.
107 my ($self, $string) = @_;
114 Cory G. Watson <gphat@cpan.org>
118 You may distribute this code under the same license as Perl itself.