use strict;
use warnings;

# per-Cursor wrapper object to cache and access SQL later
package DBIx::Class::RowCountStatistics::Storage;
use Class::Method::Modifiers;

sub new {
    my ($class, $original) = @_;
    return bless {
        original => $original,
    }, $class;
}

sub _cached_sql {
    my ($self) = @_;
    return $self->{cached_sql};
}

sub throw_exception {
    my $self = shift;
    return $self->{original}->throw_exception(@_);
}

sub _select {
    my $self = shift;
    my @res = $self->{original}->_select(@_);
    $self->{cached_sql} = $res[1]{Statement};
    return @res;
}

sub debug {
    my $self = shift;
    return $self->{original}->debug(@_);
}

sub debugobj {
    my $self = shift;
    return $self->{original}->debugobj(@_);
}

1;
