Entscheidung, welche acc_trans-Einträge aktualisiert werden müssen, anhand acc_trans_...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 4 Jan 2011 16:05:21 +0000 (17:05 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 4 Jan 2011 16:05:21 +0000 (17:05 +0100)
Werden mehrere Einträge mit derselben acc_trans_id gefunden, so darf
der erste Eintrag nicht aktualisiert werden, aber die restlichen
schon.

sql/Pg-upgrade2/acc_trans_id_uniqueness.pl

index 9c0c459..1b8e5ca 100644 (file)
@@ -47,10 +47,10 @@ SQL
 
   do_query($query, 0);
 
-  my %entries_by_trans_id;
+  my %skipped_acc_trans_ids;
   foreach my $entry (@entries) {
-    if (!$entries_by_trans_id{ $entry->{trans_id} }) {
-      $entries_by_trans_id{ $entry->{trans_id} } = [];
+    if (!$skipped_acc_trans_ids{ $entry->{acc_trans_id} }) {
+      $skipped_acc_trans_ids{ $entry->{acc_trans_id} } = 1;
     } else {
       my $mtime = $entry->{mtime} ? "= '$entry->{mtime}'" : 'IS NULL';
       $query    = <<SQL;