sub new {
my ($class, $storage, $args, $attrs) = @_;
- #use Data::Dumper; warn Dumper(@_);
$class = ref $class if ref $class;
+
my $new = {
storage => $storage,
args => $args,
=head2 as_query
+=over 4
+
+=item Arguments: none
+
+=item Return Value: \[ $sql, @bind ]
+
+=back
+
Returns the SQL statement and bind vars associated with the invocant.
=cut
my @args = $storage->_select_args(@{$self->{args}});
my ($sql, $bind) = $storage->_prep_for_execute(@args[0 .. 2], [@args[4 .. $#args]]);
- return [ $sql, @$bind ];
+ return \[ "($sql)", @{ $bind || [] }];
}
=head2 next
my ($self) = @_;
if ($self->{attrs}{software_limit}
&& ($self->{attrs}{offset} || $self->{attrs}{rows})) {
- return $self->SUPER::all;
+ return $self->next::method;
}
$self->{storage}->dbh_do($self->can('_dbh_all'), $self);
}