Changeset 25022 for branches/eam_branches/20090715/ippTools/src/stacktool.c
- Timestamp:
- Aug 7, 2009, 12:45:24 PM (17 years ago)
- Location:
- branches/eam_branches/20090715
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
ippTools/src/stacktool.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/20090715
- Property svn:mergeinfo changed
/trunk (added) merged: 24801-24824,24827-24834,24836-24859,24861-24901,24903-24912,24914-24950,24953-24971,24973-24977,24986-24989,24993-25017
- Property svn:mergeinfo changed
-
branches/eam_branches/20090715/ippTools/src/stacktool.c
r24736 r25022 133 133 PXOPT_COPY_F32(config->args, where, "-select_posang_min", "rawExp.posang", ">="); 134 134 PXOPT_COPY_F32(config->args, where, "-select_posang_max", "rawExp.posang", "<="); 135 PXOPT_COPY_F32(config->args, where, "-select_s olang_min", "rawExp.solang", ">=");136 PXOPT_COPY_F32(config->args, where, "-select_s olang_max", "rawExp.solang", "<=");135 PXOPT_COPY_F32(config->args, where, "-select_sun_angle_min", "rawExp.sun_angle", ">="); 136 PXOPT_COPY_F32(config->args, where, "-select_sun_angle_max", "rawExp.sun_angle", "<="); 137 137 PXOPT_COPY_F32(config->args, where, "-select_fwhm_major_min", "camProcessedExp.fwhm_major", ">="); 138 138 PXOPT_COPY_F32(config->args, where, "-select_fwhm_major_max", "camProcessedExp.fwhm_major", "<="); … … 857 857 PXOPT_COPY_S64(config->args, where, "-exp_id", "rawExp.exp_id", "=="); 858 858 PXOPT_COPY_STR(config->args, where, "-exp_name", "rawExp.exp_name", "=="); 859 PXOPT_COPY_STR(config->args, where, "-tess_id", "stackRun.tess_id", "=="); 860 PXOPT_COPY_STR(config->args, where, "-skycell_id", "stackRun.skycell_id", "=="); 859 861 860 862 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); … … 931 933 PXOPT_COPY_S16(config->args, where, "-fault", "stackSumSkyfile.fault", "=="); 932 934 933 if (!psDBTransaction(config->dbh)) { 934 psError(PS_ERR_UNKNOWN, false, "database error"); 935 if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) { 935 936 psFree(where); 936 return false; 937 } 938 939 int numStacks; // Number of stacks affected 940 941 // Update state to 'new' 942 { 943 psString update = pxDataGet("stacktool_revertsumskyfile_update.sql"); 944 if (!update) { 945 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 946 if (!psDBRollback(config->dbh)) { 947 psError(PS_ERR_UNKNOWN, false, "database error"); 948 } 949 return false; 950 } 951 952 if (psListLength(where->list)) { 953 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 954 psStringAppend(&update, " AND %s", whereClause); 955 psFree(whereClause); 956 } 957 958 if (!p_psDBRunQuery(config->dbh, update)) { 959 psError(PS_ERR_UNKNOWN, false, "database error"); 960 psFree(update); 961 psFree(where); 962 if (!psDBRollback(config->dbh)) { 963 psError(PS_ERR_UNKNOWN, false, "database error"); 964 } 965 return false; 966 } 967 psFree(update); 968 969 numStacks = psDBAffectedRows(config->dbh); 970 971 if (numStacks < 1) { 972 psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row"); 973 if (!psDBRollback(config->dbh)) { 974 psError(PS_ERR_UNKNOWN, false, "database error"); 975 } 976 return false; 977 } 937 psError(PXTOOLS_ERR_DATA, false, "search parameters are required"); 938 return false; 978 939 } 979 940 980 941 // Delete product 981 { 982 psString delete = pxDataGet("stacktool_revertsumskyfile_delete.sql"); 983 if (!delete) { 984 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 985 if (!psDBRollback(config->dbh)) { 986 psError(PS_ERR_UNKNOWN, false, "database error"); 987 } 988 return false; 989 } 990 991 if (psListLength(where->list)) { 992 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 993 psStringAppend(&delete, " AND %s", whereClause); 994 psFree(whereClause); 995 } 996 997 if (!p_psDBRunQuery(config->dbh, delete)) { 998 psError(PS_ERR_UNKNOWN, false, "database error"); 999 psFree(delete); 1000 psFree(where); 1001 if (!psDBRollback(config->dbh)) { 1002 psError(PS_ERR_UNKNOWN, false, "database error"); 1003 } 1004 return false; 1005 } 942 psString delete = pxDataGet("stacktool_revertsumskyfile_delete.sql"); 943 if (!delete) { 944 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 945 return false; 946 } 947 948 if (psListLength(where->list)) { 949 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 950 psStringAppend(&delete, " AND %s", whereClause); 951 psFree(whereClause); 952 } 953 954 if (!p_psDBRunQuery(config->dbh, delete)) { 955 psError(PS_ERR_UNKNOWN, false, "database error"); 1006 956 psFree(delete); 1007 1008 if (psDBAffectedRows(config->dbh) != numStacks) { 1009 psError(PS_ERR_UNKNOWN, true, "Updated and deleted different number of entries!"); 1010 psFree(where); 1011 if (!psDBRollback(config->dbh)) { 1012 psError(PS_ERR_UNKNOWN, false, "database error"); 1013 } 1014 return false; 1015 } 1016 1017 } 1018 1019 if (!psDBCommit(config->dbh)) { 1020 psError(PS_ERR_UNKNOWN, false, "database error"); 1021 return false; 1022 } 957 psFree(where); 958 return false; 959 } 960 psFree(delete); 961 962 int numRows = psDBAffectedRows(config->dbh); // Number of row affected 963 psLogMsg("stacktool", PS_LOG_INFO, "Deleted %d rows", numRows); 1023 964 1024 965 psFree(where);
Note:
See TracChangeset
for help on using the changeset viewer.
