IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 30, 2011, 9:36:02 AM (15 years ago)
Author:
eugene
Message:

merging changes from trunk

Location:
branches/eam_branches/ipp-20110213/ippTools/src
Files:
29 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20110213/ippTools/src

  • branches/eam_branches/ipp-20110213/ippTools/src/addtool.c

    r30812 r31083  
    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);
     
    11791179  PXOPT_LOOKUP_F32(dtime_resort, config->args, "-dtime_resort", false, false);
    11801180  PXOPT_LOOKUP_F32(dtime_merge, config->args, "-dtime_merge", false, false);
     1181  PXOPT_LOOKUP_F32(dtime_verify, config->args, "-dtime_verify", false, false);
     1182  PXOPT_LOOKUP_F32(dtime_script, config->args, "-dtime_script", false, false);
     1183 
    11811184  PXOPT_LOOKUP_TIME(epoch, config->args, "-epoch", false, false);
    11821185  PXOPT_LOOKUP_S16(fault,         config->args, "-fault", false, false);
     
    12301233               dtime_resort,
    12311234               dtime_relphot,
     1235               dtime_verify,
    12321236               dtime_merge,
     1237               dtime_script,
    12331238               epoch,
    12341239               mergedvodb_path,
     
    12931298  psStringAppend(&query4, "update minidvodbProcessed set merge_order = %"PRIu64,m_order);
    12941299  psStringAppend(&query4," where minidvodb_id = %" PRIu64,  minidvodb_id);
    1295   printf("%s", query4);
     1300  //printf("%s", query4);
    12961301  if (!p_psDBRunQuery(config->dbh, query4)) {
    12971302    // rollback
     
    15111516  PXOPT_LOOKUP_F32(dtime_resort,  config->args, "-set_dtime_resort", false, false);
    15121517  PXOPT_LOOKUP_F32(dtime_merge,  config->args, "-set_dtime_merge", false, false);
    1513 
     1518PXOPT_LOOKUP_F32(dtime_verify,  config->args, "-set_dtime_verify", false, false);
     1519PXOPT_LOOKUP_F32(dtime_script,  config->args, "-set_dtime_script", false, false);
    15141520  PXOPT_COPY_S64(config->args, where, "-minidvodb_id",     "minidvodbProcessed.minidvodb_id", "==");
    15151521  PXOPT_COPY_STR(config->args, where, "-minidvodb_name",     "minidvodbRun.minidvodb_name", "==");
     
    15621568    cnt++;
    15631569 }
     1570if (dtime_verify) {
     1571    if (cnt) {
     1572      psStringAppend(&query, "%s", comma);
     1573    }
     1574    psStringAppend(&query, " dtime_verify = %f", dtime_verify);
     1575    cnt++;
     1576 }
     1577if (dtime_script) {
     1578    if (cnt) {
     1579      psStringAppend(&query, "%s", comma);
     1580    }
     1581    psStringAppend(&query, " dtime_script = %f", dtime_script);
     1582    cnt++;
     1583 }
    15641584
    15651585  psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
     
    15671587
    15681588  if (!p_psDBRunQuery(config->dbh, query)) {
    1569    psError(PS_ERR_UNKNOWN, false, "database error");
     1589    psError(PS_ERR_UNKNOWN, false, "database error \n%s\n",query );
    15701590   psFree(query);
    15711591   return false;
  • branches/eam_branches/ipp-20110213/ippTools/src/addtoolConfig.c

    r28211 r31083  
    195195    psMetadataAddF32(addminidvodbprocessedArgs, PS_LIST_TAIL, "-dtime_relphot",  0,    "define elapsed time for relphot (seconds)", NAN);
    196196    psMetadataAddF32(addminidvodbprocessedArgs, PS_LIST_TAIL, "-dtime_resort", 0,    "define elapsed time for resort (seconds)", NAN);
     197    psMetadataAddF32(addminidvodbprocessedArgs, PS_LIST_TAIL, "-dtime_verify",    0,    "define elapsed time for DVO verify (seconds)", NAN);
    197198    psMetadataAddF32(addminidvodbprocessedArgs, PS_LIST_TAIL, "-dtime_merge",    0,    "define elapsed time for DVO merge (seconds)", NAN);
     199    psMetadataAddF32(addminidvodbprocessedArgs, PS_LIST_TAIL, "-dtime_script",    0,    "define elapsed time for script (seconds)", NAN);
    198200    psMetadataAddTime(addminidvodbprocessedArgs, PS_LIST_TAIL, "-epoch",         0,    "time merge is finished", NULL);
    199201    psMetadataAddStr(addminidvodbprocessedArgs, PS_LIST_TAIL, "-mergedvodb_path",0,    "path of merged dvodb", NULL);
     
    220222    psMetadataAddF32(updateminidvodbprocessedArgs, PS_LIST_TAIL, "-set_dtime_relphot",  0,    "define elapsed time for relphot (seconds)", 0);
    221223    psMetadataAddF32(updateminidvodbprocessedArgs, PS_LIST_TAIL, "-set_dtime_resort", 0,    "define elapsed time for resort (seconds)", 0);
     224    psMetadataAddF32(updateminidvodbprocessedArgs, PS_LIST_TAIL, "-set_dtime_verify",    0,    "define elapsed time for DVO verify (seconds)", 0);
    222225    psMetadataAddF32(updateminidvodbprocessedArgs, PS_LIST_TAIL, "-set_dtime_merge",    0,    "define elapsed time for DVO merge (seconds)", 0);
    223    
     226    psMetadataAddF32(updateminidvodbprocessedArgs, PS_LIST_TAIL, "-set_dtime_script",    0,    "define elapsed time for script (seconds)", 0);
    224227    psMetadata *argSets = psMetadataAlloc();
    225228    psMetadata *modes = psMetadataAlloc();
  • branches/eam_branches/ipp-20110213/ippTools/src/camtool.c

    r30812 r31083  
    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);
  • branches/eam_branches/ipp-20110213/ippTools/src/camtoolConfig.c

    r30812 r31083  
    244244    psMetadataAddStr(updateprocessedexpArgs, PS_LIST_TAIL, "-class_id",  0,            "search by class ID", NULL);
    245245    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);
    246247
    247248    // -block
  • branches/eam_branches/ipp-20110213/ippTools/src/chiptool.c

    r30812 r31083  
    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;
  • branches/eam_branches/ipp-20110213/ippTools/src/chiptoolConfig.c

    r30812 r31083  
    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();
  • branches/eam_branches/ipp-20110213/ippTools/src/detselect.c

    r26981 r31083  
    152152    // unless explicitly specified by the user, list all possible matches
    153153    if (!unlimit) {
    154         psStringAppend(&query, " ORDER BY registered DESC LIMIT 1");
     154        psStringAppend(&query, " ORDER BY registered DESC, iteration DESC LIMIT 1");
    155155    }
    156156
  • branches/eam_branches/ipp-20110213/ippTools/src/dettool.c

    r29923 r31083  
    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
  • branches/eam_branches/ipp-20110213/ippTools/src/dettoolConfig.c

    r29923 r31083  
    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
  • branches/eam_branches/ipp-20110213/ippTools/src/difftool.c

    r30812 r31083  
    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);
  • branches/eam_branches/ipp-20110213/ippTools/src/difftoolConfig.c

    r30812 r31083  
    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
  • branches/eam_branches/ipp-20110213/ippTools/src/disttool.c

    r30551 r31083  
    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")) {
  • branches/eam_branches/ipp-20110213/ippTools/src/disttoolConfig.c

    r30551 r31083  
    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);
  • branches/eam_branches/ipp-20110213/ippTools/src/faketool.c

    r30812 r31083  
    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);
  • branches/eam_branches/ipp-20110213/ippTools/src/magicdstool.c

    r30812 r31083  
    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", "==");
  • branches/eam_branches/ipp-20110213/ippTools/src/magicdstoolConfig.c

    r30313 r31083  
    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);
  • branches/eam_branches/ipp-20110213/ippTools/src/magictool.c

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • branches/eam_branches/ipp-20110213/ippTools/src/pxfault.c

    r13580 r31083  
    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);
  • branches/eam_branches/ipp-20110213/ippTools/src/pxinject.c

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

    r30812 r31083  
    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);
  • branches/eam_branches/ipp-20110213/ippTools/src/pzgetexp.c

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

    r21402 r31083  
    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)) {
  • branches/eam_branches/ipp-20110213/ippTools/src/pztool.c

    r30437 r31083  
    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
    607614                "       pzDownloadImfile.class_id," // tmp_class_id
     
    616623                "       AND pzDownloadImfile.telescope = '%s'";
    617624
    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         }
     625      if (!p_psDBRunQueryF(config->dbh, query, exp_id, exp_name, inst, telescope)) {
     626        psError(PS_ERR_UNKNOWN, false, "database error");
     627        return false;
     628      }
     629
     630      // sanity check: we should have inserted at least one row
     631      psU64 affected = psDBAffectedRows(config->dbh);
     632      if (psDBAffectedRows(config->dbh) < 1) {
     633        psError(PS_ERR_UNKNOWN, false, "should have affected at least 1 row but %" PRIu64 " rows were modified", affected);
     634        return false;
     635      }
    629636    }
    630637
    631638    // 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);
     639    if (!pzDownloadExpSetState(config, summit_id, "stop")) {
     640        psError(PS_ERR_UNKNOWN, false, "failed to change pzDownloadExp.state for %ld", summit_id);
    634641        return false;
    635642    }
     
    798805    PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false);
    799806
    800     if (!pxSetFaultCode(config->dbh, "pzDownloadImfile", where, fault)) {
     807    if (!pxSetFaultCode(config->dbh, "pzDownloadImfile", where, fault, 0)) {
    801808        psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
    802809        psFree (where);
     
    887894
    888895
    889 static bool pzDownloadExpSetState(pxConfig *config, const char *exp_name, const char *camera, const char *telescope, const char *state)
     896static bool pzDownloadExpSetState(pxConfig *config, const psS64 summit_id, const char *state)
    890897{
    891898    PS_ASSERT_PTR_NON_NULL(state, false);
     
    904911    }
    905912
    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);
     913    char *query = "UPDATE pzDownloadExp SET state = '%s' WHERE summit_id = %ld";
     914    if (!p_psDBRunQueryF(config->dbh, query, state, summit_id)) {
     915        psError(PS_ERR_UNKNOWN, false, "failed to change state for %ld", summit_id);
    909916        return false;
    910917    }
     
    916923{
    917924  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);
     925  PXOPT_LOOKUP_S64(summit_id, config->args, "-summit_id", true, false);
    921926  PXOPT_LOOKUP_STR(state,    config->args, "-set_state",true, false);
    922927
    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);
     928  if (!pzDownloadExpSetState(config,summit_id, state)) {
     929    psError(PS_ERR_UNKNOWN, false, "failed to change state for %ld", summit_id);
    925930    return false;
    926931  }
  • branches/eam_branches/ipp-20110213/ippTools/src/pztoolConfig.c

    r30437 r31083  
    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);
     
    138141    // -toadvance
    139142    psMetadata *toadvanceArgs = psMetadataAlloc();
     143    psMetadataAddS64(toadvanceArgs, PS_LIST_TAIL, "-summit_id", 0,     "define summit_id", 0);
    140144    psMetadataAddStr(toadvanceArgs, PS_LIST_TAIL, "-exp_name", 0,      "define exposure ID", NULL);
    141145    psMetadataAddStr(toadvanceArgs, PS_LIST_TAIL, "-inst", 0,          "define camera ID", NULL);
     
    147151    // -advance
    148152    psMetadata *advanceArgs = psMetadataAlloc();
     153    psMetadataAddS64(advanceArgs, PS_LIST_TAIL, "-summit_id", 0,     "define summit_id", 0);
    149154    psMetadataAddStr(advanceArgs, PS_LIST_TAIL, "-exp_name", 0,   "define exposure ID (required)", NULL);
    150155    psMetadataAddStr(advanceArgs, PS_LIST_TAIL, "-inst", 0,       "define camera ID (required)", NULL);
     
    158163    // -updatepzexp
    159164    psMetadata *updatepzexpArgs = psMetadataAlloc();
     165    psMetadataAddS64(updatepzexpArgs, PS_LIST_TAIL, "-summit_id", 0,     "define summit_id", 0);
    160166    psMetadataAddStr(updatepzexpArgs, PS_LIST_TAIL, "-exp_name",   0,            "search by exposure name (required)", NULL);
    161167    psMetadataAddStr(updatepzexpArgs, PS_LIST_TAIL, "-inst",       0,            "search by camera (required)", NULL);
  • branches/eam_branches/ipp-20110213/ippTools/src/regtool.c

    r30675 r31083  
    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);
  • branches/eam_branches/ipp-20110213/ippTools/src/stacktool.c

    r30812 r31083  
    968968    PXOPT_LOOKUP_F32(dtime_reject, config->args, "-dtime_reject", false, false);
    969969    PXOPT_LOOKUP_F32(dtime_final, config->args, "-dtime_final", false, false);
     970    PXOPT_LOOKUP_F32(dtime_convolve, config->args, "-dtime_convolve", false, false);
    970971    PXOPT_LOOKUP_F32(dtime_phot, config->args, "-dtime_phot", false, false);
    971972    PXOPT_LOOKUP_F32(dtime_script, config->args, "-dtime_script", false, false);
     
    10311032                               dtime_match_mean,
    10321033                               dtime_match_stdev,
     1034                               dtime_convolve,
    10331035                               dtime_initial,
    10341036                               dtime_reject,
     
    16601662
    16611663    PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false);
     1664    PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", false, false);
    16621665
    16631666    psMetadata *where = psMetadataAlloc();
    16641667    PXOPT_COPY_S64(config->args, where, "-stack_id",   "stack_id",   "==");
    16651668
    1666     if (!pxSetFaultCode(config->dbh, "stackSumSkyfile", where, fault)) {
     1669    if (!pxSetFaultCode(config->dbh, "stackSumSkyfile", where, fault, quality)) {
    16671670        psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
    16681671        psFree (where);
  • branches/eam_branches/ipp-20110213/ippTools/src/stacktoolConfig.c

    r29299 r31083  
    157157    psMetadataAddF32(addsumskyfileArgs, PS_LIST_TAIL, "-dtime_reject", 0, "define rejection time", NAN);
    158158    psMetadataAddF32(addsumskyfileArgs, PS_LIST_TAIL, "-dtime_final", 0, "define final stack time", NAN);
     159    psMetadataAddF32(addsumskyfileArgs, PS_LIST_TAIL, "-dtime_convolve", 0, "define image convolution time", NAN);
    159160    psMetadataAddF32(addsumskyfileArgs, PS_LIST_TAIL, "-dtime_phot", 0, "define photometry time", NAN);
    160161    psMetadataAddF32(addsumskyfileArgs, PS_LIST_TAIL, "-dtime_script", 0, "define elapsed time in script (seconds)", NAN);
     
    266267    psMetadataAddS64(updatesumskyfileArgs, PS_LIST_TAIL, "-stack_id", 0,            "define stack ID (required)", 0);
    267268    psMetadataAddS16(updatesumskyfileArgs, PS_LIST_TAIL, "-fault", 0,            "set fault code (required)", 0);
     269    psMetadataAddS16(updatesumskyfileArgs, PS_LIST_TAIL, "-set_quality", 0,            "set quality", 0);
    268270
    269271    // -exportrun
  • branches/eam_branches/ipp-20110213/ippTools/src/staticskytool.c

    r30812 r31083  
    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);
Note: See TracChangeset for help on using the changeset viewer.