IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 6, 2014, 11:48:53 AM (12 years ago)
Author:
eugene
Message:

merging changes from trunk

Location:
branches/eam_branches/ipp-20131211
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20131211

  • branches/eam_branches/ipp-20131211/tools/neb_rawOTA_host_scan.pl

    r36337 r36480  
    2121    ) or die "Unable to connect to database $DBI::errstr\n";
    2222
    23 my ($host,$min_ins_id,$verbose,$limit,$continue);
     23my ($host,$min_ins_id,$verbose,$limit,$continue,$alt,$vol_label);
    2424$min_ins_id = 0;
    2525$verbose = 0;
    2626$limit = 10000;
    2727$continue = 0;
     28$alt = 0;
     29$vol_label = 0;
    2830
    2931GetOptions(
     
    3335    'limit|l=s'     => \$limit,
    3436    'continue|c'    => \$continue,
     37    'alternate|a'   => \$alt,
     38    'vol_label|L=s'   => \$vol_label,
    3539    ) or pod2usage( 2 );
    3640pod2usage( -msg => "Unknown option: @ARGV", -exitval => 2 ) if @ARGV;
     
    3943    defined($host);
    4044
    41 my $volume = $host . ".0";
     45my $volume = $host . "." . $vol_label;
    4246my $rr;
    4347
     
    5054my $vol_id = shift( @{ ${ $r_vol }[0] });
    5155
     56# Get max ins_id
     57my $max_id_sth = "SELECT ins_id FROM instance WHERE vol_id = $vol_id ORDER BY ins_id DESC limit 1";
     58my $r_max_id   = $db->selectall_arrayref( $max_id_sth );
     59unless (defined(${ $r_max_id }[0])) {
     60    die "Cannot find max_id";
     61}
     62my $max_ins_id = shift( @{ ${ $r_max_id }[0] });
     63
    5264if ($verbose) {
    53     print "$host $volume $vol_id $min_ins_id\n";
     65    print "$host $volume $vol_id $min_ins_id $max_ins_id\n";
    5466}
    5567
     
    7082my $number = 0;
    7183do {
    72     my $ins_id_sth = "SELECT ins_id,so_id,uri FROM instance WHERE vol_id = ${vol_id} AND ins_id > $min_ins_id LIMIT $limit";
     84    my $ins_id_sth = "SELECT ins_id,so_id,uri FROM instance WHERE vol_id = ${vol_id} AND ins_id > $min_ins_id AND ins_id <= $max_ins_id  LIMIT $limit";
     85    if ($alt) {
     86        $ins_id_sth = "SELECT ins_id,so_id,uri,vol_id FROM instance WHERE ins_id > $min_ins_id AND ins_id <= $max_ins_id  LIMIT $limit";
     87    }
    7388    my $r_ins      = $db->selectall_arrayref( $ins_id_sth );
    74     my $last_ins_id = 0;
     89    my $last_ins_id = $max_ins_id;
    7590    $number = 0;
    7691    foreach $rr (@{ $r_ins }) {
    77         my ($ins_id,$so_id,$uri) = @{ $rr };
     92        my ($ins_id,$so_id,$uri,$v_id) = @{ $rr };
    7893        if ($verbose) {
    7994#       print ("  $ins_id $so_id $uri\n");
     
    8196        $number++;
    8297        $last_ins_id = $ins_id;
     98        if ($alt) {
     99            if ($v_id != $vol_id) { next; }
     100        }
    83101        if ($uri !~ /ota...fits/) { next; }
    84102        my $have_b_node = 0;
     
    138156        $min_ins_id = $last_ins_id;
    139157    }
    140 } while ($continue && $number != 0);
     158} while (($continue && $number != 0) || ($min_ins_id < $max_ins_id));
Note: See TracChangeset for help on using the changeset viewer.