added common BackupPC::Search::host_backup_nums
[BackupPC.git] / bin / BackupPC_ASA_PostArchive_Update
index 445a171..757c93d 100755 (executable)
@@ -80,21 +80,22 @@ sub get_backup_id($$) {
        my $key = "$host $num";
        return $hsn_cache->{$key} if ($hsn_cache->{$key});
 
+       # all backup parts will be attached to first share in backups
        my $sth = $dbh->prepare(qq{
                SELECT 
-                       backups.id
+                       min(backups.id)
                FROM backups 
                INNER JOIN shares       ON backups.shareID=shares.ID
                INNER JOIN hosts        ON backups.hostID = hosts.ID
                WHERE hosts.name = ? and backups.num = ?
        });
        $sth->execute($host, $num);
-       die "can't find backup $host:$num" unless $sth->rows;
+       die "can't find backup $host:$num" unless $sth->rows == 1;
        my ($id) = $sth->fetchrow_array;
 
-       $hsn_cache->{"$host $num"} = $id;
+       $hsn_cache->{$key} = $id;
 
-       print STDERR "# $host $num == $id\n" if $opt->debug;
+       print STDERR "# $key == $id\n" if $opt->debug;
 
        return $id;
 }
@@ -402,6 +403,8 @@ sub check_archive {
 
 #----- main
 
+exit unless $opt->host;
+
 foreach ( 0 .. $#{ $opt->host } ) {
 
        my $host = lc $opt->host->[$_];