testbot/lib: Avoid calling DBIBackEnd::GetDb() unnecessarily.

Francois Gouget fgouget at codeweavers.com
Mon Oct 29 09:39:47 CDT 2012


These calls are a bit more expensive now that they verify that the connection is still live. So SaveCollection() should really call it only once.
---
 testbot/lib/ObjectModel/DBIBackEnd.pm |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/testbot/lib/ObjectModel/DBIBackEnd.pm b/testbot/lib/ObjectModel/DBIBackEnd.pm
index 72ff3c5..8af9c8b 100644
--- a/testbot/lib/ObjectModel/DBIBackEnd.pm
+++ b/testbot/lib/ObjectModel/DBIBackEnd.pm
@@ -434,16 +434,17 @@ sub SaveCollection
   my $self = shift;
   my $Collection = shift;
 
+  my $Db = $self->GetDb();
   my ($MasterColNames, $MasterColValues) = $Collection->GetMasterCols();
   my $UpdateQuery = $self->BuildUpdateStatement($Collection->GetTableName(),
                                                 $Collection->GetPropertyDescriptors(),
                                                 $MasterColNames);
-  my $UpdateStatement = $self->GetDb()->prepare($UpdateQuery);
+  my $UpdateStatement = $Db->prepare($UpdateQuery);
 
   my $InsertQuery = $self->BuildInsertStatement($Collection->GetTableName(),
                                                 $Collection->GetPropertyDescriptors(),
                                                 $MasterColNames);
-  my $InsertStatement = $self->GetDb()->prepare($InsertQuery);
+  my $InsertStatement = $Db->prepare($InsertQuery);
 
   foreach my $Key (@{$Collection->GetKeysNoLoad()})
   {
@@ -465,7 +466,7 @@ sub SaveCollection
             die "Sequence property spans multiple columns";
           }
 
-          $Item->PutColValue(@{$ColNames}[0], $self->GetDb()->{'mysql_insertid'});
+          $Item->PutColValue(@{$ColNames}[0], $Db->{'mysql_insertid'});
           $Collection->KeyChanged($Key, $Item->GetKey());
         }
       }
-- 
1.7.10.4




More information about the wine-patches mailing list