IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 31040


Ignore:
Timestamp:
Mar 24, 2011, 3:24:32 PM (15 years ago)
Author:
watersc1
Message:

Merge from trunk. Implement psDB NaN fix, summit_id addition, pxSetFaultCode to set quality.

Location:
tags/ipp-20110218
Files:
63 edited

Legend:

Unmodified
Added
Removed
  • tags/ipp-20110218/dbconfig

  • tags/ipp-20110218/dbconfig/changes.txt

    • Property svn:mergeinfo deleted
    r30970 r31040  
    20072007
    20082008ALTER TABLE stackSumSkyfile ADD column dtime_convolve FLOAT AFTER dtime_match_stdev;
     2009
     2010-- Version 1.1.69
     2011
     2012ALTER TABLE summitImfile DROP FOREIGN KEY summitImfile_ibfk_1;
     2013ALTER TABLE pzDownloadExp DROP FOREIGN KEY pzDownloadExp_ibfk_1;
     2014
     2015ALTER TABLE summitExp DROP PRIMARY KEY;
     2016ALTER TABLE summitExp ADD COLUMN summit_id BIGINT NOT NULL AUTO_INCREMENT FIRST,  ADD PRIMARY KEY (summit_id);
     2017ALTER TABLE summitExp ADD KEY (exp_name,camera,telescope);
     2018
     2019
     2020ALTER TABLE pzDownloadImfile DROP FOREIGN KEY pzDownloadImfile_ibfk_2;
     2021
     2022ALTER TABLE summitImfile ADD COLUMN summit_id BIGINT FIRST;
     2023UPDATE summitImfile,summitExp SET summitImfile.summit_id = summitExp.summit_id WHERE summitImfile.exp_name = summitExp.exp_name AND summitImfile.camera = summitExp.camera AND summitImfile.telescope = summitExp.telescope;
     2024
     2025ALTER TABLE summitImfile DROP PRIMARY KEY, ADD PRIMARY KEY (summit_id,class,class_id);
     2026ALTER TABLE summitImfile ADD KEY (exp_name,camera,telescope,class,class_id);
     2027ALTER TABLE summitImfile ADD FOREIGN KEY(summit_id) REFERENCES summitExp(summit_id);
     2028ALTER TABLE summitImfile ADD FOREIGN KEY(exp_name,camera,telescope) REFERENCES summitExp(exp_name,camera,telescope);
     2029
     2030
     2031ALTER TABLE pzDownloadImfile DROP FOREIGN KEY pzDownloadImfile_ibfk_1;
     2032
     2033ALTER TABLE pzDownloadExp ADD COLUMN summit_id BIGINT FIRST;
     2034UPDATE pzDownloadExp,summitExp SET pzDownloadExp.summit_id = summitExp.summit_id WHERE pzDownloadExp.exp_name = summitExp.exp_name AND pzDownloadExp.camera = summitExp.camera AND pzDownloadExp.telescope = summitExp.telescope;
     2035
     2036ALTER TABLE pzDownloadExp DROP PRIMARY KEY, ADD PRIMARY KEY (summit_id);
     2037ALTER TABLE pzDownloadExp ADD KEY (exp_name,camera,telescope);
     2038ALTER TABLE pzDownloadExp ADD FOREIGN KEY(summit_id) REFERENCES summitExp(summit_id);
     2039ALTER TABLE pzDownloadExp ADD FOREIGN KEY(exp_name,camera,telescope) REFERENCES summitExp(exp_name,camera,telescope);
     2040
     2041
     2042ALTER TABLE pzDownloadImfile ADD COLUMN summit_id BIGINT FIRST;
     2043UPDATE pzDownloadImfile,pzDownloadExp SET pzDownloadImfile.summit_id = pzDownloadExp.summit_id WHERE pzDownloadImfile.exp_name = pzDownloadExp.exp_name AND pzDownloadImfile.camera = pzDownloadExp.camera AND pzDownloadImfile.telescope = pzDownloadExp.telescope;
     2044
     2045ALTER TABLE pzDownloadImfile DROP PRIMARY KEY, ADD PRIMARY KEY (summit_id,class,class_id);
     2046ALTER TABLE pzDownloadImfile ADD FOREIGN KEY(summit_id) REFERENCES pzDownloadExp(summit_id);
     2047ALTER TABLE pzDownloadImfile ADD FOREIGN KEY(summit_id,class,class_id) REFERENCES summitImfile(summit_id,class,class_id);
     2048ALTER TABLE pzDownloadImfile ADD FOREIGN KEY(exp_name,camera,telescope) REFERENCES summitExp(exp_name,camera,telescope);
     2049ALTER TABLE pzDownloadImfile ADD FOREIGN KEY(exp_name,camera,telescope,class,class_id) REFERENCES summitImfile(exp_name,camera,telescope,class,class_id);
     2050
     2051
     2052ALTER TABLE newExp ADD COLUMN summit_id BIGINT AFTER exp_id;
     2053UPDATE newExp,pzDownloadExp SET newExp.summit_id = pzDownloadExp.summit_id WHERE newExp.tmp_exp_name = pzDownloadExp.exp_name AND newExp.tmp_camera = pzDownloadExp.camera AND newExp.tmp_telescope = pzDownloadExp.telescope;
     2054
     2055ALTER TABLE newExp ADD KEY (summit_id);
     2056
     2057
     2058UPDATE dbversion set schema_version = '1.1.69', updated= CURRENT_TIMESTAMP();
     2059
     2060
  • tags/ipp-20110218/dbconfig/minidvodb.md

    • Property svn:mergeinfo deleted
  • tags/ipp-20110218/dbconfig/new.md

    r25418 r31040  
    11newExp METADATA
    22    exp_id      S64         0       # Primary Key AUTO_INCREMENT
     3    summit_id   S64         0       # Key
    34    tmp_exp_name STR        64      # Key
    45    tmp_camera    STR       64      # Key
  • tags/ipp-20110218/dbconfig/summitcopy.md

    r26378 r31040  
    1111# -1 as NULL or 0 might be a valid value (empty fileset)
    1212summitExp METADATA
    13     exp_name    STR         64      # Primary Key
    14     camera      STR         64      # Primary Key
    15     telescope   STR         64      # Primary Key
     13    summit_id   S64         0       # Primary Key AUTO_INCREMENT
     14    exp_name    STR         64      # Key
     15    camera      STR         64      # Key
     16    telescope   STR         64      # Key
    1617    dateobs     UTC         NULL
    1718    exp_type    STR         64
     
    2627# list of source images -- updated as exposures/filesets are queried
    2728summitImfile METADATA
    28     exp_name    STR         64      # Primary Key fkey(exp_name, camera, telescope) ref summitExp(exp_name, camera, telescope)
    29     camera      STR         64      # Primary Key
    30     telescope   STR         64      # Primary Key
     29    summit_id   S64         0       # Primary Key fkey(summit_id) ref summitExp(summit_id)
     30    exp_name    STR         64      # Key fkey(exp_name, camera, telescope) ref summitExp(exp_name, camera, telescope)
     31    camera      STR         64      # Key
     32    telescope   STR         64      # Key
    3133    file_id     STR         64      # Key
    3234    bytes       S32         0
     
    4143# downloaded)
    4244pzDownloadExp METADATA
    43     exp_name    STR         64      # Primary Key fkey(exp_name, camera, telescope) ref summitExp(exp_name, camera, telescope)
    44     camera      STR         64      # Primary Key
    45     telescope   STR         64      # Primary Key
     45    summit_id   S64         0       # Primary Key fkey(summit_id) ref summitExp(summit_id)
     46    exp_name    STR         64      # Key fkey(exp_name, camera, telescope) ref summitExp(exp_name, camera, telescope)
     47    camera      STR         64      # Key
     48    telescope   STR         64      # Key
    4649    state       STR         64      # Key
    4750    epoch       UTC         0001-01-01T00:00:00Z
     
    4952
    5053pzDownloadImfile METADATA
    51     exp_name    STR         64      # Primary Key fkey(exp_name, camera, telescope) ref pzDownloadExp(exp_name, camera, telescope)
    52     camera      STR         64      # Primary Key fkey(exp_name, camera, telescope, class, class_id) ref summitImfile(exp_name, camera, telescope, class, class_id)
    53     telescope   STR         64      # Primary Key
    54     class       STR         64      # Primary Key
     54    summit_id   S64         0       # Primary Key fkey(summit_id) ref pzDownloadExp(summit_id)
     55    exp_name    STR         64      # Key fkey(exp_name, camera, telescope) ref pzDownloadExp(exp_name, camera, telescope)
     56    camera      STR         64      # Key fkey(exp_name, camera, telescope, class, class_id) ref summitImfile(exp_name, camera, telescope, class, class_id)
     57    telescope   STR         64      # Key fkey(exp_name, camera, telescope) ref summitExp(exp_name, camera, telescope)
     58    class       STR         64      # Primary Key fkey(summit_id,class,class_id) ref summitImfile(summit_id,class,class_id)
    5559    class_id    STR         64      # Primary Key
    5660    uri         STR         255
  • tags/ipp-20110218/ippScripts/scripts

  • tags/ipp-20110218/ippScripts/scripts/diff_skycell.pl

    • Property svn:mergeinfo deleted
  • tags/ipp-20110218/ippScripts/scripts/dist_bundle.pl

    • Property svn:mergeinfo deleted
  • tags/ipp-20110218/ippScripts/scripts/dist_component.pl

    • Property svn:mergeinfo deleted
  • tags/ipp-20110218/ippScripts/scripts/ipp_apply_burntool_single.pl

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • tags/ipp-20110218/ippScripts/scripts/ipp_cleanup.pl

    • Property svn:mergeinfo deleted
    r30925 r31040  
    19041904
    19051905    foreach my $file (@$files) {
    1906         print STDERR "unlinking $stage $stage_id $file";
     1906        print STDERR "unlinking $stage $stage_id $file\n";
    19071907
    19081908        my $error_code = $ipprc->kill_file($file);
  • tags/ipp-20110218/ippScripts/scripts/magic_destreak_cleanup.pl

    • Property svn:mergeinfo deleted
  • tags/ipp-20110218/ippScripts/scripts/magic_destreak_revert.pl

    • Property svn:mergeinfo deleted
  • tags/ipp-20110218/ippScripts/scripts/minidvodb_merge.pl

    • Property svn:mergeinfo deleted
    r30970 r31040  
    148148                &my_die("Unable to perform dvoverify: $error_code", $mergedvodb, $error_code);
    149149            }
    150             $dtime_dvoverify = 86400.0*(DateTime->now->mjd - $mjd_dvoverify_start);   # MJD of starting script
    151             print "dvoverify time $dtime_dvoverify\n";
     150            $dtime_verify = 86400.0*(DateTime->now->mjd - $mjd_dvoverify_start);   # MJD of starting script
     151            print "dvoverify time $dtime_verify\n";
    152152        }
    153153
     
    232232            $command .= " -dtime_merge $dtime_merge" if defined $dtime_merge;
    233233            $command .= " -dtime_script $dtime_script" if defined $dtime_script;
    234             $command .= " -dtime_verify $dtime_dvoverify" if defined $dtime_dvoverify;
     234            $command .= " -dtime_verify $dtime_verify" if defined $dtime_verify;
    235235            $command .= " -dbname $dbname" if defined $dbname;
    236236            #print $command;
     
    273273        $command .= " -dtime_merge $dtime_merge" if defined $dtime_merge;
    274274    $command .= " -dtime_script $dtime_script" if defined $dtime_script;
    275     $command .= " -dtime_verify $dtime_dvoverify" if defined $dtime_dvoverify;
     275    $command .= " -dtime_verify $dtime_verify" if defined $dtime_verify;
    276276        $command .= " -dbname $dbname" if defined $dbname;
    277277
  • tags/ipp-20110218/ippScripts/scripts/register_imfile.pl

    r30711 r31040  
    267267
    268268if ((abs($burntoolStateCurrent) != $burntoolStateTarget)&&
    269     (!is_daytime($dateobs,$sunrise,$sunset))) {
     269    (!is_daytime($dateobs,$sunrise,$sunset))&&
     270    (!is_ccim($exp_name,$exp_type))) {
    270271    my $mdcParser  = PS::IPP::Metadata::Config->new;
    271272
  • tags/ipp-20110218/ippScripts/scripts/summit_copy.pl

    r25418 r31040  
    2222
    2323# Parse the command-line arguments
    24 my ( $uri, $filename, $compress, $bytes, $md5, $nebulous, $exp_name, $inst, $telescope, $class, $class_id,
     24my ( $uri, $filename, $compress, $bytes, $md5, $nebulous, $summit_id, $exp_name, $inst, $telescope, $class, $class_id,
    2525     $dbname, $verbose, $no_update, $no_op, $timeout, $copies );
    2626GetOptions(
     
    3131       'md5=s'          => \$md5,       # reported md5 checksum
    3232       'nebulous'       => \$nebulous,  # use nebulous for the target file
     33       'summit_id=s'    => \$summit_id, # summit_id for this exposure
    3334       'exp_name=s'     => \$exp_name,  # Exposure name
    3435       'inst=s'         => \$inst,      # Instrument
     
    4546
    4647pod2usage( -msg => "Unknown option: @ARGV", -exitval => 2 ) if @ARGV;
    47 pod2usage( -msg => "Required options: --uri --filename --exp_name --inst --telescope --class --class_id",
     48pod2usage( -msg => "Required options: --uri --filename --summit_id --exp_name --inst --telescope --class --class_id",
    4849       -exitval => 3)
    4950    unless defined $uri
    5051    and defined $filename
     52    and defined $summit_id
    5153    and defined $exp_name
    5254    and defined $inst
     
    110112$command  = "$pztool -copydone";
    111113$command .= " -row_lock";
     114$command .= " -summit_id $summit_id";
    112115$command .= " -exp_name $exp_name";
    113116$command .= " -inst $inst";
     
    236239        my $command;
    237240        $command  = "$pztool -copydone";
     241        $command .= " -summit_id $summit_id";
    238242        $command .= " -exp_name $exp_name";
    239243        $command .= " -inst $inst";
     
    246250
    247251        system ($command);
     252
     253        if ($exit_code == 110) {
     254            $command = "$pztool -updatepzexp";
     255            $command .= " -exp_name $exp_name";
     256            $command .= " -camera $inst";
     257            $command .= " -telescope $telescope";
     258            $command .= " -set_state drop";
     259            $command .= " -dbname $dbname" if defined $dbname;
     260
     261            system ($command);
     262        }
     263
    248264    }
    249265
  • tags/ipp-20110218/ippTasks

  • tags/ipp-20110218/ippTasks/destreak.pro

    • Property svn:mergeinfo deleted
    r30757 r31040  
    113113
    114114  task.exec
     115    # we check twice in case an entry has been removed from DS_STAGE
     116    if ($magicDSStage >= $DS_STAGE:n) set magicDSStage = 0
     117
    115118    $run = magicdstool -todestreak -stage $DS_STAGE:$magicDSStage
    116119    $magicDSStage ++
  • tags/ipp-20110218/ippTasks/dist.pro

    • Property svn:mergeinfo deleted
  • tags/ipp-20110218/ippTasks/pstamp.pro

    • Property svn:mergeinfo deleted
  • tags/ipp-20110218/ippTasks/summit.copy.pro

    r27895 r31040  
    429429        book getword pzPendingImfile $pageName md5sum    -var MD5SUM
    430430        book getword pzPendingImfile $pageName dateobs   -var DATEOBS
     431        book getword pzPendingImfile $pageName summit_id -var SUMMIT_ID
    431432        book getword pzPendingImfile $pageName exp_name  -var EXP_NAME
    432433        book getword pzPendingImfile $pageName camera    -var CAMERA
     
    479480        end
    480481
    481         $run = summit_copy.pl --uri $URI --filename $FILENAME --exp_name $EXP_NAME --inst $CAMERA --telescope $TELESCOPE --class $CLASS --class_id $CLASS_ID --bytes $BYTES --md5 $MD5SUM --dbname $DBNAME --timeout 600 --verbose --copies 2
     482        $run = summit_copy.pl --uri $URI --filename $FILENAME --summit_id $SUMMIT_ID --exp_name $EXP_NAME --inst $CAMERA --telescope $TELESCOPE --class $CLASS --class_id $CLASS_ID --bytes $BYTES --md5 $MD5SUM --dbname $DBNAME --timeout 600 --verbose --copies 2
    482483        if ($USECOMPRESS == 1)
    483484            $run = $run --compress
     
    625626        book setword pzPendingAdvance $pageName pantaskState RUN
    626627
     628        book getword pzPendingAdvance $pageName summit_id -var SUMMIT_ID
    627629        book getword pzPendingAdvance $pageName exp_name  -var EXP_NAME
    628630        book getword pzPendingAdvance $pageName camera    -var CAMERA
  • tags/ipp-20110218/ippTools/share

  • tags/ipp-20110218/ippTools/share/magicdstool_todestreak_raw.sql

    • Property svn:mergeinfo deleted
  • tags/ipp-20110218/ippTools/share/pstamptool_pendingdependent.sql

    r29564 r31040  
    11SELECT DISTINCT
    22    pstampDependent.*,
     3    concat( pstampDependent.outdir, '/checkdep.', dep_id, '.log') as logfile,
    34    IFNULL(Label.priority, 10000) AS priority
    45FROM pstampDependent
  • tags/ipp-20110218/ippTools/share/pxadmin_create_tables.sql

    r30946 r31040  
    1414
    1515CREATE TABLE summitExp (
     16    summit_id BIGINT NOT NULL AUTO_INCREMENT,
    1617    exp_name VARCHAR(64),
    1718    camera VARCHAR(64),
     
    2324    fault SMALLINT NOT NULL,
    2425    epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    25     PRIMARY KEY(exp_name, camera, telescope),
     26    PRIMARY KEY(summit_id),
     27    KEY(exp_name, camera, telescope),
    2628    KEY(fault)
    2729) ENGINE=innodb DEFAULT CHARSET=latin1;
    2830
    2931CREATE TABLE summitImfile (
     32    summit_id BIGINT,
    3033    exp_name VARCHAR(64),
    3134    camera VARCHAR(64),
     
    3841    uri VARCHAR(255),
    3942    epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    40     PRIMARY KEY(exp_name, camera, telescope, class, class_id),
     43    PRIMARY KEY(summit_id, class, class_id),
     44    KEY(exp_name, camera, telescope, class, class_id),
    4145    KEY(file_id),
     46    FOREIGN KEY(summit_id) REFERENCES summitExp(summit_id),
    4247    FOREIGN KEY(exp_name, camera, telescope) REFERENCES summitExp(exp_name, camera, telescope)
    4348) ENGINE=innodb DEFAULT CHARSET=latin1;
    4449
    4550CREATE TABLE pzDownloadExp (
     51    summit_id BIGINT,
    4652    exp_name VARCHAR(64),
    4753    camera VARCHAR(64),
     
    4955    state VARCHAR(64),
    5056    epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    51     PRIMARY KEY(exp_name, camera, telescope),
     57    PRIMARY KEY(summit_id),
     58    KEY(exp_name, camera, telescope),
    5259    KEY(state),
     60    FOREIGN KEY(summit_id) REFERENCES summitExp(summit_id),
    5361    FOREIGN KEY(exp_name, camera, telescope) REFERENCES summitExp(exp_name, camera, telescope)
    5462) ENGINE=innodb DEFAULT CHARSET=latin1;
    5563
    5664CREATE TABLE pzDownloadImfile (
     65    summit_id BIGINT,
    5766    exp_name VARCHAR(64),
    5867    camera VARCHAR(64),
     
    6675    bytes INT,
    6776    md5sum VARCHAR(32),
    68     PRIMARY KEY(exp_name, camera, telescope, class, class_id),
    69     KEY(fault),
     77    PRIMARY KEY(summit_id, class, class_id),
     78    KEY(exp_name, camera, telescope, class, class_id),
     79    KEY(fault),
     80    FOREIGN KEY(summit_id) REFERENCES pzDownloadExp(summit_id),
     81    FOREIGN KEY(summit_id, class, class_id) REFERENCES summitImfile(summit_id, class, class_id),
    7082    FOREIGN KEY (exp_name, camera, telescope) REFERENCES pzDownloadExp(exp_name, camera, telescope),
    7183    FOREIGN KEY(exp_name, camera, telescope, class, class_id) REFERENCES summitImfile(exp_name, camera, telescope, class, class_id)
     
    7486CREATE TABLE newExp (
    7587    exp_id BIGINT AUTO_INCREMENT,
     88    summit_id BIGINT,
    7689    tmp_exp_name VARCHAR(64),
    7790    tmp_camera VARCHAR(64),
     
    88101    PRIMARY KEY(exp_id),
    89102    KEY(exp_id),
     103    KEY(summit_id),
    90104    KEY(tmp_exp_name),
    91105    KEY(tmp_camera),
  • tags/ipp-20110218/ippTools/share/pztool_find_completed_exp.sql

    r23643 r31040  
    11SELECT DISTINCT
     2    summit_id,
    23    exp_name,
    34    camera,
     
    1314    FROM pzDownloadExp
    1415    JOIN summitExp
    15         USING(exp_name, camera, telescope)
     16        USING(summit_id)
    1617    LEFT JOIN pzDownloadImfile
    17         USING(exp_name, camera, telescope)
     18        USING(summit_id)
    1819    LEFT JOIN newExp
    19         ON pzDownloadExp.exp_name = newExp.tmp_exp_name
    20         AND pzDownloadExp.camera = newExp.tmp_camera
    21         AND pzDownloadExp.telescope = newExp.tmp_telescope
     20        USING(summit_id)
    2221    WHERE
    2322        pzDownloadExp.state = 'run'
     23        AND newExp.summit_id IS NULL
    2424        AND newExp.tmp_exp_name IS NULL
    2525        AND newExp.tmp_camera IS NULL
    2626        AND newExp.tmp_telescope IS NULL
    2727    GROUP BY
    28         pzDownloadExp.exp_name,
    29         pzDownloadExp.camera,
    30         pzDownloadExp.telescope
     28        pzDownloadExp.summit_id,
    3129    -- it doesn't matter which field in pzDownloadImfile we count as we've
    3230    -- already Download a group by
  • tags/ipp-20110218/ippTools/share/pztool_pendingimfile.sql

    r18305 r31040  
    66    FROM summitImfile
    77    JOIN pzDownloadExp
    8         USING(exp_name, camera, telescope)
     8        USING(summit_id)
    99    LEFT JOIN pzDownloadImfile
    10         USING(exp_name, camera, telescope, class, class_id)
     10        USING(summit_id, class, class_id)
    1111    JOIN summitExp
    12         USING(exp_name, camera, telescope)
     12        USING(summit_id)
    1313    WHERE
    1414        pzDownloadExp.state = 'run'
     15        AND pzDownloadImfile.summit_id IS NULL
    1516        AND pzDownloadImfile.exp_name IS NULL
    1617        AND pzDownloadImfile.camera IS NULL
  • tags/ipp-20110218/ippTools/share/regtool_checkburntoolimfile.sql

    r30283 r31040  
    2121       FROM
    2222       summitExp
    23        JOIN summitImfile USING(exp_name)
    24        LEFT JOIN pzDownloadExp USING(exp_name)
    25        LEFT JOIN newExp ON summitExp.exp_name = tmp_exp_name
     23       JOIN summitImfile USING(summit_id)
     24       LEFT JOIN pzDownloadExp USING(summit_id)
     25       LEFT JOIN newExp USING(summit_id)
    2626       LEFT JOIN newImfile ON (summitImfile.class_id = newImfile.tmp_class_id AND newExp.exp_id = newImfile.exp_id)
    2727       LEFT JOIN rawExp ON rawExp.exp_id = newExp.exp_id
  • tags/ipp-20110218/ippTools/share/regtool_checkstatus.sql

    r30998 r31040  
    2020        (rawImfile.burntool_state IS NOT NULL) AS is_registered
    2121        FROM        summitExp
    22         JOIN summitImfile USING(exp_name)
    23         LEFT JOIN pzDownloadExp USING(exp_name)
    24         LEFT JOIN newExp ON summitExp.exp_name = tmp_exp_name
     22        JOIN summitImfile USING(summit_id)
     23        LEFT JOIN pzDownloadExp USING(summit_id)
     24        LEFT JOIN newExp USING(summit_id)
    2525        LEFT JOIN newImfile ON (summitImfile.class_id = newImfile.tmp_class_id AND newExp.exp_id = newImfile.exp_id)
    2626        LEFT JOIN rawExp ON rawExp.exp_id = newExp.exp_id
  • tags/ipp-20110218/ippTools/share/regtool_pendingburntoolimfile.sql

    r30283 r31040  
    2222       FROM
    2323       summitExp
    24        JOIN summitImfile USING(exp_name)
    25        LEFT JOIN pzDownloadExp USING(exp_name)
    26        LEFT JOIN newExp ON summitExp.exp_name = tmp_exp_name
     24       JOIN summitImfile USING(summit_id)
     25       LEFT JOIN pzDownloadExp USING(summit_id)
     26       LEFT JOIN newExp USING(summit_id)
    2727       LEFT JOIN newImfile ON (summitImfile.class_id = newImfile.tmp_class_id AND newExp.exp_id = newImfile.exp_id)
    2828       LEFT JOIN rawExp ON rawExp.exp_id = newExp.exp_id
  • tags/ipp-20110218/ippTools/share/warptool_scmap.sql

    • Property svn:mergeinfo deleted
  • tags/ipp-20110218/ippTools/src

  • tags/ipp-20110218/ippTools/src/addtool.c

    • Property svn:mergeinfo changed (with no actual effect on merging)
    r30970 r31040  
    684684    PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false);
    685685
    686     if (!pxSetFaultCode(config->dbh, "addProcessedExp", where, fault)) {
     686    if (!pxSetFaultCode(config->dbh, "addProcessedExp", where, fault, 0)) {
    687687        psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
    688688        psFree (where);
  • tags/ipp-20110218/ippTools/src/addtoolConfig.c

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • tags/ipp-20110218/ippTools/src/camtool.c

    r30732 r31040  
    983983
    984984    PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false);
     985    PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", false, false);
    985986
    986987    psMetadata *where = psMetadataAlloc();
     
    990991    PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "==");
    991992
    992     if (!pxSetFaultCode(config->dbh, "camProcessedExp", where, fault)) {
     993    if (!pxSetFaultCode(config->dbh, "camProcessedExp", where, fault, quality)) {
    993994        psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
    994995        psFree (where);
  • tags/ipp-20110218/ippTools/src/camtoolConfig.c

    r29902 r31040  
    8686    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_dist_group", 0,   "define new dist_group", NULL);
    8787    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_note", 0,         "define new note", NULL);
     88    pxmagicAddArguments(updaterunArgs);
    8889
    8990    // -pendingexp
     
    243244    psMetadataAddStr(updateprocessedexpArgs, PS_LIST_TAIL, "-class_id",  0,            "search by class ID", NULL);
    244245    psMetadataAddS16(updateprocessedexpArgs, PS_LIST_TAIL, "-fault",  0,            "set fault code (required)", INT16_MAX);
     246    psMetadataAddS16(updateprocessedexpArgs, PS_LIST_TAIL, "-set_quality",  0,            "set quality", 0);
    245247
    246248    // -block
     
    299301    PXOPT_ADD_MODE("-addprocessedexp",      "add a processed exposure",             CAMTOOL_MODE_ADDPROCESSEDEXP, addprocessedexpArgs);
    300302    PXOPT_ADD_MODE("-processedexp",         "show processed exposures",             CAMTOOL_MODE_PROCESSEDEXP,  processedexpArgs);
    301     PXOPT_ADD_MODE("-revertprocessedexp",   "change procesed exp properties",       CAMTOOL_MODE_REVERTPROCESSEDEXP,  revertprocessedexpArgs);
    302     PXOPT_ADD_MODE("-updateprocessedexp",   "undo a processed exposure",            CAMTOOL_MODE_UPDATEPROCESSEDEXP,updateprocessedexpArgs);
     303    PXOPT_ADD_MODE("-revertprocessedexp",   "undo a processed exposure",       CAMTOOL_MODE_REVERTPROCESSEDEXP,  revertprocessedexpArgs);
     304    PXOPT_ADD_MODE("-updateprocessedexp",   "changed processed exp properties",            CAMTOOL_MODE_UPDATEPROCESSEDEXP,updateprocessedexpArgs);
    303305    PXOPT_ADD_MODE("-block",                "set a label block",                    CAMTOOL_MODE_BLOCK,         blockArgs);
    304306    PXOPT_ADD_MODE("-masked",               "show blocked labels",                  CAMTOOL_MODE_MASKED,        maskedArgs);
  • tags/ipp-20110218/ippTools/src/chiptool.c

    r30732 r31040  
    963963    if (!state) {
    964964      PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false);
    965 
    966       if (!pxSetFaultCode(config->dbh, "chipProcessedImfile", where, fault)) {
     965      PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", false, false);
     966
     967      if (!pxSetFaultCode(config->dbh, "chipProcessedImfile", where, fault, quality)) {
    967968        psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
    968969        return false;
  • tags/ipp-20110218/ippTools/src/chiptoolConfig.c

    r30732 r31040  
    235235    psMetadataAddS16(updateprocessedimfileArgs, PS_LIST_TAIL, "-fault",  0,            "set fault code (required)", 0);
    236236    psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-set_state", 0,         "set state", NULL);
    237 
     237    psMetadataAddS16(updateprocessedimfileArgs, PS_LIST_TAIL, "-set_quality",  0,            "set quality", 0);
    238238    // -processedExp
    239239    psMetadata *listrunArgs = psMetadataAlloc();
  • tags/ipp-20110218/ippTools/src/dettool.c

    r29923 r31040  
    13141314    PS_ASSERT_PTR_NON_NULL(config, false);
    13151315
     1316    bool updating = false;
     1317    long rows = 0;
     1318    psMetadata *where = psMetadataAlloc();
    13161319    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required
     1320
    13171321    PXOPT_LOOKUP_BOOL(again, config->args, "-again", false);
    13181322    PXOPT_LOOKUP_STR(state, config->args, "-state", false, false);
    13191323
     1324    PXOPT_COPY_S64(config->args, where, "-det_id", "det_id", "==");
     1325
     1326    psMetadata *values = psMetadataAlloc();
     1327    PXOPT_LOOKUP_TIME(time_begin, config->args, "-set_time_begin", false, false);
     1328    if (time_begin) {
     1329      updating = true;
     1330      PXOPT_COPY_TIME(config->args, values,       "-set_time_begin", "time_begin", "==");
     1331    }
     1332    PXOPT_LOOKUP_TIME(time_end,   config->args, "-set_time_end",   false, false);
     1333    if (time_end) {
     1334      updating = true;
     1335      PXOPT_COPY_TIME(config->args,   values,       "-set_time_end",   "time_end", "==");
     1336    }   
     1337    PXOPT_LOOKUP_TIME(use_begin,  config->args, "-set_use_begin",  false, false);
     1338    if (use_begin) {
     1339      updating = true;
     1340      PXOPT_COPY_TIME(config->args,  values,       "-set_use_begin",  "use_begin", "==");
     1341    }
     1342    PXOPT_LOOKUP_TIME(use_end,    config->args, "-set_use_end",    false, false);
     1343    if (use_end) {
     1344      updating = true;
     1345      PXOPT_COPY_TIME(config->args,    values,       "-set_use_end",    "use_end", "==");
     1346    }
     1347    if (state) {
     1348      updating = true;
     1349      if (!isValidDetRunState (state)) return false;
     1350      PXOPT_COPY_STR(config->args,     values,       "-state",        "state", "==");
     1351    }
     1352
     1353
    13201354    // either -rerun or -state must be specified
    1321     if (!(again || state)) {
    1322         psError(PS_ERR_UNKNOWN, true, "either -again or -state must be specified");
    1323         return false;
    1324     }
    1325     if (again && state) {
    1326         psError(PS_ERR_UNKNOWN, true, "-accept and -reject are exclusive");
    1327         return false;
    1328     }
    1329 
    1330     if (state) {
    1331         // set detRun.state to state
    1332         return setDetRunState(config, det_id, state);
     1355    if (!(again || updating)) {
     1356        psError(PS_ERR_UNKNOWN, true, "either -again or update parameters must be specified");
     1357        return false;
     1358    }
     1359    if (again && updating) {
     1360        psError(PS_ERR_UNKNOWN, true, "-again and update parameters are exclusive");
     1361        return false;
     1362    }
     1363
     1364    if (updating) {
     1365      rows = psDBUpdateRows(config->dbh,"detRun",where,values);
     1366      if (rows) {
     1367        return(true);
     1368      }
     1369      else {
     1370        return(false);
     1371      }
    13331372    }
    13341373
  • tags/ipp-20110218/ippTools/src/dettoolConfig.c

    r29923 r31040  
    848848    psMetadataAddBool(updatedetrunArgs, PS_LIST_TAIL, "-again",  0,            "start a new iteration of this detrend run", false);
    849849    psMetadataAddStr(updatedetrunArgs, PS_LIST_TAIL, "-state",  0,            "set the state of this detrend run", false);
     850    psMetadataAddTime(updatedetrunArgs, PS_LIST_TAIL, "-set_time_begin",  0,            "start of period to apply detrend too", NULL);
     851    psMetadataAddTime(updatedetrunArgs, PS_LIST_TAIL, "-set_time_end",  0,            "end of period to apply detrend too", NULL);
     852    psMetadataAddTime(updatedetrunArgs, PS_LIST_TAIL, "-set_use_begin",  0,            "start of detrend run applicable period", NULL);
     853    psMetadataAddTime(updatedetrunArgs, PS_LIST_TAIL, "-set_use_end",  0,            "end of detrend run applicable period", NULL);
    850854
    851855    // -rerun
  • tags/ipp-20110218/ippTools/src/difftool.c

    r30732 r31040  
    26812681
    26822682    PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false);
     2683    PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", false, false);
    26832684
    26842685    psMetadata *where = psMetadataAlloc();
     
    26862687    PXOPT_COPY_STR(config->args, where, "-skycell_id", "skycell_id",   "==");
    26872688
    2688     if (!pxSetFaultCode(config->dbh, "diffSkyfile", where, fault)) {
     2689    if (!pxSetFaultCode(config->dbh, "diffSkyfile", where, fault, quality)) {
    26892690        psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
    26902691        psFree (where);
  • tags/ipp-20110218/ippTools/src/difftoolConfig.c

    r30732 r31040  
    411411    psMetadata *updatediffskyfileArgs = psMetadataAlloc();
    412412    psMetadataAddS64(updatediffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,      "define diff ID (required)", 0);
     413    psMetadataAddStr(updatediffskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0,   "search by skycell ID", NULL);
    413414    psMetadataAddS16(updatediffskyfileArgs, PS_LIST_TAIL, "-fault", 0,        "set fault code (required)", 0);
    414     psMetadataAddStr(updatediffskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0,   "search by skycell ID", NULL);
     415    psMetadataAddS16(updatediffskyfileArgs, PS_LIST_TAIL, "-set_quality", 0,      "set quality", 0);
    415416
    416417    // -tocleanedskyfile
  • tags/ipp-20110218/ippTools/src/disttool.c

    r30551 r31040  
    141141    PXOPT_LOOKUP_BOOL(use_alternate, config->args, "-use_alternate", false);
    142142    PXOPT_LOOKUP_BOOL(no_magic, config->args, "-no_magic", false);
     143    PXOPT_LOOKUP_BOOL(i_am_sure, config->args, "-i_am_sure", false);
    143144    PXOPT_LOOKUP_STR(set_label, config->args, "-set_label", false, false);
    144145    PXOPT_LOOKUP_STR(set_data_group, config->args, "-set_data_group", false, false);
     
    150151    PXOPT_LOOKUP_BOOL(pretend, config->args, "-pretend", false);
    151152
     153    // select arguments
     154    psMetadata *where = psMetadataAlloc();
     155
     156    PXOPT_COPY_S64(config->args, where, "-target_id", "distTarget.target_id",    "==");
     157    PXOPT_COPY_S64(config->args, where, "-exp_id",    "rawExp.exp_id",           "==");
     158    PXOPT_COPY_S64(config->args, where, "-chip_id",   "chipRun.chip_id",         "==");
     159    PXOPT_COPY_STR(config->args, where, "-exp_type", "exp_type", "==");;
     160    PXOPT_COPY_STR(config->args, where, "-dist_group", "distTarget.dist_group", "==");;
     161
     162    PXOPT_LOOKUP_STR(label, config->args, "-label", false, false);
     163    PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", false, false);
     164    PXOPT_LOOKUP_STR(exp_type, config->args, "-exp_type", false, false);
     165    PXOPT_LOOKUP_STR(dist_group, config->args, "-dist_group", false, false);
     166
     167    // queuing no_magic runs can be quite dangerous. Require confirmation
     168    if (no_magic && !pretend && !i_am_sure) {
     169        psError(PXTOOLS_ERR_SYS, true, "-i_am_sure required to queue no_magic distribution runs");
     170        return false;
     171    }
     172   
    152173    if (use_alternate) {
    153174        if (strcmp(stage, "raw")) {
     
    161182    }
    162183
    163     // select arguments
    164     psMetadata *where = psMetadataAlloc();
    165 
    166     PXOPT_COPY_S64(config->args, where, "-target_id", "distTarget.target_id",    "==");
    167     PXOPT_COPY_S64(config->args, where, "-exp_id",    "rawExp.exp_id",           "==");
    168     PXOPT_COPY_S64(config->args, where, "-chip_id",   "chipRun.chip_id",         "==");
    169 
    170     PXOPT_LOOKUP_STR(label, config->args, "-label", false, false);
    171     PXOPT_LOOKUP_STR(dist_group, config->args, "-dist_group", false, false);
     184    // We want to possible to distribute unmagicked raw exposures for the purpose
     185    // of distributing detrend inputs
     186    // To make it less likely that unmagicked raw stage exposures from being distributed
     187    // accidentally we require that dist_group (to select target and destination with
     188    // an interest)
     189    // and exp_id to be supplied. We could add -exp_type and dateobs cuts to make it easier
     190    if (!strcmp(stage, "raw") && no_magic && !(exp_id && dist_group && exp_type)) {
     191        psError(PXTOOLS_ERR_SYS, true, "exp_id, exp_type, and dist_group are required for raw stage if no_magic");
     192        return false;
     193    }
     194
    172195
    173196    psString query = NULL;
     
    182205            runJoinStr = "camRun.exp_id";
    183206        }
    184         query = pxDataGet("disttool_definebyquery_raw.sql");
     207        if (!no_magic) {
     208            query = pxDataGet("disttool_definebyquery_raw.sql");
     209        } else {
     210            query = pxDataGet("disttool_definebyquery_raw_no_magic.sql");
     211        }
    185212        if (!query) {
    186213            psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     
    189216        }
    190217
    191         // for raw stage we select by camRun.label and dist_group because rawExp doesn't have those columns
    192         if (label) {
    193             psStringAppend(&query, " AND (magicDSRun.label = '%s')", label);
    194         }
    195         if (dist_group) {
    196             psStringAppend(&query, " AND (camRun.dist_group = '%s')", dist_group);
     218        if (!no_magic) {
     219            if (label) {
     220                psStringAppend(&query, " AND (magicDSRun.label = '%s')", label);
     221            }
     222            // for raw stage we select by camRun.label and dist_group because rawExp
     223            // doesn't have those columns
     224            if (dist_group) {
     225                psStringAppend(&query, " AND (camRun.dist_group = '%s')", dist_group);
     226            }
    197227        }
    198228    } else if (!strcmp(stage, "chip")) {
  • tags/ipp-20110218/ippTools/src/disttoolConfig.c

    r30551 r31040  
    4949
    5050    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-no_magic", 0, "magic is not needed", false);
     51    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-i_am_sure", 0, "confirmation needed when -no_magic is supplied", false);
    5152    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-use_alternate", 0, "use alternate inputs", false);
    5253    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_label",    0, "define label for run", NULL);
     
    5758
    5859    // select args
    59     psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-target_id",     0, "define target_id", 0);
    60     psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-exp_id",        0, "define exp_id", 0);
    61     psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-chip_id",       0, "define chip_id", 0);
     60    psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-target_id",     0, "select by target_id", 0);
     61    psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-exp_id",        0, "select by exp_id", 0);
     62    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-exp_type",      0, "select by exp_type", NULL);
     63    psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-chip_id",       0, "select by chip_id", 0);
    6264    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-label",         0, "select by run label", NULL);
    6365    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-dist_group",    0, "select by dist_group", NULL);
  • tags/ipp-20110218/ippTools/src/faketool.c

    r30732 r31040  
    706706    PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "==");
    707707
    708     if (!pxSetFaultCode(config->dbh, "fakeProcessedImfile", where, fault)) {
     708    if (!pxSetFaultCode(config->dbh, "fakeProcessedImfile", where, fault, 0)) {
    709709        psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
    710710        psFree(where);
  • tags/ipp-20110218/ippTools/src/magicdstool.c

    • Property svn:mergeinfo deleted
    r30732 r31040  
    602602
    603603    psMetadata *where = psMetadataAlloc();
    604     PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
     604    PXOPT_COPY_STR(config->args, where, "-label", "label", "LIKE");
    605605    PXOPT_COPY_S64(config->args, where, "-stage_id", "stage_id", "==");
    606606    PXOPT_COPY_STR(config->args, where, "-stage", "stage", "==");
  • tags/ipp-20110218/ippTools/src/magicdstoolConfig.c

    r30313 r31040  
    106106    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-state",     0, "define state", NULL);
    107107    psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-stage_id", 0, "define stage_id", 0);
    108     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-label",     0, "define label", NULL);
     108    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-label",     0, "define label (LIKE) comparison", NULL);
    109109    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-data_group",     0, "data_group (LIKE) comparision", NULL);
    110110    psMetadataAddBool(updaterunArgs, PS_LIST_TAIL, "-noreplace", 0, "only update runs with replace not set", false);
  • tags/ipp-20110218/ippTools/src/pubtool.c

    r30376 r31040  
    3737static bool addMode(pxConfig *config);
    3838static bool revertMode(pxConfig *config);
     39static bool updaterunMode(pxConfig *config);
    3940
    4041# define MODECASE(caseName, func) \
     
    6364        MODECASE(PUBTOOL_MODE_ADD, addMode);
    6465        MODECASE(PUBTOOL_MODE_REVERT, revertMode);
     66        MODECASE(PUBTOOL_MODE_UPDATERUN, updaterunMode);
    6567      default:
    6668        psAbort("invalid option (this should not happen)");
     
    459461}
    460462
     463static bool updaterunMode(pxConfig *config)
     464{
     465    PS_ASSERT_PTR_NON_NULL(config, false);
     466
     467    psMetadata *where = psMetadataAlloc(); // WHERE conditions
     468    PXOPT_COPY_S64(config->args, where, "-pub_id", "pub_id", "==");
     469    PXOPT_COPY_S64(config->args, where, "-client_id", "client_id", "==");
     470    PXOPT_COPY_STR(config->args, where, "-state", "state", "==");
     471    PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
     472    PXOPT_COPY_STR(config->args, where, "-fault", "fault", "==");
     473
     474    PXOPT_LOOKUP_STR(state, config->args, "-set_state",  true, false);
     475
     476    psString query = NULL;              // Query to run
     477    psStringAppend(&query, "UPDATE publishRun LEFT JOIN publishDone using(pub_id) SET state = '%s'", state);
     478
     479    if (psListLength(where->list)) {
     480        psString clause = psDBGenerateWhereConditionSQL(where, NULL);
     481        psStringAppend(&query, "\n WHERE %s", clause);
     482        psFree(clause);
     483    } else {
     484        psError(PS_ERR_UNKNOWN, false, "select arguments are required");
     485        return false;
     486    }
     487    psFree(where);
     488
     489    if (!p_psDBRunQuery(config->dbh, query)) {
     490        psError(PS_ERR_UNKNOWN, false, "Database error");
     491        psFree(query);
     492        return false;
     493    }
     494    psFree(query);
     495
     496    long numUpdated = psDBAffectedRows(config->dbh);
     497    psLogMsg("pubtool", PS_LOG_INFO, "%ld rows updated.", numUpdated);
     498
     499    return true;
     500}
  • tags/ipp-20110218/ippTools/src/pubtool.h

    r25929 r31040  
    3131    PUBTOOL_MODE_ADD,
    3232    PUBTOOL_MODE_REVERT,
     33    PUBTOOL_MODE_UPDATERUN,
    3334} pubtoolMode;
    3435
  • tags/ipp-20110218/ippTools/src/pubtoolConfig.c

    r30376 r31040  
    102102    psMetadataAddStr(revertArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search on label", NULL);
    103103
     104    // -updaterun
     105    psMetadata *updaterunArgs = psMetadataAlloc();
     106    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_state", 0, "new value for state (required)", NULL);
     107    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-state", 0, "search by state", NULL);
     108    psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-pub_id", 0, "search on pub_id", 0);
     109    psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-client_id", 0, "search on client_id", 0);
     110    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-label", 0, "search by label", NULL);
     111    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-fault", 0, "search by fault", NULL);
     112
    104113
    105114    psMetadata *argSets = psMetadataAlloc();
     
    112121    PXOPT_ADD_MODE("-add", "", PUBTOOL_MODE_ADD, addArgs);
    113122    PXOPT_ADD_MODE("-revert", "", PUBTOOL_MODE_REVERT, revertArgs);
     123    PXOPT_ADD_MODE("-updaterun", "", PUBTOOL_MODE_UPDATERUN, updaterunArgs);
    114124
    115125    if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
  • tags/ipp-20110218/ippTools/src/pxfault.c

    r13580 r31040  
    2626#include "pxtools.h"
    2727
    28 bool pxSetFaultCode(psDB *dbh, const char *tableName, psMetadata *where, psS16 code)
     28bool pxSetFaultCode(psDB *dbh, const char *tableName, psMetadata *where, psS16 code, psS16 quality)
    2929{
    3030    PS_ASSERT_PTR_NON_NULL(dbh, false);
     
    4848        return false;
    4949    }
     50    if (quality) {
     51        if (!psMetadataAddS16(values, PS_LIST_HEAD, "quality", 0, NULL, quality)) {
     52            psError(PS_ERR_UNKNOWN, false, "failed to add metadata item quality");
     53            psFree(values);
     54            return false;
     55        }
     56    }
    5057
    5158    long rowsAffected = psDBUpdateRows(dbh, tableName, where, values);
  • tags/ipp-20110218/ippTools/src/pxinject.c

    r25418 r31040  
    9292    if (!newExpInsert(config->dbh,
    9393                0,    // exp_id
     94                0, // summit_id
    9495                tmp_exp_name,
    9596                tmp_camera,
  • tags/ipp-20110218/ippTools/src/pxtools.h

    r30732 r31040  
    7575bool pxAddLabelSearchArgs (pxConfig *config, psMetadata *where, char *field, char *name, char *op);
    7676
    77 bool pxSetFaultCode(psDB *dbh, const char *tableName, psMetadata *where, psS16 code);
     77bool pxSetFaultCode(psDB *dbh, const char *tableName, psMetadata *where, psS16 code, psS16 quality);
    7878bool pxExportVersion(pxConfig *config, FILE *f);
    7979bool pxCheckImportVersion(pxConfig *config, psMetadata *md);
  • tags/ipp-20110218/ippTools/src/pzgetexp.c

    r21402 r31040  
    215215        char *query =
    216216            "INSERT INTO summitExp"
    217             "   SElECT"
     217            "   SELECT"
     218            "       NULL," // summit_id
    218219            "       incoming.*,"
    219220            "       NULL,"  // imfiles
  • tags/ipp-20110218/ippTools/src/pzgetimfiles.c

    r21402 r31040  
    9999    int status = pclose(output);
    100100
     101    // We have an id value now, let's get it and use it
     102    char *id_query = "SELECT summit_id FROM summitExp WHERE exp_name = '%s' AND camera = '%s' AND telescope = '%s'";
     103
     104    if (!p_psDBRunQueryF(config->dbh, id_query, filesetid, camera, telescope)) {
     105      psError(PS_ERR_UNKNOWN, false, "database error");
     106      return false;
     107    }
     108   
     109    psArray *id_output = p_psDBFetchResult(config->dbh);
     110    if (!id_output) {
     111      psError(PS_ERR_UNKNOWN, false, "database error");
     112      return false;
     113    }
     114    if (psArrayLength(id_output) != 1) {
     115      psError(PS_ERR_UNKNOWN, false, "database error: incorrect number of results");
     116      return false;
     117    }
     118
     119    psMetadata *id_result = id_output->data[0];
     120
     121    psS64 summit_id = psMetadataLookupS64(NULL, id_result, "summit_id");
     122    psFree(id_output);
     123    // End of summit_id block.
     124   
    101125    if (status != 0) {
    102126        // mark the summitExp row as faulted
    103         if (!p_psDBRunQueryF(config->dbh, "UPDATE summitExp SET fault = %d WHERE exp_name = '%s' AND camera = '%s' AND telescope = '%s'", WEXITSTATUS(status), filesetid, camera, telescope)) {
     127        if (!p_psDBRunQueryF(config->dbh, "UPDATE summitExp SET fault = %d WHERE summit_id = %ld", WEXITSTATUS(status), summit_id)) {
    104128            psError(PS_ERR_UNKNOWN, false, "database error");
    105129        }
     
    117141        // download an "empty" fileset.
    118142        // mark the summitExp row as faulted
    119         if (!p_psDBRunQueryF(config->dbh, "UPDATE summitExp SET fault = %d WHERE exp_name = '%s' AND camera = '%s' AND telescope = '%s'", 250, filesetid, camera, telescope)) {
     143        if (!p_psDBRunQueryF(config->dbh, "UPDATE summitExp SET fault = %d WHERE summit_id = %ld", 250, summit_id)) {
    120144                psError(PS_ERR_UNKNOWN, false, "database error");
    121145        }
     
    142166            "UPDATE summitExp"
    143167            " SET imfiles = %d"
    144             " WHERE exp_name = '%s'"
    145             " AND camera = '%s'"
    146             " AND telescope = '%s'";
    147         if (!p_psDBRunQueryF(config->dbh, query, imfiles, filesetid, camera, telescope)) {
     168            " WHERE summit_id = %ld";
     169        if (!p_psDBRunQueryF(config->dbh, query, imfiles, summit_id)) {
    148170            // rollback
    149171            if (!psDBRollback(config->dbh)) {
     
    159181                "DELETE FROM pzDownloadExp"
    160182                " WHERE"
    161                 "   exp_name = '%s'"
    162                 "   AND camera = '%s'"
    163                 "   AND telescope = '%s'";
    164             if (!p_psDBRunQueryF(config->dbh, query, filesetid, camera, telescope)) {
     183                " summit_id = %ld";
     184            if (!p_psDBRunQueryF(config->dbh, query, summit_id)) {
    165185                // rollback
    166186                if (!psDBRollback(config->dbh)) {
     
    245265            "INSERT IGNORE INTO summitImfile"
    246266            "   SELECT"
     267            "       %ld," // summit_id
    247268            "       incoming.exp_name,"
    248269            "       incoming.camera,"
     
    256277            "       NULL"       // epoch
    257278            "   FROM incoming";
    258         if (!p_psDBRunQuery(config->dbh, query)) {
     279        if (!p_psDBRunQueryF(config->dbh, query,summit_id)) {
    259280            // rollback
    260281            if (!psDBRollback(config->dbh)) {
     
    272293            " SET imfiles = (SELECT COUNT(*) FROM summitImfile"
    273294            "   WHERE"
    274             "       exp_name = '%s'"
    275             "       AND camera = '%s'"
    276             "       AND telescope = '%s'"
     295            "   summit_id = %ld"
    277296            ")"
    278297            " WHERE"
    279             "   exp_name = '%s'"
    280             "   AND camera = '%s'"
    281             "   AND telescope = '%s'"
     298            "   summit_id = %ld"
    282299            "   AND imfiles IS NULL";
    283         if (!p_psDBRunQueryF(config->dbh, query, filesetid, camera, telescope, filesetid, camera, telescope)) {
     300        if (!p_psDBRunQueryF(config->dbh, query, summit_id, summit_id)) {
    284301            // rollback
    285302            if (!psDBRollback(config->dbh)) {
     
    308325            "INSERT IGNORE INTO pzDownloadExp"
    309326            "   SELECT"
     327            "       %ld,"    // summit_id
    310328            "       incoming.exp_name,"
    311329            "       incoming.camera,"
     
    319337            "       incoming.telescope";
    320338
    321         if (!p_psDBRunQuery(config->dbh, query)) {
     339        if (!p_psDBRunQueryF(config->dbh, query,summit_id)) {
    322340            // rollback
    323341            if (!psDBRollback(config->dbh)) {
  • tags/ipp-20110218/ippTools/src/pztool.c

    r30437 r31040  
    5353static psArray *pzGetPendingCameras(pxConfig *config);
    5454static psArray *pzArrayZip(psArray *arraySet, psS64 limit);
    55 static bool pzDownloadExpSetState(pxConfig *config, const char *exp_name, const char *camera, const char *telescope, const char *state);
     55static bool pzDownloadExpSetState(pxConfig *config, const psS64 summit_id, const char *state);
    5656
    5757# define MODECASE(caseName, func) \
     
    222222
    223223    psMetadata *where = psMetadataAlloc();
     224    PXOPT_COPY_S64(config->args, where,  "-summit_id",    "summit_id", "==");
    224225    PXOPT_COPY_STR(config->args, where,  "-exp_name",     "exp_name", "==");
    225226    PXOPT_COPY_STR(config->args, where,  "-inst",         "camera", "==");
     
    237238            " FROM summitExp"
    238239            " LEFT JOIN pzDownloadExp"
    239             "   USING(exp_name, camera, telescope)"
     240            "   USING(summit_id)"
    240241            " WHERE"
    241             "   pzDownloadExp.exp_name IS NULL"
    242             "   AND pzDownloadExp.camera IS NULL"
    243             "   AND pzDownloadExp.telescope IS NULL"
     242            "   pzDownloadExp.summit_id IS NULL"
    244243            "   AND summitExp.fault = 0"
    245244        );
     
    260259    if (limit) {
    261260        psString limitString = psDBGenerateLimitSQL(limit);
     261
    262262        psStringAppend(&query, " %s", limitString);
    263263        psFree(limitString);
     
    299299
    300300    psMetadata *where = psMetadataAlloc();
     301    PXOPT_COPY_S64(config->args, where,  "-summit_id",     "summit_id", "==");
    301302    PXOPT_COPY_STR(config->args, where,  "-exp_name",      "exp_name",  "==");
    302303    PXOPT_COPY_STR(config->args, where,  "-inst",          "camera",    "==");
     
    401402
    402403    // required
     404    PXOPT_LOOKUP_S64(summit_id, config->args, "-summit_id", true, false);
    403405    PXOPT_LOOKUP_STR(exp_name, config->args, "-exp_name", true, false);
    404406    PXOPT_LOOKUP_STR(camera, config->args, "-inst", true, false);
     
    428430
    429431        psMetadata *where = psMetadataAlloc();
     432        PXOPT_COPY_S64(config->args, where,  "-summit_id", "summit_id", "==");
    430433        PXOPT_COPY_STR(config->args, where,  "-exp_name", "exp_name", "==");
    431434        PXOPT_COPY_STR(config->args, where,  "-inst", "camera", "==");
     
    459462
    460463    if (!pzDownloadImfileInsert(config->dbh,
     464            summit_id,                 
    461465            exp_name,
    462466            camera,
     
    505509
    506510    psMetadata *where = psMetadataAlloc();
     511    PXOPT_COPY_STR(config->args, where,  "-summit_id", "summit_id", "==");
    507512    PXOPT_COPY_STR(config->args, where,  "-exp_name", "exp_name", "==");
    508513    PXOPT_COPY_STR(config->args, where,  "-inst", "camera", "==");
     
    560565
    561566    // required
     567    PXOPT_LOOKUP_S64(summit_id, config->args, "-summit_id", true, false);
    562568    PXOPT_LOOKUP_STR(exp_name, config->args, "-exp_name", true, false);
    563569    PXOPT_LOOKUP_STR(inst, config->args, "-inst", true, false);
     
    579585    if (!newExpInsert(config->dbh,
    580586            0x0,        // exp_id
     587            summit_id,  // summit_id
    581588            exp_name,   // tmp_exp_name
    582589            inst,       // tmp_camera
     
    597604        }
    598605
    599         psS64 exp_id = psDBLastInsertID(config->dbh);
    600 
    601         // insert newImfiles
    602         {
    603             char *query =
     606    psS64 exp_id = psDBLastInsertID(config->dbh);
     607
     608    // insert newImfiles
     609    {
     610      char *query =
    604611                "INSERT INTO newImfile"
    605                 "   SElECT"
     612                "   SELECT"
    606613                "       %" PRId64 ","               // exp_id
     614                "       %" PRId64 ","               // summit_id
    607615                "       pzDownloadImfile.class_id," // tmp_class_id
    608616                "       pzDownloadImfile.uri,"      // uri
     
    616624                "       AND pzDownloadImfile.telescope = '%s'";
    617625
    618         if (!p_psDBRunQueryF(config->dbh, query, exp_id, exp_name, inst, telescope)) {
    619             psError(PS_ERR_UNKNOWN, false, "database error");
    620             return false;
    621         }
    622 
    623         // sanity check: we should have inserted at least one row
    624         psU64 affected = psDBAffectedRows(config->dbh);
    625         if (psDBAffectedRows(config->dbh) < 1) {
    626             psError(PS_ERR_UNKNOWN, false, "should have affected at least 1 row but %" PRIu64 " rows were modified", affected);
    627             return false;
    628         }
     626      if (!p_psDBRunQueryF(config->dbh, query, exp_id, summit_id, exp_name, inst, telescope)) {
     627        psError(PS_ERR_UNKNOWN, false, "database error");
     628        return false;
     629      }
     630
     631      // sanity check: we should have inserted at least one row
     632      psU64 affected = psDBAffectedRows(config->dbh);
     633      if (psDBAffectedRows(config->dbh) < 1) {
     634        psError(PS_ERR_UNKNOWN, false, "should have affected at least 1 row but %" PRIu64 " rows were modified", affected);
     635        return false;
     636      }
    629637    }
    630638
    631639    // set pzDownloadExp.state to 'stop'
    632     if (!pzDownloadExpSetState(config, exp_name, inst, telescope, "stop")) {
    633         psError(PS_ERR_UNKNOWN, false, "failed to change pzDownloadExp.state for %s:%s:%s", exp_name, inst, telescope);
     640    if (!pzDownloadExpSetState(config, summit_id, "stop")) {
     641        psError(PS_ERR_UNKNOWN, false, "failed to change pzDownloadExp.state for %ld", summit_id);
    634642        return false;
    635643    }
     
    798806    PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false);
    799807
    800     if (!pxSetFaultCode(config->dbh, "pzDownloadImfile", where, fault)) {
     808    if (!pxSetFaultCode(config->dbh, "pzDownloadImfile", where, fault, 0)) {
    801809        psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
    802810        psFree (where);
     
    887895
    888896
    889 static bool pzDownloadExpSetState(pxConfig *config, const char *exp_name, const char *camera, const char *telescope, const char *state)
     897static bool pzDownloadExpSetState(pxConfig *config, const psS64 summit_id, const char *state)
    890898{
    891899    PS_ASSERT_PTR_NON_NULL(state, false);
     
    904912    }
    905913
    906     char *query = "UPDATE pzDownloadExp SET state = '%s' WHERE exp_name = '%s' and camera = '%s' and telescope = '%s'";
    907     if (!p_psDBRunQueryF(config->dbh, query, state, exp_name, camera, telescope)) {
    908         psError(PS_ERR_UNKNOWN, false, "failed to change state for %s:%s:%s", exp_name, camera, telescope);
     914    char *query = "UPDATE pzDownloadExp SET state = '%s' WHERE summit_id = %ld";
     915    if (!p_psDBRunQueryF(config->dbh, query, state, summit_id)) {
     916        psError(PS_ERR_UNKNOWN, false, "failed to change state for %ld", summit_id);
    909917        return false;
    910918    }
     
    916924{
    917925  PS_ASSERT_PTR_NON_NULL(config, false);
    918   PXOPT_LOOKUP_STR(exp_name, config->args, "-exp_name", true, false);
    919   PXOPT_LOOKUP_STR(camera,   config->args, "-inst",   true, false);
    920   PXOPT_LOOKUP_STR(telescope,config->args, "-telescope",true, false);
     926  PXOPT_LOOKUP_S64(summit_id, config->args, "-summit_id", true, false);
    921927  PXOPT_LOOKUP_STR(state,    config->args, "-set_state",true, false);
    922928
    923   if (!pzDownloadExpSetState(config,exp_name,camera,telescope,state)) {
    924     psError(PS_ERR_UNKNOWN, false, "failed to change state for %s:%s:%s", exp_name, camera, telescope);
     929  if (!pzDownloadExpSetState(config,summit_id, state)) {
     930    psError(PS_ERR_UNKNOWN, false, "failed to change state for %ld", summit_id);
    925931    return false;
    926932  }
  • tags/ipp-20110218/ippTools/src/pztoolConfig.c

    r30437 r31040  
    6363    // -pendingexp
    6464    psMetadata *pendingexpArgs = psMetadataAlloc();
     65    psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-summit_id", 0,          "define summit_id", 0);
    6566    psMetadataAddStr(pendingexpArgs, PS_LIST_TAIL, "-exp_name", 0,            "define exposure ID", NULL);
    6667    psMetadataAddStr(pendingexpArgs, PS_LIST_TAIL, "-inst", 0,            "define camera ID", NULL);
     
    7374    // -pendingimfile
    7475    psMetadata *pendingimfileArgs = psMetadataAlloc();
     76    psMetadataAddS64(pendingimfileArgs, PS_LIST_TAIL, "-summit_id", 0,          "define summit_id", 0);
    7577    psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-exp_name", 0,            "define exposure ID", NULL);
    7678    psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-inst", 0,            "define camera ID", NULL);
     
    8587    // -copydone
    8688    psMetadata *copydoneArgs = psMetadataAlloc();
     89    psMetadataAddS64(copydoneArgs, PS_LIST_TAIL, "-summit_id", 0,          "define summit_id (required)", 0);
    8790    psMetadataAddStr(copydoneArgs, PS_LIST_TAIL, "-exp_name", 0,            "define exposure ID (required)", NULL);
    8891    psMetadataAddStr(copydoneArgs, PS_LIST_TAIL, "-inst", 0,            "define camera ID (required)", NULL);
  • tags/ipp-20110218/ippTools/src/regtool.c

    r30652 r31040  
    311311
    312312  // required
    313   PXOPT_LOOKUP_STR(dateobs_begin,     config->args, "-dateobs_begin", true, false);
    314   PXOPT_LOOKUP_STR(dateobs_end,     config->args, "-dateobs_end", true, false);
    315   PXOPT_LOOKUP_S32(valid_burntool, config->args, "-valid_burntool", true, false);
     313  PXOPT_LOOKUP_STR(dateobs_begin,   config->args, "-dateobs_begin", true, false);
     314  PXOPT_LOOKUP_STR(dateobs_end,     config->args, "-dateobs_end",    true, false);
     315  PXOPT_LOOKUP_S32(valid_burntool,  config->args, "-valid_burntool", true, false);
    316316  // optional
    317317  PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     
    894894    if (fault != INT16_MAX) {
    895895        // this is fairly dangerous : can set all if the where is not set...
    896         if (!pxSetFaultCode(config->dbh, "rawImfile", where, fault)) {
     896        if (!pxSetFaultCode(config->dbh, "rawImfile", where, fault, 0)) {
    897897            psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
    898898            psFree (where);
     
    13611361
    13621362    // set the state for the newExp to stop
    1363     if (!pxnewExpSetState(config, exp_id, "stop")) {
     1363    // but only if we didn't encounter a fault
     1364    if (fault == 0) {
     1365      if (!pxnewExpSetState(config, exp_id, "stop")) {
    13641366        // rollback
    13651367        if (!psDBRollback(config->dbh)) {
    1366             psError(PS_ERR_UNKNOWN, false, "database error");
     1368          psError(PS_ERR_UNKNOWN, false, "database error");
    13671369        }
    13681370        psError(PS_ERR_UNKNOWN, false, "failed to change newExp.state for exp_id: %"PRId64, exp_id);
    1369     psFree(newExp);
    1370         return false;
     1371        psFree(newExp);
     1372        return false;
     1373      }
    13711374    }
    13721375
     
    16081611  PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false);
    16091612
    1610   if (!pxSetFaultCode(config->dbh, "rawExp", where, fault)) {
     1613  if (!pxSetFaultCode(config->dbh, "rawExp", where, fault, 0)) {
    16111614    psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
    16121615    psFree(where);
  • tags/ipp-20110218/ippTools/src/stacktool.c

    r30947 r31040  
    16671667    PXOPT_COPY_S64(config->args, where, "-stack_id",   "stack_id",   "==");
    16681668
    1669     if (!pxSetFaultCode(config->dbh, "stackSumSkyfile", where, fault)) {
     1669    if (!pxSetFaultCode(config->dbh, "stackSumSkyfile", where, fault, quality)) {
    16701670        psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
    16711671        psFree (where);
  • tags/ipp-20110218/ippTools/src/staticskytool.c

    r30732 r31040  
    716716    PXOPT_COPY_S64(config->args, where, "-sky_id",   "sky_id",   "==");
    717717
    718     if (!pxSetFaultCode(config->dbh, "staticskyResult", where, fault)) {
     718    if (!pxSetFaultCode(config->dbh, "staticskyResult", where, fault, 0)) {
    719719        psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
    720720        psFree (where);
  • tags/ipp-20110218/ippTools/src/warptoolConfig.c

    • Property svn:mergeinfo deleted
  • tags/ipp-20110218/psLib/src/db

  • tags/ipp-20110218/psLib/src/db/psDB.c

    r28350 r31040  
    28942894        break;
    28952895    case PS_DATA_F32:
    2896         isNaN = PS_IS_NAN(psF32, data, NAN);
    2897         break;
     2896      isNaN = isnan(*((psF32 *) data));
     2897      break;
    28982898    case PS_DATA_F64:
    2899         isNaN = PS_IS_NAN(psF64, data, NAN);
    2900         break;
     2899      isNaN = isnan(*((psF64 *) data));
     2900      break;
    29012901    case PS_DATA_BOOL:
    29022902        // XXX: what is NaN for a bool?
Note: See TracChangeset for help on using the changeset viewer.