Switch from Clone::Fast to Storable dclone for deep copy

This commit is contained in:
Gryphon Shafer
2013-06-10 16:48:21 -07:00
parent e371953544
commit e7764f004b
3 changed files with 14 additions and 6 deletions

View File

@@ -2,3 +2,6 @@ Revision history for SQL::Abstract::Complete
1.01 Sat Feb 23 16:25:56 PST 2013 1.01 Sat Feb 23 16:25:56 PST 2013
First version, released on an unsuspecting world. First version, released on an unsuspecting world.
1.03 Mon Jun 10 16:49:35 PDT 2013
Switch from Clone::Fast to Storable dclone for deep copy

View File

@@ -14,7 +14,7 @@ WriteMakefile(
PREREQ_PM => { PREREQ_PM => {
'Test::More' => 0, 'Test::More' => 0,
'SQL::Abstract' => 1.5, 'SQL::Abstract' => 1.5,
'Clone::Fast' => 0, 'Storable' => 0,
}, },
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', }, dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
clean => { FILES => 'SQL-Abstract-Complete-*' }, clean => { FILES => 'SQL-Abstract-Complete-*' },

View File

@@ -2,11 +2,11 @@ package SQL::Abstract::Complete;
use strict; use strict;
use warnings; use warnings;
use SQL::Abstract 1.5; use SQL::Abstract 1.5;
use Clone::Fast 'clone'; use Storable 'dclone';
use vars '@ISA'; use vars '@ISA';
@ISA = 'SQL::Abstract'; @ISA = 'SQL::Abstract';
our $VERSION = '1.01'; our $VERSION = '1.03';
sub new { sub new {
my $self = shift; my $self = shift;
@@ -31,7 +31,7 @@ sub _sqlcase {
sub select { sub select {
my ( $self, $tables, $columns, $where, $meta ) = @_; my ( $self, $tables, $columns, $where, $meta ) = @_;
$columns = ['*'] unless ( $columns and @{$columns} > 0 ); $columns = ['*'] unless ( $columns and @{$columns} > 0 );
$tables = clone($tables); $tables = dclone($tables) if ( ref $tables );
my $columns_sql = $self->_sqlcase('select') . ' ' . _wipe_space( my $columns_sql = $self->_sqlcase('select') . ' ' . _wipe_space(
( ref($columns) eq 'SCALAR' ) ? ${$columns} : ( ref($columns) eq 'SCALAR' ) ? ${$columns} :
@@ -46,7 +46,10 @@ sub select {
my $core_table; my $core_table;
my $tables_sql = join( my $tables_sql = join(
$self->{'part_join'}, $self->{'part_join'},
map { _wipe_space( join( ' ', $self->_sqlcase( shift( @{$_} ) ), @{$_} ) ) } ( map { _wipe_space( join( ' ',
$self->_sqlcase( shift( @{$_} ) ),
grep { defined } @{$_} )
) } (
( ref($tables) eq 'SCALAR' ) ? [ undef, ${$tables} ] : ( ref($tables) eq 'SCALAR' ) ? [ undef, ${$tables} ] :
( not ref($tables) ) ? [ 'from', $self->_quote($tables) ] : ( not ref($tables) ) ? [ 'from', $self->_quote($tables) ] :
map { map {
@@ -324,7 +327,9 @@ L<SQL::Abstract>, L<DBIx::Class>, L<DBIx::Abstract>.
=head1 AUTHOR =head1 AUTHOR
Gryphon Shafer, E<lt>gryphon@cpan.orgE<gt> Gryphon Shafer E<lt>gryphon@cpan.orgE<gt>.
code('Perl') || die;
=head1 LICENSE =head1 LICENSE