Merge the last bits of indirect callchain optimization
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / GetSet.pm
index a11baeb..e948048 100644 (file)
@@ -4,7 +4,7 @@ package # hide from PAUSE
 use strict;
 use warnings;
 
-#use base qw/Class::Accessor/;
+use base 'DBIx::Class';
 
 sub get {
   my ($self, @cols) = @_;
@@ -21,7 +21,11 @@ sub set {
   # set_columns() is going to do a string comparison before setting.
   # This breaks on DateTime objects (whose comparison is arguably broken)
   # so we stringify anything first.
-  $data{$_} = "$data{$_}" for keys %data;
+  for my $key (keys %data) {
+    next unless ref $data{$key};
+    $data{$key} = "$data{$key}";
+  }
+
   return shift->set_columns(\%data);
 }