Commit fce3b962 authored by mkanat%bugzilla.org's avatar mkanat%bugzilla.org

Bug 374012: Use transactions inside of Bugzilla::Object

Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=LpSolit
parent 0eb69c79
......@@ -171,6 +171,8 @@ sub update {
my $table = $self->DB_TABLE;
my $id_field = $self->ID_FIELD;
$dbh->bz_start_transaction();
my $old_self = $self->new($self->id);
my (@update_columns, @values, %changes);
......@@ -199,6 +201,8 @@ sub update {
$dbh->do("UPDATE $table SET $columns WHERE $id_field = ?", undef,
@values, $self->id) if @values;
$dbh->bz_commit_transaction();
return \%changes;
}
......@@ -210,9 +214,13 @@ sub create {
my ($class, $params) = @_;
my $dbh = Bugzilla->dbh;
$dbh->bz_start_transaction();
$class->check_required_create_fields($params);
my $field_values = $class->run_create_validators($params);
return $class->insert_create_data($field_values);
my $object = $class->insert_create_data($field_values);
$dbh->bz_commit_transaction();
return $object;
}
sub check_required_create_fields {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment