- Timestamp:
- Aug 30, 2013, 4:48:58 PM (13 years ago)
- Location:
- branches/eam_branches/ipp-20130711/ippTools/src
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
releasetool.c (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20130711/ippTools/src
- Property svn:mergeinfo changed
/trunk/ippTools/src (added) merged: 35856,35888,35896-35897,35955,35960,36009,36019,36041,36046
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20130711/ippTools/src/releasetool.c
r35795 r36071 47 47 static bool updaterelstackMode(pxConfig *config); 48 48 static bool listrelstackMode(pxConfig *config); 49 static bool summaryMode(pxConfig *config); 49 50 static bool definerelgroupMode(pxConfig *config); 50 51 static bool pendingrelgroupMode(pxConfig *config); … … 84 85 MODECASE(RELEASETOOL_MODE_UPDATERELSTACK, updaterelstackMode); 85 86 MODECASE(RELEASETOOL_MODE_LISTRELSTACK, listrelstackMode); 87 MODECASE(RELEASETOOL_MODE_SUMMARY, summaryMode); 86 88 87 89 MODECASE(RELEASETOOL_MODE_DEFINERELGROUP, definerelgroupMode); … … 180 182 PS_ASSERT_PTR_NON_NULL(config, false); 181 183 182 PXOPT_LOOKUP_S32(surveyID, config->args, "-set_surveyID", true, false);183 PXOPT_LOOKUP_STR(release_name, config->args, "-set_release_name", true, false);184 PXOPT_LOOKUP_S32(surveyID, config->args, "-set_surveyID", true, false); 185 PXOPT_LOOKUP_STR(release_name, config->args, "-set_release_name", true, false); 184 186 PXOPT_LOOKUP_STR(release_state, config->args, "-set_release_state", true, false); 185 PXOPT_LOOKUP_S32(dataRelease, config->args, "-set_dataRelease", false, false); 186 PXOPT_LOOKUP_S32(priority, config->args, "-set_priority", false, false); 187 PXOPT_LOOKUP_S32(dataRelease, config->args, "-set_dataRelease", false, false); 188 PXOPT_LOOKUP_S32(priority, config->args, "-set_priority", false, false); 189 PXOPT_LOOKUP_STR(dvodb, config->args, "-set_dvodb", false, false); 190 PXOPT_LOOKUP_STR(ubercal_file, config->args, "-set_ubercal_file", false, false); 187 191 188 192 if (!ippReleaseInsert(config->dbh, … … 192 196 release_state, 193 197 dataRelease, 194 priority 198 priority, 199 dvodb, 200 ubercal_file 195 201 )) { 196 202 psError(PS_ERR_UNKNOWN, false, "failed to insert ippRelease"); … … 215 221 PXOPT_LOOKUP_S32(priority, config->args, "-set_priority", false, false); 216 222 PXOPT_LOOKUP_S32(dataRelease, config->args, "-set_dataRelease", false, false); 217 if (!release_state && priority == 0 && dataRelease == -1) { 218 psError(PXTOOLS_ERR_CONFIG, true, "at least one of -set_release_state -set_priority and -set_dataRelease is required\n"); 223 PXOPT_LOOKUP_STR(dvodb, config->args, "-set_dvodb", false, false); 224 PXOPT_LOOKUP_STR(ubercal_file, config->args, "-set_ubercal_file", false, false); 225 if (!release_state && priority == 0 && dataRelease == -1 && !dvodb && !ubercal_file) { 226 psError(PXTOOLS_ERR_CONFIG, true, "at least one of -set_release_state -set_priority -set_dvodb -set_ubercal_file and -set_dataRelease is required\n"); 219 227 return false; 220 228 } … … 238 246 if (dataRelease != -1) { 239 247 psStringAppend(&query, "%s dataRelease = %d", sep, dataRelease); 248 sep = comma; 249 } 250 if (dvodb) { 251 psStringAppend(&query, "%s dvodb = '%s'", sep, dvodb); 252 sep = comma; 253 } 254 if (ubercal_file) { 255 psStringAppend(&query, "%s ubercal_file = '%s'", sep, ubercal_file); 240 256 sep = comma; 241 257 } … … 366 382 PXOPT_LOOKUP_F32(user_zpt_obs, config->args, "-set_zpt_obs", false, false); 367 383 PXOPT_LOOKUP_F32(user_zpt_stdev, config->args, "-set_zpt_stdev", false, false); 384 PXOPT_LOOKUP_F32(mcal, config->args, "-set_mcal", false, false); 385 PXOPT_LOOKUP_S32(ubercal_dist, config->args, "-set_ubercal_dist", false, false); 368 386 PXOPT_LOOKUP_STR(path_base, config->args, "-set_path_base", false, false); 369 387 PXOPT_LOOKUP_S16(fault, config->args, "-set_fault", false, false); … … 456 474 zpt_obs, 457 475 zpt_stdev, 476 mcal, 477 ubercal_dist, 458 478 path_base, 459 479 fault, … … 496 516 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); 497 517 PXOPT_LOOKUP_U32(flags, config->args, "-set_flags", false, false); 498 PXOPT_LOOKUP_STR(path_base, config->args, "-set_path_base", false, false);518 PXOPT_LOOKUP_STR(path_base,config->args, "-set_path_base", false, false); 499 519 PXOPT_LOOKUP_F32(zpt_obs, config->args, "-set_zpt_obs", false, false); 500 520 PXOPT_LOOKUP_F32(zpt_stdev,config->args, "-set_zpt_stdev", false, false); 521 PXOPT_LOOKUP_F32(mcal, config->args, "-set_mcal", false, false); 501 522 PXOPT_LOOKUP_S16(fault, config->args, "-set_fault", false, false); 523 PXOPT_LOOKUP_S32(ubercal_dist, config->args, "-set_ubercal_dist", false, false); 502 524 PXOPT_LOOKUP_BOOL(clearfault, config->args, "-clearfault", false); 503 if (!state && !flags && !path_base && !isfinite(zpt_obs) && !isfinite(zpt_stdev) && !fault && !clearfault) { 525 if (!state && !flags && !path_base && !isfinite(zpt_obs) && !isfinite(zpt_stdev) &&!isfinite(mcal) 526 && !fault && !clearfault && !ubercal_dist) { 504 527 psError(PXTOOLS_ERR_CONFIG, true, "must set at least one column\n"); 505 528 return false; … … 557 580 sep = comma; 558 581 } 582 if (isfinite(mcal)) { 583 psStringAppend(&query, "%s relExp.mcal = %f", sep, mcal); 584 sep = comma; 585 } 586 if (ubercal_dist) { 587 psStringAppend(&query, "%s relExp.ubercal_dist = %d", sep, ubercal_dist); 588 sep = comma; 589 } 559 590 560 591 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); … … 569 600 570 601 psU64 affected = psDBAffectedRows(config->dbh); 571 psLogMsg("releasetool", PS_LOG_INFO, "Updated %" PRIu64 " ippReleases", affected);602 psLogMsg("releasetool", PS_LOG_INFO, "Updated %" PRIu64 " relExp rows", affected); 572 603 573 604 … … 1049 1080 1050 1081 if (priority_order) { 1051 psStringAppend(&query, "\nAND priority > 0 order by stack_id, priority DESC"); 1082 psStringAppend(&query, "\nAND priority > 0 order by priority DESC, stack_id"); 1083 } 1084 1085 if (limit) { 1086 psString limitString = psDBGenerateLimitSQL(limit); 1087 psStringAppend(&query, " %s", limitString); 1088 psFree(limitString); 1089 } 1090 1091 if (!p_psDBRunQuery(config->dbh, query)) { 1092 psError(PS_ERR_UNKNOWN, false, "database error"); 1093 psFree(query); 1094 return false; 1095 } 1096 psFree(query); 1097 1098 psArray *output = p_psDBFetchResult(config->dbh); 1099 if (!output) { 1100 psError(PS_ERR_UNKNOWN, false, "database error"); 1101 return false; 1102 } 1103 1104 if (!psArrayLength(output)) { 1105 psTrace("releasetool", PS_LOG_INFO, "no rows found"); 1106 psFree(output); 1107 return true; 1108 } 1109 1110 if (!ippdbPrintMetadatas(stdout, output, "relStack", !simple)) { 1111 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 1112 psFree(output); 1113 return false; 1114 } 1115 1116 psFree(output); 1117 1118 return true; 1119 } 1120 static bool summaryMode(pxConfig *config) 1121 { 1122 PS_ASSERT_PTR_NON_NULL(config, NULL); 1123 1124 psMetadata *where = psMetadataAlloc(); 1125 1126 PXOPT_COPY_S64(config->args, where, "-sass_id", "stackAssociation.sass_id", "=="); 1127 PXOPT_COPY_S64(config->args, where, "-relstack_id", "relStack.relstack_id", "=="); 1128 PXOPT_COPY_S64(config->args, where, "-stack_id", "relStack.stack_id", "=="); 1129 // PXOPT_COPY_S64(config->args, where, "-skycal_id", "relStack.skycal_id", "=="); 1130 PXOPT_COPY_S64(config->args, where, "-relstack_id", "relStack.relstack_id", "=="); 1131 PXOPT_COPY_STR(config->args, where, "-release_name", "ippRelease.release_name", "LIKE"); 1132 pxAddLabelSearchArgs(config, where, "-release_state","ippRelease.state", "=="); 1133 // PXOPT_COPY_STR(config->args, where, "-state", "relStack.state", "=="); 1134 PXOPT_COPY_STR(config->args, where, "-filter", "relStack.filter", "LIKE"); 1135 // PXOPT_COPY_F32(config->args, where, "-mjd_min", "stackSumSkyfile.mjd_obs", ">="); 1136 // PXOPT_COPY_F32(config->args, where, "-mjd_max", "stackSumSkyfile.mjd_obs", "<="); 1137 PXOPT_COPY_STR(config->args, where, "-tess_id", "relStack.tess_id", "=="); 1138 PXOPT_COPY_STR(config->args, where, "-skycell_id", "relStack.skycell_id", "LIKE"); 1139 PXOPT_COPY_STR(config->args, where, "-projection_cell", "stackAssociation.projection_cell", "LIKE"); 1140 PXOPT_COPY_STR(config->args, where, "-stack_data_group", "stackRun.data_group", "LIKE"); 1141 PXOPT_COPY_STR(config->args, where, "-data_group", "stackAssociation.data_group", "LIKE"); 1142 // PXOPT_COPY_STR(config->args, where, "-skycal_data_group", "skycalRun.data_group", "LIKE"); 1143 1144 PXOPT_COPY_STR(config->args, where, "-surveyName", "survey.surveyName", "LIKE"); 1145 PXOPT_COPY_S32(config->args, where, "-rel_id", "relExp.rel_id", "=="); 1146 pxskycellAddWhere(config, where); 1147 1148 // PXOPT_COPY_F32(config->args, where, "-fwhm_min", "IFNULL(skycalResult.fwhm_major, 999)", ">="); 1149 // PXOPT_COPY_F32(config->args, where, "-fwhm_max", "IFNULL(skycalResult.fwhm_major, 0)", "<="); 1150 1151 PXOPT_LOOKUP_BOOL(priority_order, config->args, "-priority_order", false); 1152 1153 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 1154 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 1155 1156 pxAddLabelSearchArgs (config, where, "-stack_type", "relStack.stack_type", "=="); 1157 1158 psString query = pxDataGet("releasetool_summary.sql"); 1159 if (!query) { 1160 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1161 return false; 1162 } 1163 1164 if (psListLength(where->list)) { 1165 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1166 psStringAppend(&query, "\nWHERE %s", whereClause); 1167 psFree(whereClause); 1168 } else { 1169 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required\n"); 1170 psFree(where); 1171 return false; 1172 } 1173 1174 if (priority_order) { 1175 psStringAppend(&query, "\nAND priority > 0 order by priority DESC, stack_id"); 1052 1176 } 1053 1177
Note:
See TracChangeset
for help on using the changeset viewer.
