IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 32786


Ignore:
Timestamp:
Nov 23, 2011, 1:47:48 PM (14 years ago)
Author:
bills
Message:

add pstamptool -deletefile to insure that the file list for a job is empty

Location:
trunk/ippTools/src
Files:
3 edited

Legend:

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

    r32771 r32786  
    5858static bool addfileMode(pxConfig *config);
    5959static bool listfileMode(pxConfig *config);
     60static bool deletefileMode(pxConfig *config);
    6061
    6162# define MODECASE(caseName, func) \
     
    107108        MODECASE(PSTAMPTOOL_MODE_ADDFILE, addfileMode);
    108109        MODECASE(PSTAMPTOOL_MODE_LISTFILE, listfileMode);
     110        MODECASE(PSTAMPTOOL_MODE_DELETEFILE, deletefileMode);
    109111        default:
    110112            psAbort("invalid option (this should not happen)");
     
    15791581}
    15801582
     1583static bool deletefileMode(pxConfig *config)
     1584{
     1585    PS_ASSERT_PTR_NON_NULL(config, false);
     1586
     1587    PXOPT_LOOKUP_S64(job_id, config->args, "-job_id", true, false);
     1588
     1589    psString query = NULL;
     1590    psStringAppend(&query, "DELETE FROM pstampFile WHERE job_id = %" PRId64, job_id);
     1591
     1592    if (!p_psDBRunQuery(config->dbh, query)) {
     1593        psError(PS_ERR_UNKNOWN, false, "database error");
     1594        psFree(query);
     1595        return false;
     1596    }
     1597    psFree(query);
     1598
     1599    psU64 affected = psDBAffectedRows(config->dbh);
     1600    psLogMsg("pstamptool", PS_LOG_INFO, "Deleted %" PRIu64 " rows from pstampFile", affected);
     1601
     1602    return true;
     1603}
  • trunk/ippTools/src/pstamptool.h

    r32771 r32786  
    5252    PSTAMPTOOL_MODE_ADDFILE,
    5353    PSTAMPTOOL_MODE_LISTFILE,
     54    PSTAMPTOOL_MODE_DELETEFILE,
    5455} pstamptoolMode;
    5556
  • trunk/ippTools/src/pstamptoolConfig.c

    r32771 r32786  
    287287    psMetadataAddBool(listfileArgs, PS_LIST_TAIL, "-simple",     0, "use the simple output format", false);
    288288
     289    // -deletefile
     290    psMetadata *deletefileArgs = psMetadataAlloc();
     291    psMetadataAddS64(deletefileArgs, PS_LIST_TAIL, "-job_id",      0, "select by job ID (required)", 0);
     292
    289293    PXOPT_ADD_MODE("-addreq",          "", PSTAMPTOOL_MODE_ADDREQ,       addreqArgs);
    290294    PXOPT_ADD_MODE("-pendingreq",      "", PSTAMPTOOL_MODE_PENDINGREQ,   pendingreqArgs);
     
    317321    PXOPT_ADD_MODE("-addfile",         "", PSTAMPTOOL_MODE_ADDFILE,   addfileArgs);
    318322    PXOPT_ADD_MODE("-listfile",        "", PSTAMPTOOL_MODE_LISTFILE,   listfileArgs);
     323    PXOPT_ADD_MODE("-deletefile",      "", PSTAMPTOOL_MODE_DELETEFILE,   deletefileArgs);
    319324
    320325    if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
Note: See TracChangeset for help on using the changeset viewer.