Added t/09update.t from Alexander Hartmeier and changes to pass it
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Table.pm
index d8b6658..4163480 100644 (file)
@@ -127,8 +127,9 @@ sub get_column {
 sub set_column {
   my $self = shift;
   my ($column) = @_;
+  my $old = $self->get_column($column);
   my $ret = $self->store_column(@_);
-  $self->{_dirty_columns}{$column} = 1;
+  $self->{_dirty_columns}{$column} = 1 unless defined $old && $old eq $ret;
   return $ret;
 }
 
@@ -251,6 +252,10 @@ sub retrieve_all {
   return $class->retrieve_from_sql( '1' );
 }
 
+sub is_changed {
+  return keys %{shift->{_dirty_columns} || {}};
+}
+
 1;
 
 =back