package LIMS::Local::DBIxSimple; # sub-classes DBIx::Simple to dump query statements to output use strict; use warnings; use parent 'DBIx::Simple'; use Data::Dumper; sub query { my $self = shift; my $query = shift; my @bind = @_; # try to emulate output of Rose::DB::Object::QueryBuilder : { my $key_words = join '|', qw(select from where join date_sub curdate interval); $query =~ s/\b($key_words)\b/uc $1/eg; $query =~ s/(SELECT)(?!\n)/$1\n /; $query =~ s/(FROM)(?!\n)/\n$1\n /g; $query =~ s/(WHERE)(?!\n)/\n$1\n /g; # SORT|(GROUP BY)/ $query =~ s/\t/ /g; # leading tab -> 2 spaces } warn "$query (", join(', ', @bind), ")\n\n"; # modified from RDBO $self->SUPER::query($query, @bind); } 1;