IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Oct 20, 2010, 9:39:26 AM (16 years ago)
Author:
bills
Message:

changes to implment saving magic streaks file and verify outputs in nebulous and to add data_state to Background tables to support cleanup

File:
1 edited

Legend:

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

    r28768 r29493  
    5050static bool exposureMode(pxConfig *config);
    5151
    52 static bool setmagicRunState(pxConfig *config, psS64 magic_id, const char *state);
     52static bool setmagicRunState(pxConfig *config, psS64 magic_id, const char *state, psString setString);
    5353static bool parseAndInsertNodeDeps(pxConfig *config, psS64 magic_id, const char *filename);
    5454
     
    131131
    132132    psMetadata *queryWhere = psMetadataAlloc(); // WHERE conditions for everything else
    133     PXOPT_COPY_S64(config->args, queryWhere, "-exp_id", "exp_id", "==");
     133    PXOPT_COPY_S64(config->args, queryWhere, "-exp_id", "rawExp.exp_id", "==");
    134134    PXOPT_COPY_STR(config->args, queryWhere, "-select_filter", "rawExp.filter", "==");
    135135
     
    394394    // required
    395395    PXOPT_LOOKUP_S64(magic_id, config->args, "-magic_id", true, false);
    396     PXOPT_LOOKUP_STR(state, config->args, "-state", true, false);
     396    PXOPT_LOOKUP_STR(state, config->args, "-set_state", true, false);
     397    PXOPT_LOOKUP_S16(fault, config->args, "-set_fault", false, false);
     398    PXOPT_LOOKUP_STR(note, config->args, "-set_note", false, false);
     399    PXOPT_LOOKUP_BOOL(clearfault, config->args, "-clearfault", false);
     400
     401    psString setString = NULL;
     402    if (fault || clearfault) {
     403        psStringAppend(&setString, ", fault = %d", fault);
     404    }
     405    if (note) {
     406        psStringAppend(&setString, ", note = '%s'", note);
     407    }
    397408
    398409    if (state) {
    399410        // set detRun.state to state
    400         return setmagicRunState(config, magic_id, state);
     411        return setmagicRunState(config, magic_id, state, setString);
    401412    }
    402413
     
    612623    PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
    613624
    614     psString query = psStringCopy("UPDATE magicRun SET fault = 0, state = 'new' WHERE fault != 0");
     625    psString query = psStringCopy("UPDATE magicRun SET fault = 0 WHERE state = 'new' AND fault != 0");
    615626
    616627    if (psListLength(where->list)) {
     
    13641375}
    13651376
    1366 static bool setmagicRunState(pxConfig *config, psS64 magic_id, const char *state)
     1377static bool setmagicRunState(pxConfig *config, psS64 magic_id, const char *state, psString setString)
    13671378{
    13681379    PS_ASSERT_PTR_NON_NULL(state, false);
     
    13801391        return false;
    13811392    }
    1382 
    1383     char *query = "UPDATE magicRun SET state = '%s' WHERE magic_id = %" PRId64;
    1384     if (!p_psDBRunQueryF(config->dbh, query, state, magic_id)) {
     1393    psString query = NULL;
     1394    psStringAppend(&query, "UPDATE magicRun SET state = '%s'", state);
     1395    if (setString) {
     1396        psStringAppend(&query, setString);
     1397    }
     1398    psStringAppend(&query, " WHERE magic_id = %" PRId64, magic_id);;
     1399
     1400//    char *query = "UPDATE magicRun SET state = '%s' WHERE magic_id = %" PRId64;
     1401    if (!p_psDBRunQuery(config->dbh, query)) {
    13851402        psError(PS_ERR_UNKNOWN, false,
    13861403                "failed to change state for magic_id %" PRId64, magic_id);
Note: See TracChangeset for help on using the changeset viewer.