IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 17, 2010, 4:40:03 PM (16 years ago)
Author:
Paul Price
Message:

Reworked all ippTools to put fault=2 (SYS_ERROR) when can't find SQL file (presumably due to NFS problems). Removed DATA_ERROR because ippTools don't work on data (astronomical images or catalogues). This should allow us to turn on revert for fault=2 only.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/src/dettool.c

    r26815 r26981  
    9494        MODECASE(DETTOOL_MODE_PENDINGCLEANUP_PROCESSEDEXP, pendingcleanup_processedexpMode);
    9595        MODECASE(DETTOOL_MODE_DONECLEANUP_PROCESSEDEXP, donecleanup_processedexpMode);
    96         MODECASE(DETTOOL_MODE_UPDATESTATE_PROCESSED, updatestateprocessedMode);
     96        MODECASE(DETTOOL_MODE_UPDATESTATE_PROCESSED, updatestateprocessedMode);
    9797        // stacked
    9898        MODECASE(DETTOOL_MODE_TOSTACKED,        tostackedMode);
     
    143143        MODECASE(DETTOOL_MODE_PENDINGCLEANUP_RESIDEXP, pendingcleanup_residexpMode);
    144144        MODECASE(DETTOOL_MODE_DONECLEANUP_RESIDEXP, donecleanup_residexpMode);
    145         MODECASE(DETTOOL_MODE_UPDATESTATE_RESID, updatestateresidMode);
     145        MODECASE(DETTOOL_MODE_UPDATESTATE_RESID, updatestateresidMode);
    146146        // detrunsummary
    147147        MODECASE(DETTOOL_MODE_TODETRUNSUMMARY,  todetrunsummaryMode);
     
    152152        MODECASE(DETTOOL_MODE_UPDATEDETRUN,     updatedetrunMode);
    153153        MODECASE(DETTOOL_MODE_RERUN,            rerunMode);
    154         MODECASE(DETTOOL_MODE_PENDINGCLEANUP_DETRUNSUMMARY, pendingcleanup_detrunsummaryMode);
     154        MODECASE(DETTOOL_MODE_PENDINGCLEANUP_DETRUNSUMMARY, pendingcleanup_detrunsummaryMode);
    155155        // register
    156156        MODECASE(DETTOOL_MODE_REGISTER_DETREND, register_detrendMode);
     
    187187    psString query = pxDataGet("dettool_pending.sql");
    188188    if (!query) {
    189         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
    190         return false;
    191     }
    192    
     189        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     190        return false;
     191    }
     192
    193193    psMetadata *where = psMetadataAlloc();
    194194    PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "==");
     
    260260        psError(PS_ERR_UNKNOWN, false, "verify mode requires both -ref_det_id and -ref_iter");
    261261        return false;
    262     } 
     262    }
    263263    if (strcmp(mode, "verify") && ((ref_det_id != 0) || (ref_iter != -1))) {
    264264        psError(PS_ERR_UNKNOWN, false, "master mode cannot have -ref_det_id or -ref_iter set");
    265265        return false;
    266     } 
    267        
     266    }
     267
    268268    PXOPT_LOOKUP_STR(camera, config->args, "-inst", false, false);
    269269    PXOPT_LOOKUP_STR(telescope, config->args, "-telescope", false, false);
     
    310310        psMetadataItem *mItem = NULL;
    311311        while ((mItem = psListGetAndIncrement(iter))) {
    312             psS64 exp_id = mItem->data.S64;
     312            psS64 exp_id = mItem->data.S64;
    313313            if (!psMetadataAddS64(where, PS_LIST_TAIL, "exp_id", PS_META_DUPLICATE_OK, "==", exp_id)) {
    314314                psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
     
    319319        }
    320320        psFree(iter);
    321     } 
     321    }
    322322    if (item->type == PS_DATA_S64) {
    323         psS64 exp_id = item->data.S64;
    324         if (!psMetadataAddS64(where, PS_LIST_TAIL, "exp_id", PS_META_DUPLICATE_OK, "==", exp_id)) {
    325             psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    326             psFree(where);
    327             return false;
    328         }
    329     } 
     323        psS64 exp_id = item->data.S64;
     324        if (!psMetadataAddS64(where, PS_LIST_TAIL, "exp_id", PS_META_DUPLICATE_OK, "==", exp_id)) {
     325            psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
     326            psFree(where);
     327            return false;
     328        }
     329    }
    330330
    331331    if (psListLength(where->list) < 1) {
     
    507507        psError(PS_ERR_UNKNOWN, false, "verify mode requires both -ref_det_id and -ref_iter");
    508508        return false;
    509     } 
     509    }
    510510    if (strcmp(mode, "verify") && ((ref_det_id != 0) || (ref_iter != -1))) {
    511511        psError(PS_ERR_UNKNOWN, false, "master mode cannot have -ref_det_id or -ref_iter set");
    512512        return false;
    513     } 
     513    }
    514514
    515515    PXOPT_LOOKUP_STR(filelevel, config->args, "-filelevel", false, false);
     
    676676                 label,
    677677                 ref_det_id,
    678                 ref_iter
     678                ref_iter
    679679        );
    680680    psS64 det_id = psDBLastInsertID(config->dbh);
     
    745745{
    746746    PS_ASSERT_PTR_NON_NULL(config, false);
    747    
     747
    748748    // XXX this mode is not well-tested: probably need to specify iteration here
    749749    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required
     
    762762        psError(PS_ERR_UNKNOWN, false, "verify mode requires both -ref_det_id and -ref_iter");
    763763        return false;
    764     } 
     764    }
    765765    if (strcmp(mode, "verify") && ((ref_det_id != 0) || (ref_iter != -1))) {
    766766        psError(PS_ERR_UNKNOWN, false, "master mode cannot have -ref_det_id or -ref_iter set");
    767767        return false;
    768     } 
     768    }
    769769
    770770    // the new detRun may have different values for these limits:
     
    820820
    821821    if (iteration < 0) {
    822         iteration = detRun->iteration;
     822        iteration = detRun->iteration;
    823823    }
    824824
     
    980980    psString query = pxDataGet("dettool_definebydetrun.sql");
    981981    if (!query) {
    982         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     982        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
    983983        return false;
    984984    }
     
    992992
    993993    if (only_accepted) {
    994         psStringAppend(&query, " AND accept = 1");
     994        psStringAppend(&query, " AND accept = 1");
    995995    }
    996996
     
    10711071    psString query = pxDataGet("dettool_runs.sql");
    10721072    if (!query) {
    1073         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     1073        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
    10741074        return false;
    10751075    }
     
    11411141    psString query = pxDataGet("dettool_childlessrun.sql");
    11421142    if (!query) {
    1143         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     1143        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
    11441144        psFree(where);
    11451145        return false;
     
    12151215    psString query = pxDataGet("dettool_input.sql");
    12161216    if (!query) {
    1217         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     1217        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
    12181218        psFree(where);
    12191219        return false;
     
    12671267    psString query = pxDataGet("dettool_raw.sql");
    12681268    if (!query) {
    1269         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     1269        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
    12701270        return false;
    12711271    }
     
    13411341}
    13421342
    1343 // used by updatedetrunMode 
     1343// used by updatedetrunMode
    13441344bool startNewIteration(pxConfig *config, psS64 det_id)
    13451345{
     
    13481348    psString query = pxDataGet("dettool_start_new_iteration.sql");
    13491349    if (!query) {
    1350         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     1350        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
    13511351        return false;
    13521352    }
     
    15671567        }
    15681568        detInputExpRow *newInputExp = detInputExpRowAlloc(
    1569             det_id,
     1569            det_id,
    15701570            newIteration,
    15711571            inputExp->exp_id,
     
    16651665                      solang_max,
    16661666                      label,
    1667                       ref_det_id,
    1668                       ref_iter
     1667                      ref_det_id,
     1668                      ref_iter
    16691669            )) {
    16701670        psError(PS_ERR_UNKNOWN, false, "database error");
     
    17161716{
    17171717    PS_ASSERT_PTR_NON_NULL(config, false);
    1718    
     1718
    17191719    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required
    17201720    PXOPT_LOOKUP_STR(class_id, config->args, "-class_id", true, false); // required
     
    17311731
    17321732    if (!detRegisteredImfileInsert(config->dbh,
    1733                                    det_id,
    1734                                    0,  // the iteration is fixed at 0
    1735                                    class_id,
    1736                                    uri,
    1737                                    bg,
    1738                                    bg_stdev,
    1739                                    bg_mean_stdev,
    1740                                    user_1,
    1741                                    user_2,
    1742                                    user_3,
    1743                                    user_4,
    1744                                    user_5,
    1745                                    path_base,
    1746                                    "full",                                 
    1747                                    0       // fault code
    1748             )) {
     1733                                   det_id,
     1734                                   0,  // the iteration is fixed at 0
     1735                                   class_id,
     1736                                   uri,
     1737                                   bg,
     1738                                   bg_stdev,
     1739                                   bg_mean_stdev,
     1740                                   user_1,
     1741                                   user_2,
     1742                                   user_3,
     1743                                   user_4,
     1744                                   user_5,
     1745                                   path_base,
     1746                                   "full",
     1747                                   0       // fault code
     1748            )) {
    17491749        psError(PS_ERR_UNKNOWN, false, "database error");
    17501750        return false;
     
    19791979
    19801980    char *query = "UPDATE detStackedImfile SET data_state = '%s'"
    1981         " WHERE det_id = %" PRId64
    1982         " AND iteration = %" PRId32
    1983         " AND class_id = '%s'";
     1981        " WHERE det_id = %" PRId64
     1982        " AND iteration = %" PRId32
     1983        " AND class_id = '%s'";
    19841984    if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, iteration, class_id)) {
    19851985        psError(PS_ERR_UNKNOWN, false,
    1986                 "failed to change state for det_id %" PRId64 ", iteration %" PRId32 "class_id %s", 
    1987                 det_id, iteration, class_id);
     1986                "failed to change state for det_id %" PRId64 ", iteration %" PRId32 "class_id %s",
     1987                det_id, iteration, class_id);
    19881988        return false;
    19891989    }
     
    20012001
    20022002    char *query = "UPDATE detNormalizedStatImfile SET data_state = '%s'"
    2003         " WHERE det_id = %" PRId64
    2004         " AND iteration = %" PRId32
    2005         " AND class_id = '%s'";
     2003        " WHERE det_id = %" PRId64
     2004        " AND iteration = %" PRId32
     2005        " AND class_id = '%s'";
    20062006/*     fprintf(stderr,"DETTOOL SAYS: %s\n",query); */
    20072007    if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, iteration,class_id)) {
    20082008        psError(PS_ERR_UNKNOWN, false,
    2009                 "failed to change state for det_id %" PRId64 ", iteration %" PRId32, 
    2010                 det_id, iteration);
     2009                "failed to change state for det_id %" PRId64 ", iteration %" PRId32,
     2010                det_id, iteration);
    20112011        return false;
    20122012    }
     
    20242024
    20252025    char *query = "UPDATE detNormalizedImfile SET data_state = '%s'"
    2026         " WHERE det_id = %" PRId64
    2027         " AND iteration = %" PRId32
    2028         " AND class_id = '%s'";
     2026        " WHERE det_id = %" PRId64
     2027        " AND iteration = %" PRId32
     2028        " AND class_id = '%s'";
    20292029    if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, iteration, class_id)) {
    20302030        psError(PS_ERR_UNKNOWN, false,
    2031                 "failed to change state for det_id %" PRId64 ", iteration %" PRId32 " class %s", 
    2032                 det_id, iteration, class_id);
     2031                "failed to change state for det_id %" PRId64 ", iteration %" PRId32 " class %s",
     2032                det_id, iteration, class_id);
    20332033        return false;
    20342034    }
     
    20452045
    20462046    char *query = "UPDATE detNormalizedExp SET data_state = '%s'"
    2047         " WHERE det_id = %" PRId64
    2048         " AND iteration = %" PRId32;
     2047        " WHERE det_id = %" PRId64
     2048        " AND iteration = %" PRId32;
    20492049    if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, iteration)) {
    20502050        psError(PS_ERR_UNKNOWN, false,
    2051                 "failed to change state for det_id %" PRId64 ", iteration %" PRId32, 
    2052                 det_id, iteration);
     2051                "failed to change state for det_id %" PRId64 ", iteration %" PRId32,
     2052                det_id, iteration);
    20532053        return false;
    20542054    }
     
    20642064    char sqlFilename[80];
    20652065  } ExportTable;
    2066  
     2066
    20672067  int numExportTables = 12;
    20682068
     
    21002100    psString query = pxDataGet(tables[i].sqlFilename);
    21012101    if (!query) {
    2102       psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     2102      psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
    21032103      return false;
    21042104    }
     
    21422142    }
    21432143    psFree(output);
    2144  
     2144
    21452145  }
    21462146
     
    21532153{
    21542154  unsigned int nFail;
    2155  
     2155
    21562156  int numImportTables = 11;
    2157  
     2157
    21582158  char tables[11] [80] = {"detInputExp", "detNormalizedExp",
    21592159    "detNormalizedImfile", "detNormalizedStatImfile", "detProcessedExp",
     
    21622162
    21632163  PS_ASSERT_PTR_NON_NULL(config, NULL);
    2164  
     2164
    21652165  PXOPT_LOOKUP_STR(infile, config->args, "-infile", true,  false);
    21662166
     
    21692169  fprintf (stdout, "---- input ----\n");
    21702170  psMetadataPrint (stderr, input, 1);
    2171  
     2171
    21722172  psMetadataItem *item = psMetadataLookup (input, "detRun");
    21732173  psAssert (item, "entry not in input?");
     
    21792179  detRunRow *detRun = detRunObjectFromMetadata (entry->data.md);
    21802180  detRunInsertObject (config->dbh, detRun);
    2181  
     2181
    21822182  // fprintf (stdout, "---- det run ----\n");
    21832183  // psMetadataPrint (stderr, entry->data.md, 1);
     
    21872187    psAssert (item, "entry not in input?");
    21882188    psAssert (item->type == PS_DATA_METADATA_MULTI, "entry not multi?");
    2189  
     2189
    21902190    switch (i) {
    21912191      case 0:
     
    22012201        }
    22022202        break;
    2203  
     2203
    22042204      case 1:
    22052205        for (int i = 0; i < item->data.list->n; i++) {
     
    22142214        }
    22152215        break;
    2216        
     2216
    22172217      case 2:
    22182218        for (int i = 0; i < item->data.list->n; i++) {
     
    22272227        }
    22282228        break;
    2229  
     2229
    22302230      case 3:
    22312231        for (int i = 0; i < item->data.list->n; i++) {
     
    22402240        }
    22412241        break;
    2242        
     2242
    22432243      case 4:
    22442244        for (int i = 0; i < item->data.list->n; i++) {
     
    22532253        }
    22542254        break;
    2255        
     2255
    22562256      case 5:
    22572257        for (int i = 0; i < item->data.list->n; i++) {
     
    22662266        }
    22672267        break;
    2268        
     2268
    22692269      case 6:
    22702270        for (int i = 0; i < item->data.list->n; i++) {
     
    22792279        }
    22802280        break;
    2281        
     2281
    22822282      case 7:
    22832283        for (int i = 0; i < item->data.list->n; i++) {
     
    22922292        }
    22932293        break;
    2294        
     2294
    22952295      case 8:
    22962296        for (int i = 0; i < item->data.list->n; i++) {
     
    23052305        }
    23062306        break;
    2307        
     2307
    23082308      case 9:
    23092309        for (int i = 0; i < item->data.list->n; i++) {
     
    23182318        }
    23192319        break;
    2320        
     2320
    23212321      case 10:
    23222322        for (int i = 0; i < item->data.list->n; i++) {
Note: See TracChangeset for help on using the changeset viewer.