[PATCH] testbot: Check $Item->{IsNew} before $Item->{IsModified}.

Francois Gouget fgouget at codeweavers.com
Sat Apr 21 13:02:58 CDT 2018


After creating a new item one normally modifies a number of fields. So
check whether the item is new before assuming we simply need to update it
just because IsModified is true.

Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---
 testbot/lib/ObjectModel/DBIBackEnd.pm | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/testbot/lib/ObjectModel/DBIBackEnd.pm b/testbot/lib/ObjectModel/DBIBackEnd.pm
index 40bfe85f7..ec1b45037 100644
--- a/testbot/lib/ObjectModel/DBIBackEnd.pm
+++ b/testbot/lib/ObjectModel/DBIBackEnd.pm
@@ -515,26 +515,18 @@ sub SaveItem($$)
 {
   my ($self, $Item) = @_;
 
-  my $Query;
-  my ($MasterColNames, $MasterColValues) = $Item->GetMasterCols();
-  if ($Item->GetIsModified())
-  {
-    $Query = $self->BuildUpdateStatement($Item->GetTableName(),
-                                         $Item->GetPropertyDescriptors(),
-                                         $MasterColNames);
-  }
-  elsif ($Item->GetIsNew())
+  if ($Item->GetIsNew())
   {
     die "Internal error: Need to save new items via collection";
   }
-  else
-  {
-    return;
-  }
+  if (!$Item->GetIsModified());
 
+  my ($MasterColNames, $MasterColValues) = $Item->GetMasterCols();
+  my $Query = $self->BuildUpdateStatement($Item->GetTableName(),
+                                          $Item->GetPropertyDescriptors(),
+                                          $MasterColNames);
   my $Statement = $self->GetDb()->prepare($Query);
   $Statement->execute(@{$self->GetUpdateData($MasterColValues, $Item)});
-
   $Statement->finish();
 }
 
-- 
2.17.0



More information about the wine-devel mailing list