Changeset 24934
- Timestamp:
- Jul 28, 2009, 2:10:20 PM (17 years ago)
- Location:
- trunk/ippTools
- Files:
-
- 1 deleted
- 1 edited
-
share/stacktool_revertsumskyfile_update.sql (deleted)
-
src/stacktool.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/stacktool.c
r24933 r24934 937 937 } 938 938 939 if (!psDBTransaction(config->dbh)) { 940 psError(PS_ERR_UNKNOWN, false, "database error"); 939 // Delete product 940 psString delete = pxDataGet("stacktool_revertsumskyfile_delete.sql"); 941 if (!delete) { 942 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 943 return false; 944 } 945 946 if (psListLength(where->list)) { 947 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 948 psStringAppend(&delete, " AND %s", whereClause); 949 psFree(whereClause); 950 } 951 952 if (!p_psDBRunQuery(config->dbh, delete)) { 953 psError(PS_ERR_UNKNOWN, false, "database error"); 954 psFree(delete); 941 955 psFree(where); 942 956 return false; 943 957 } 944 945 int numStacks; // Number of stacks affected 946 947 // Update state to 'new' 948 { 949 psString update = pxDataGet("stacktool_revertsumskyfile_update.sql"); 950 if (!update) { 951 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 952 if (!psDBRollback(config->dbh)) { 953 psError(PS_ERR_UNKNOWN, false, "database error"); 954 } 955 return false; 956 } 957 958 if (psListLength(where->list)) { 959 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 960 psStringAppend(&update, " AND %s", whereClause); 961 psFree(whereClause); 962 } 963 964 if (!p_psDBRunQuery(config->dbh, update)) { 965 psError(PS_ERR_UNKNOWN, false, "database error"); 966 psFree(update); 967 psFree(where); 968 if (!psDBRollback(config->dbh)) { 969 psError(PS_ERR_UNKNOWN, false, "database error"); 970 } 971 return false; 972 } 973 psFree(update); 974 975 numStacks = psDBAffectedRows(config->dbh); 976 977 if (numStacks < 1) { 978 psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row"); 979 if (!psDBRollback(config->dbh)) { 980 psError(PS_ERR_UNKNOWN, false, "database error"); 981 } 982 return false; 983 } 984 } 985 986 // Delete product 987 { 988 psString delete = pxDataGet("stacktool_revertsumskyfile_delete.sql"); 989 if (!delete) { 990 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 991 if (!psDBRollback(config->dbh)) { 992 psError(PS_ERR_UNKNOWN, false, "database error"); 993 } 994 return false; 995 } 996 997 if (psListLength(where->list)) { 998 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 999 psStringAppend(&delete, " AND %s", whereClause); 1000 psFree(whereClause); 1001 } 1002 1003 if (!p_psDBRunQuery(config->dbh, delete)) { 1004 psError(PS_ERR_UNKNOWN, false, "database error"); 1005 psFree(delete); 1006 psFree(where); 1007 if (!psDBRollback(config->dbh)) { 1008 psError(PS_ERR_UNKNOWN, false, "database error"); 1009 } 1010 return false; 1011 } 1012 psFree(delete); 1013 1014 if (psDBAffectedRows(config->dbh) != numStacks) { 1015 psError(PS_ERR_UNKNOWN, true, "Updated and deleted different number of entries!"); 1016 psFree(where); 1017 if (!psDBRollback(config->dbh)) { 1018 psError(PS_ERR_UNKNOWN, false, "database error"); 1019 } 1020 return false; 1021 } 1022 1023 } 1024 1025 if (!psDBCommit(config->dbh)) { 1026 psError(PS_ERR_UNKNOWN, false, "database error"); 1027 return false; 1028 } 958 psFree(delete); 959 960 int numRows = psDBAffectedRows(config->dbh); // Number of row affected 961 psLogMsg("stacktool", PS_LOG_INFO, "Deleted %d rows", numRows); 1029 962 1030 963 psFree(where);
Note:
See TracChangeset
for help on using the changeset viewer.
