sub move_to_group {
my( $self, $to_group, $to_position ) = @_;
- $self->throw_exception ('move_to_group() expects a group specification')
- unless defined $to_group;
-
- # if we're given a string, turn it into a hashref
+ # if we're given a single value, turn it into a hashref
unless (ref $to_group eq 'HASH') {
my @gcols = $self->_grouping_columns;
my @original_values = $cursor->next;
$self->set_inflated_columns ({ %values, map { $_ => shift @original_values } (@dirty_cols) });
+ delete $self->{_dirty_columns}{$_} for (@dirty_cols);
}
if ($self->_is_in_group ($to_group) ) {
# these steps are necessary to keep the external appearance of
# ->update($upd) so that other things overloading update() will
# work properly
- my %original_values = $self->get_inflated_columns;
+ my %original_values = $self->get_columns;
my %existing_changes = $self->get_dirty_columns;
# See if any of the *supplied* changes would affect the ordering