Changeset 27838 for branches/tap_branches/ippTools/src/stacktool.c
- Timestamp:
- May 3, 2010, 8:41:49 AM (16 years ago)
- Location:
- branches/tap_branches
- Files:
-
- 3 edited
-
. (modified) (1 prop)
-
ippTools/src (modified) (1 prop)
-
ippTools/src/stacktool.c (modified) (21 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/tap_branches
- Property svn:mergeinfo changed
-
branches/tap_branches/ippTools/src
- Property svn:ignore
-
old new 16 16 difftool 17 17 disttool 18 dqstatstool 18 19 faketool 19 20 flatcorr
-
- Property svn:ignore
-
branches/tap_branches/ippTools/src/stacktool.c
r25851 r27838 124 124 125 125 // select based on properties of the raw exposures 126 PXOPT_COPY_STR(config->args, where, "-select_comment", "rawExp.comment", "LIKE"); 126 127 PXOPT_COPY_STR(config->args, where, "-select_inst", "rawExp.camera", "=="); 127 128 PXOPT_COPY_STR(config->args, where, "-select_telescope", "rawExp.telescope", "=="); … … 145 146 PXOPT_COPY_F32(config->args, where, "-select_fwhm_minor_min", "camProcessedExp.fwhm_minor", ">="); 146 147 PXOPT_COPY_F32(config->args, where, "-select_fwhm_minor_max", "camProcessedExp.fwhm_minor", "<="); 147 PXOPT_COPY_F32(config->args, where, "-select_iq_m2_max", "camProcessedExp.iq_m2", "<=");148 PXOPT_COPY_F32(config->args, where, "-select_iq_m2_min", "camProcessedExp.iq_m2", ">=");149 PXOPT_COPY_F32(config->args, where, "-select_iq_m3_max", "camProcessedExp.iq_m3", "<=");150 PXOPT_COPY_F32(config->args, where, "-select_iq_m4_min", "camProcessedExp.iq_m4", ">=");151 PXOPT_COPY_F32(config->args, where, "-select_iq_m4_max", "camProcessedExp.iq_m4", "<=");152 148 PXOPT_COPY_F32(config->args, where, "-select_iq_m2_max", "camProcessedExp.iq_m2", "<="); 149 PXOPT_COPY_F32(config->args, where, "-select_iq_m2_min", "camProcessedExp.iq_m2", ">="); 150 PXOPT_COPY_F32(config->args, where, "-select_iq_m3_max", "camProcessedExp.iq_m3", "<="); 151 PXOPT_COPY_F32(config->args, where, "-select_iq_m4_min", "camProcessedExp.iq_m4", ">="); 152 PXOPT_COPY_F32(config->args, where, "-select_iq_m4_max", "camProcessedExp.iq_m4", "<="); 153 153 154 PXOPT_COPY_STR(config->args, where, "-select_exp_type", "rawExp.exp_type", "=="); 154 155 PXOPT_COPY_F32(config->args, where, "-select_good_frac_min", "warpSkyfile.good_frac", ">="); 155 156 PXOPT_COPY_STR(config->args, where, "-select_skycell_id", "warpSkyfile.skycell_id", "=="); 156 pxAddLabelSearchArgs (config, where, "-select_label", "warpRun.label", "LIKE"); 157 PXOPT_COPY_STR(config->args, where, "-select_data_group", "warpRun.data_group", "=="); 158 pxAddLabelSearchArgs (config, where, "-select_label", "warpRun.label", "LIKE"); // define using warp label 157 159 158 160 // these are used to build the HAVING restriction 159 161 PXOPT_COPY_S32(config->args, having, "-min_num", "num_warp", ">="); 162 PXOPT_LOOKUP_S32(min_num, config->args, "-min_num", false, false); 163 if (min_num < 2) { 164 psError(PXTOOLS_ERR_CONFIG, true, "Require at least two inputs for a stack, but min_num = %d", 165 min_num); 166 psFree(where); 167 psFree(having); 168 return false; 169 } 160 170 161 171 // other options applied outside of the WHERE … … 168 178 169 179 if (!psListLength(where->list)) { 180 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 170 181 psFree(where); 171 ps Error(PXTOOLS_ERR_DATA, false, "search parameters are required");172 return false; 173 } 174 175 psString select = pxDataGet("stacktool_definebyquery_ part1.sql");182 psFree(having); 183 return false; 184 } 185 186 psString select = pxDataGet("stacktool_definebyquery_select.sql"); 176 187 if (!select) { 177 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 178 return false; 179 } 180 188 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 189 psFree(where); 190 psFree(having); 191 return false; 192 } 193 194 psString where1 = psStringCopy(""); 181 195 if (psListLength(where->list)) { 182 196 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 183 psStringAppend(& select, "AND %s", whereClause);197 psStringAppend(&where1, "\nAND %s", whereClause); 184 198 psFree(whereClause); 185 199 } 186 200 187 psString groupby = pxDataGet("stacktool_definebyquery_part2.sql"); 188 if (!groupby) { 189 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 190 psFree(where); 191 return false; 192 } 193 psStringAppend(&select, " %s", groupby); 194 psFree(groupby); 201 psString where2 = psStringCopy(""); 202 if (label) { 203 psStringAppend(&where2, "\nWHERE stackRun.label = '%s'", label); 204 } 195 205 196 206 // Restriction on aggregated quantities using HAVING … … 224 234 psFree(having); 225 235 226 if (!p_psDBRunQuery (config->dbh, select)) {236 if (!p_psDBRunQueryF(config->dbh, select, where1, where2)) { 227 237 psError(PS_ERR_UNKNOWN, false, "database error"); 228 238 psFree(select); 229 psFree(where); 239 psFree(where1); 240 psFree(where2); 230 241 return false; 231 242 } 232 243 psFree(select); 244 psFree(where1); 245 psFree(where2); 233 246 234 247 psArray *output = p_psDBFetchResult(config->dbh); … … 272 285 } 273 286 if (!insert) { 274 psError(PXTOOLS_ERR_ DATA, false, "failed to retreive SQL statement");287 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 275 288 psFree(where); 276 289 return false; … … 287 300 psString part2 = pxDataGet("stacktool_definebyquery_insert_random_part2.sql"); 288 301 if (!part2) { 289 psError(PXTOOLS_ERR_ DATA, false, "failed to retreive SQL statement");302 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 290 303 psFree(insert); 291 304 return false; … … 593 606 if (!psListLength(where->list)) { 594 607 psFree(where); 595 psError(PXTOOLS_ERR_ DATA, false, "search parameters are required");608 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 596 609 return false; 597 610 } … … 600 613 601 614 // pxUpdateRun gets parameters from config->args and updates 602 bool result = pxUpdateRun(config, where, &query, "stackRun", true);615 bool result = pxUpdateRun(config, where, &query, "stackRun", "stack_id", "stackSumSkyfile", true); 603 616 604 617 psFree(query); … … 663 676 psString query = pxDataGet("stacktool_inputskyfile.sql"); 664 677 if (!query) { 665 psError(PXTOOLS_ERR_ DATA, false, "failed to retreive SQL statement");678 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 666 679 return false; 667 680 } … … 669 682 if (psListLength(where->list)) { 670 683 psString whereClause = psDBGenerateWhereConditionSQL(where, "stackInputSkyfile"); 671 psStringAppend(&query, " AND%s", whereClause);684 psStringAppend(&query, " WHERE %s", whereClause); 672 685 psFree(whereClause); 673 686 } … … 737 750 psString query = pxDataGet("stacktool_tosum.sql"); 738 751 if (!query) { 739 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 740 return false; 741 } 742 752 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 753 return false; 754 } 755 756 psString whereClause = psStringCopy(""); // WHERE conditions to add 743 757 if (psListLength(where->list)) { 744 psString whereClause= psDBGenerateWhereConditionSQL(where, NULL);745 psStringAppend(& query, " AND %s", whereClause);746 psFree( whereClause);758 psString new = psDBGenerateWhereConditionSQL(where, NULL); 759 psStringAppend(&whereClause, "\nAND %s", new); 760 psFree(new); 747 761 } 748 762 psFree(where); … … 755 769 } 756 770 757 if (!p_psDBRunQuery (config->dbh, query)) {771 if (!p_psDBRunQueryF(config->dbh, query, whereClause)) { 758 772 psError(PS_ERR_UNKNOWN, false, "database error"); 759 773 psFree(query); … … 908 922 PXOPT_COPY_STR(config->args, where, "-filter", "stackRun.filter", "LIKE"); 909 923 PXOPT_COPY_STR(config->args, where, "-label", "stackRun.label", "=="); 924 PXOPT_COPY_STR(config->args, where, "-data_group", "stackRun.data_group", "LIKE"); 910 925 PXOPT_COPY_S16(config->args, where, "-fault", "stackSumSkyfile.fault", "=="); 911 926 … … 922 937 psString query = pxDataGet("stacktool_sumskyfile.sql"); 923 938 if (!query) { 924 psError(PXTOOLS_ERR_ DATA, false, "failed to retreive SQL statement");939 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 925 940 return false; 926 941 } … … 931 946 psFree(whereClause); 932 947 } else if (!all) { 933 psError(PXTOOLS_ERR_ DATA, true, "search parameters or -all are required");948 psError(PXTOOLS_ERR_CONFIG, true, "search parameters or -all are required"); 934 949 return false; 935 950 } … … 991 1006 psMetadata *where = psMetadataAlloc(); 992 1007 PXOPT_COPY_S64(config->args, where, "-stack_id", "stackSumSkyfile.stack_id", "=="); 993 PXOPT_COPY_STR(config->args, where, "-label", "stackRun.label", "==");1008 pxAddLabelSearchArgs(config, where, "-label", "stackRun.label", "=="); 994 1009 PXOPT_COPY_S16(config->args, where, "-fault", "stackSumSkyfile.fault", "=="); 995 1010 996 1011 if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) { 997 1012 psFree(where); 998 psError(PXTOOLS_ERR_ DATA, false, "search parameters are required");1013 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 999 1014 return false; 1000 1015 } … … 1003 1018 psString delete = pxDataGet("stacktool_revertsumskyfile_delete.sql"); 1004 1019 if (!delete) { 1005 psError(PXTOOLS_ERR_ DATA, false, "failed to retreive SQL statement");1020 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1006 1021 return false; 1007 1022 } … … 1084 1099 psString query = pxDataGet("stacktool_pendingcleanuprun.sql"); 1085 1100 if (!query) { 1086 psError(PXTOOLS_ERR_ DATA, false, "failed to retreive SQL statement");1101 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1087 1102 return false; 1088 1103 } … … 1148 1163 psString query = pxDataGet("stacktool_pendingcleanupskyfile.sql"); 1149 1164 if (!query) { 1150 psError(PXTOOLS_ERR_ DATA, false, "failed to retreive SQL statement");1165 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1151 1166 return false; 1152 1167 } … … 1209 1224 psString query = pxDataGet("stacktool_donecleanup.sql"); 1210 1225 if (!query) { 1211 psError(PXTOOLS_ERR_ DATA, false, "failed to retreive SQL statement");1226 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1212 1227 return false; 1213 1228 } … … 1313 1328 psString query = pxDataGet(tables[i].sqlFilename); 1314 1329 if (!query) { 1315 psError(PXTOOLS_ERR_ DATA, false, "failed to retreive SQL statement");1330 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1316 1331 return false; 1317 1332 }
Note:
See TracChangeset
for help on using the changeset viewer.
