X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FCDBICompat%2FColumnGroups.pm;h=f9dd69d61868302ebe7bfc6d5ba15de867a5bbd9;hb=219dd7c7cc546f9929991e62f072e682b2abd5dc;hp=530aaac8cb20b2fc5a3db191f4f8cbc2c59cfb7a;hpb=8eae3205913692e5828b2d82b26ac73236d28682;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/CDBICompat/ColumnGroups.pm b/lib/DBIx/Class/CDBICompat/ColumnGroups.pm index 530aaac..f9dd69d 100644 --- a/lib/DBIx/Class/CDBICompat/ColumnGroups.pm +++ b/lib/DBIx/Class/CDBICompat/ColumnGroups.pm @@ -4,6 +4,8 @@ package # hide from PAUSE use strict; use warnings; +use Storable 'dclone'; + use base qw/DBIx::Class::Row/; __PACKAGE__->mk_classdata('_column_groups' => { }); @@ -29,7 +31,9 @@ sub _add_column_group { sub _register_column_group { my ($class, $group, @cols) = @_; - my $groups = { %{$class->_column_groups} }; + # Must do a complete deep copy else column groups + # might accidentally be shared. + my $groups = dclone $class->_column_groups; if ($group eq 'Primary') { $class->set_primary_key(@cols);