IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 11326


Ignore:
Timestamp:
Jan 26, 2007, 1:42:34 PM (19 years ago)
Author:
jhoblitt
Message:

add support for handling psError codes returned by psDB*() calls

File:
1 edited

Legend:

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

    r11138 r11326  
    142142    psArray *output = p_psDBFetchResult(config->dbh);
    143143    if (!output) {
    144         // XXX PS_EXIT_PROG_ERROR (incorrect SQL) or SYS_ERROR (database comms)
    145         psError(PXTOOLS_ERR_PROG, false, "database error");
     144        psErrorCode err = psErrorCodeLast();
     145        switch (err) {
     146            PS_ERR_DB_CLIENT:
     147                psError(PXTOOLS_ERR_SYS, false, "database error");
     148            PS_ERR_DB_SERVER:
     149                psError(PXTOOLS_ERR_PROG, false, "database error");
     150            default:
     151                psError(PXTOOLS_ERR_PROG, false, "unknown error");
     152        }
     153       
    146154        return false;
    147155    }
     
    253261    psArray *output = p_psDBFetchResult(config->dbh);
    254262    if (!output) {
    255         psError(PS_ERR_UNKNOWN, false, "database error");
     263        psErrorCode err = psErrorCodeLast();
     264        switch (err) {
     265            PS_ERR_DB_CLIENT:
     266                psError(PXTOOLS_ERR_SYS, false, "database error");
     267            PS_ERR_DB_SERVER:
     268                psError(PXTOOLS_ERR_PROG, false, "database error");
     269            default:
     270                psError(PXTOOLS_ERR_PROG, false, "unknown error");
     271        }
     272
    256273        return false;
    257274    }
    258275    if (!psArrayLength(output)) {
    259         // XXX check psError here
    260276        psError(PS_ERR_UNKNOWN, false, "no pending newImfile rows found");
    261277        psFree(output);
     
    384400    psArray *output = p_psDBFetchResult(config->dbh);
    385401    if (!output) {
    386         psError(PS_ERR_UNKNOWN, false, "database error");
     402        psErrorCode err = psErrorCodeLast();
     403        switch (err) {
     404            PS_ERR_DB_CLIENT:
     405                psError(PXTOOLS_ERR_SYS, false, "database error");
     406            PS_ERR_DB_SERVER:
     407                psError(PXTOOLS_ERR_PROG, false, "database error");
     408            default:
     409                psError(PXTOOLS_ERR_PROG, false, "unknown error");
     410        }
     411
    387412        return false;
    388413    }
     
    489514    psArray *output = p_psDBFetchResult(config->dbh);
    490515    if (!output) {
    491         // XXX PS_EXIT_PROG_ERROR (incorrect SQL) or SYS_ERROR (database comms)
    492         psError(PXTOOLS_ERR_PROG, false, "database error");
     516        psErrorCode err = psErrorCodeLast();
     517        switch (err) {
     518            PS_ERR_DB_CLIENT:
     519                psError(PXTOOLS_ERR_SYS, false, "database error");
     520            PS_ERR_DB_SERVER:
     521                psError(PXTOOLS_ERR_PROG, false, "database error");
     522            default:
     523                psError(PXTOOLS_ERR_PROG, false, "unknown error");
     524        }
     525
    493526        return false;
    494527    }
     
    568601    psArray *output = p_psDBFetchResult(config->dbh);
    569602    if (!output) {
    570         psError(PS_ERR_UNKNOWN, false, "database error");
     603        psErrorCode err = psErrorCodeLast();
     604        switch (err) {
     605            PS_ERR_DB_CLIENT:
     606                psError(PXTOOLS_ERR_SYS, false, "database error");
     607            PS_ERR_DB_SERVER:
     608                psError(PXTOOLS_ERR_PROG, false, "database error");
     609            default:
     610                psError(PXTOOLS_ERR_PROG, false, "unknown error");
     611        }
     612
    571613        return false;
    572614    }
     
    789831    psArray *output = p_psDBFetchResult(config->dbh);
    790832    if (!output) {
    791         psError(PS_ERR_UNKNOWN, false, "database error");
     833        psErrorCode err = psErrorCodeLast();
     834        switch (err) {
     835            PS_ERR_DB_CLIENT:
     836                psError(PXTOOLS_ERR_SYS, false, "database error");
     837            PS_ERR_DB_SERVER:
     838                psError(PXTOOLS_ERR_PROG, false, "database error");
     839            default:
     840                psError(PXTOOLS_ERR_PROG, false, "unknown error");
     841        }
     842
    792843        return false;
    793844    }
Note: See TracChangeset for help on using the changeset viewer.