X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FCDBICompat%2FColumnGroups.pm;h=fc9ece35b2fbf270402ee5b9fd492d0cd1538bb3;hb=103647d504eeadac7d179057e9f4d5eda0cd7c1b;hp=ed5a967c80a15eba6f310cc27c4dc526d9bfa43a;hpb=510ca9120ab2fea50a0852ee4ed6a13735ed7ebc;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/CDBICompat/ColumnGroups.pm b/lib/DBIx/Class/CDBICompat/ColumnGroups.pm index ed5a967..fc9ece3 100644 --- a/lib/DBIx/Class/CDBICompat/ColumnGroups.pm +++ b/lib/DBIx/Class/CDBICompat/ColumnGroups.pm @@ -26,26 +26,31 @@ sub _add_column_group { sub _register_column_group { my ($class, $group, @cols) = @_; + + my $groups = { %{$class->_column_groups} }; + if ($group eq 'Primary') { $class->set_primary_key(@cols); + $groups->{'Essential'}{$_} ||= {} for @cols; } - my $groups = { %{$class->_column_groups} }; - if ($group eq 'All') { unless (exists $class->_column_groups->{'Primary'}) { $groups->{'Primary'}{$cols[0]} = {}; $class->set_primary_key($cols[0]); } unless (exists $class->_column_groups->{'Essential'}) { + #$class->_register_column_group('Essential' => $cols[0]); $groups->{'Essential'}{$cols[0]} = {}; + #$groups->{'Essential'}{$_} ||= {} for keys %{ $class->_primaries || {} }; } } $groups->{$group}{$_} ||= {} for @cols; - if ($group eq 'Essential') { - $groups->{$group}{$_} ||= {} for keys %{ $class->_primaries || {} }; - } + #if ($group eq 'Essential') { + # $groups->{$group}{$_} ||= {} for keys %{ $class->_primaries || {} }; + #} + $class->_column_groups($groups); } @@ -53,13 +58,13 @@ sub all_columns { return keys %{$_[0]->_columns}; } sub primary_column { my ($class) = @_; - my @pri = keys %{$class->_primaries}; + my @pri = $class->primary_columns; return wantarray ? @pri : $pri[0]; } sub find_column { my ($class, $col) = @_; - return $col if $class->_columns->{$col}; + return $col if $class->has_column($col); } sub __grouper {