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;