IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 29138


Ignore:
Timestamp:
Sep 9, 2010, 1:29:17 PM (16 years ago)
Author:
bills
Message:

Bugfixes from trunk.

Location:
tags/ipp-20100823/ippTools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • tags/ipp-20100823/ippTools/share/difftool_listrun.sql

    r27743 r29138  
    1212    diffRun.bothways,
    1313    warp1,
    14     stack1,
    1514    warp2,
    16     stack2,
    1715    -- The following are only valid for warps
    1816    -- XXX This needs to be more clever to handle diffs between stacks
  • tags/ipp-20100823/ippTools/share/magicdstool_completed_runs.sql

    r25465 r29138  
    11SELECT DISTINCT
    22    magic_ds_id,
     3    magicked,
    34    re_place,
    45    label
     
    78-- raw stage
    89SELECT
    9     magicDSRun.*
     10    magicDSRun.*,
     11    rawExp.magicked
    1012    FROM magicDSRun
    1113    JOIN rawImfile ON stage_id = rawImfile.exp_id
     14    JOIN rawExp using(exp_id)
    1215    LEFT JOIN magicDSFile
    1316        ON magicDSRun.magic_ds_id = magicDSFile.magic_ds_id
     
    2528-- chip stage
    2629SELECT
    27     magicDSRun.*
     30    magicDSRun.*,
     31    chipRun.magicked
    2832    FROM magicDSRun
    29     JOIN chipProcessedImfile ON stage_id = chip_id
     33    JOIN chipRun ON stage_id = chip_id
     34    JOIN chipProcessedImfile USING(chip_id)
    3035    LEFT JOIN magicDSFile
    3136        ON magicDSFile.magic_ds_id = magicDSRun.magic_ds_id
     
    4449-- camera stage
    4550SELECT
    46     magicDSRun.*
     51    magicDSRun.*,
     52    camRun.magicked
    4753    FROM magicDSRun
    48     JOIN camProcessedExp ON stage_id = camProcessedExp.cam_id
     54    JOIN camRun ON stage_id = camRun.cam_id
     55    JOIN camProcessedExp ON camRun.cam_id = camProcessedExp.cam_id
    4956    LEFT JOIN magicDSFile
    5057        ON magicDSFile.magic_ds_id = magicDSRun.magic_ds_id
     
    6168-- warp stage
    6269SELECT
    63     magicDSRun.*
     70    magicDSRun.*,
     71    warpRun.magicked
    6472    FROM magicDSRun
    65     JOIN warpSkyfile on stage_id = warp_id
     73    JOIN warpRun on stage_id = warp_id
     74    JOIN warpSkyfile USING(warp_id)
    6675    LEFT JOIN magicDSFile
    6776        ON magicDSRun.magic_ds_id = magicDSFile.magic_ds_id
     
    8190-- diff stage
    8291SELECT DISTINCT
    83     magicDSRun.*
     92    magicDSRun.*,
     93    diffRun.magicked
    8494    FROM magicDSRun
    8595    JOIN magicRun USING (magic_id)
    8696    JOIN magicInputSkyfile USING(magic_id)
     97    JOIN diffRun
     98        ON magicRun.diff_id = diffRun.diff_id
    8799    JOIN diffSkyfile
    88         ON magicRun.diff_id = diffSkyfile.diff_id
     100        ON diffRun.diff_id = diffSkyfile.diff_id
    89101        AND magicInputSkyfile.node = diffSkyfile.skycell_id
    90102    LEFT JOIN magicDSFile
  • tags/ipp-20100823/ippTools/src/magicdstool.c

    r28936 r29138  
    933933    }
    934934
     935    // treat limit == 0 as "no limit"
     936    if (limit) {
     937        psString limitString = psDBGenerateLimitSQL(limit);
     938        psStringAppend(&query, " %s", limitString);
     939        psFree(limitString);
     940    }
     941
    935942    if (!p_psDBRunQuery(config->dbh, query)) {
    936943        psError(PS_ERR_UNKNOWN, false, "database error");
     
    950957        return true;
    951958    }
    952     if (!psDBTransaction(config->dbh)) {
    953         psError(PS_ERR_UNKNOWN, false, "database error");
    954         return false;
    955     }
    956959    for (long i = 0; i < psArrayLength(output); i++) {
    957960        psMetadata *row = output->data[i];
    958961
    959962        psS64 magic_ds_id = psMetadataLookupS64(NULL, row, "magic_ds_id");
     963        psS64 magicked =  psMetadataLookupS64(NULL, row, "magicked");
     964        if (!psDBTransaction(config->dbh)) {
     965            psError(PS_ERR_UNKNOWN, false, "database error");
     966            return false;
     967        }
    960968
    961969        // if re_place, set stageRun.magicked
    962970        bool setmagicked = psMetadataLookupBool(NULL, row, "re_place");
    963         if (setmagicked && !setRunMagicked(config, magic_ds_id)) {
    964             psError(PS_ERR_UNKNOWN, false, "failed to change stageRun.magicked for magic_ds_id: %" PRId64,
    965                 magic_ds_id);
    966             if (!psDBRollback(config->dbh)) {
    967                 psError(PS_ERR_UNKNOWN, false, "database error");
     971        if (setmagicked) {
     972            if (magicked <= 0) {
     973                if (!setRunMagicked(config, magic_ds_id)) {
     974                    psError(PS_ERR_UNKNOWN, false, "failed to change stageRun.magicked for magic_ds_id: %" PRId64,
     975                        magic_ds_id);
     976                    if (!psDBRollback(config->dbh)) {
     977                        psError(PS_ERR_UNKNOWN, false, "database error");
     978                    }
     979                    return false;
     980                }
     981            } else {
     982                fprintf(stderr, "run is already marked as destreaked for magic_ds_id %" PRId64 "\n", magic_ds_id);
    968983            }
    969             return false;
    970984        }
    971985
     
    980994            return false;
    981995        }
    982     }
    983     if (!psDBCommit(config->dbh)) {
    984         psError(PS_ERR_UNKNOWN, false, "database error");
    985         return false;
     996        if (!psDBCommit(config->dbh)) {
     997            psError(PS_ERR_UNKNOWN, false, "database error");
     998            return false;
     999        }
    9861000    }
    9871001
Note: See TracChangeset for help on using the changeset viewer.