IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 21099


Ignore:
Timestamp:
Jan 9, 2009, 10:09:19 AM (17 years ago)
Author:
bills
Message:

handle -label in modes -totree and -toprocess

Location:
trunk/ippTools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/share/magictool_toprocess_tree.sql

    r20698 r21099  
    1616WHERE
    1717    magicRun.state = 'run'
     18    -- where hook %s
    1819ORDER BY
    1920    magicRun.magic_id
  • trunk/ippTools/src/magictool.c

    r21005 r21099  
    457457    psMetadata *where = psMetadataAlloc();
    458458    PXOPT_COPY_S64(config->args, where, "-magic_id", "magicRun.magic_id", "==");
     459    PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
    459460
    460461    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
     
    738739    psMetadata *where = psMetadataAlloc();
    739740    PXOPT_COPY_S64(config->args, where, "-magic_id", "magic_id", "==");
     741    PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
    740742
    741743    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     
    750752    psString whereClause = NULL;
    751753    if (psListLength(where->list)) {
    752         whereClause = psDBGenerateWhereSQL(where, NULL);
    753         psStringAppend(&query, " %s", whereClause);
    754         psFree(whereClause);
     754        whereClause = psDBGenerateWhereConditionSQL(where, NULL);
     755        psStringAppend(&query, " AND %s", whereClause);
    755756    }
    756757    psFree(where);
     
    789790
    790791    if (whereClause) {
    791         psStringAppend(&query, " %s", whereClause);
    792     }
    793 
    794     if (!p_psDBRunQuery(config->dbh, query)) {
    795         psError(PS_ERR_UNKNOWN, false, "database error");
     792        psString new  = NULL;
     793        psStringAppend(&new, "\n AND %s", whereClause);
     794        psFree(whereClause);
     795        whereClause = new;
     796    }
     797    if (!p_psDBRunQuery(config->dbh, query, whereClause ? whereClause :  "")) {
     798        psError(PS_ERR_UNKNOWN, false, "database error");
     799        psFree(whereClause);
    796800        psFree(query);
    797801        return false;
    798802    }
     803    psFree(whereClause);
    799804    psFree(query);
    800805
     
    886891    psFree(magicTree);
    887892    psFree(output);
    888     psFree(whereClause);
    889893
    890894    return true;
  • trunk/ippTools/src/magictoolConfig.c

    r21005 r21099  
    9393    psMetadataAddS64(totreeArgs, PS_LIST_TAIL, "-magic_id", 0, "search by magic ID", 0);
    9494    psMetadataAddU64(totreeArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0);
     95    psMetadataAddStr(totreeArgs, PS_LIST_TAIL, "-label",       0, "define label", NULL);
    9596    psMetadataAddBool(totreeArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false);
    9697
     
    117118    psMetadataAddS64(toprocessArgs, PS_LIST_TAIL, "-magic_id", 0, "search by magic ID", 0);
    118119    psMetadataAddU64(toprocessArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0);
     120    psMetadataAddStr(toprocessArgs, PS_LIST_TAIL, "-label",       0, "define label", NULL);
    119121    psMetadataAddBool(toprocessArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false);
    120122
Note: See TracChangeset for help on using the changeset viewer.