IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ticket #442: pslib-0.6-affected_rows.patch

File pslib-0.6-affected_rows.patch, 1.4 KB (added by jhoblitt, 21 years ago)

check affected row count before committing the transaction

  • src/dataIO/psDB.c

    ? pslib-0.6-affected_rows.patch
    RCS file: /cvsroot/pan-starrs/datasys/IPP/psLib/src/dataIO/psDB.c,v
    retrieving revision 1.21
    diff -u -p -r1.21 psDB.c
    psS64 psDBUpdateRows(psDB *dbh, const ch  
    706706
    707707    psFree(bind);
    708708
     709    // mysql_stmt_affected_rows() must be called before a commit
     710    rowsAffected = mysql_stmt_affected_rows(stmt);
     711
    709712    // point of no return
    710713    mysql_commit(dbh->mysql);
    711714
    712     rowsAffected = mysql_stmt_affected_rows(stmt);
    713 
    714715    mysql_stmt_close(stmt);
    715716
    716717    return rowsAffected;
    psS64 psDBUpdateRows(psDB *dbh, const ch  
    719720psS64 psDBDeleteRows(psDB *dbh, const char *tableName, psMetadata *where)
    720721{
    721722    char            *query;
     723    unsigned long   rowsAffected;
    722724
    723725    query = psDBGenerateDeleteRowSQL(tableName, where);
    724726    if (!query) {
    psS64 psDBDeleteRows(psDB *dbh, const ch  
    744746        return 1;
    745747    }
    746748
     749    // mysql_affected_rows() must be called before a commit
     750    rowsAffected = (psS64)mysql_affected_rows(dbh->mysql);
     751
    747752    // point of no return
    748753    mysql_commit(dbh->mysql);
    749754
    750     return (psS64)mysql_affected_rows(dbh->mysql);
     755    return affected;
    751756}
    752757
    753758// database utility functions