Changeset 36041 for trunk/ippTools/src
- Timestamp:
- Aug 27, 2013, 2:09:24 PM (13 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 3 edited
-
releasetool.c (modified) (3 diffs)
-
releasetool.h (modified) (1 diff)
-
releasetoolConfig.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/releasetool.c
r35897 r36041 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); … … 1078 1080 1079 1081 if (priority_order) { 1080 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, "-skycal_data_group", "skycalRun.data_group", "LIKE"); 1142 1143 PXOPT_COPY_STR(config->args, where, "-surveyName", "survey.surveyName", "LIKE"); 1144 PXOPT_COPY_S32(config->args, where, "-rel_id", "relExp.rel_id", "=="); 1145 pxskycellAddWhere(config, where); 1146 1147 // PXOPT_COPY_F32(config->args, where, "-fwhm_min", "IFNULL(skycalResult.fwhm_major, 999)", ">="); 1148 // PXOPT_COPY_F32(config->args, where, "-fwhm_max", "IFNULL(skycalResult.fwhm_major, 0)", "<="); 1149 1150 PXOPT_LOOKUP_BOOL(priority_order, config->args, "-priority_order", false); 1151 1152 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 1153 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 1154 1155 pxAddLabelSearchArgs (config, where, "-stack_type", "relStack.stack_type", "=="); 1156 1157 psString query = pxDataGet("releasetool_summary.sql"); 1158 if (!query) { 1159 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1160 return false; 1161 } 1162 1163 if (psListLength(where->list)) { 1164 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1165 psStringAppend(&query, "\nWHERE %s", whereClause); 1166 psFree(whereClause); 1167 } else { 1168 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required\n"); 1169 psFree(where); 1170 return false; 1171 } 1172 1173 if (priority_order) { 1174 psStringAppend(&query, "\nAND priority > 0 order by priority DESC, stack_id"); 1081 1175 } 1082 1176 -
trunk/ippTools/src/releasetool.h
r35213 r36041 38 38 RELEASETOOL_MODE_TOCALIBSTACK, 39 39 RELEASETOOL_MODE_LISTRELSTACK, 40 RELEASETOOL_MODE_SUMMARY, 40 41 RELEASETOOL_MODE_DEFINERELGROUP, 41 42 RELEASETOOL_MODE_PENDINGRELGROUP, -
trunk/ippTools/src/releasetoolConfig.c
r35897 r36041 248 248 psMetadataAddBool(listrelstackArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 249 249 250 // -summary 251 psMetadata *summaryArgs = psMetadataAlloc(); 252 psMetadataAddS64(summaryArgs, PS_LIST_TAIL, "-sass_id", 0, "select by released SASS ID", 0); 253 psMetadataAddS64(summaryArgs, PS_LIST_TAIL, "-relstack_id", 0, "select by released exposure ID", 0); 254 psMetadataAddS64(summaryArgs, PS_LIST_TAIL, "-stack_id", 0, "select by stack ID", 0); 255 // psMetadataAddS64(summaryArgs, PS_LIST_TAIL, "-skycal_id", 0, "select by skycal ID", 0); 256 psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-release_name", 0, "select by release name (LIKE comparision)", NULL); 257 psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-release_state", PS_META_DUPLICATE_OK, "select by release state", NULL); 258 // psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-state", 0, "select by released stack state", NULL); 259 260 psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-filter", 0, "select by filter name (LIKE comparison)", NULL); 261 262 pxskycellAddArguments(summaryArgs); 263 264 psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-tess_id", 0, "select by tess_id", NULL); 265 psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-skycell_id", 0, "select by skycell_id (LIKE comparision)", NULL); 266 psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-projection_cell", 0, "select by projection_cell (LIKE comparision)", NULL); 267 psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-stack_type", PS_META_DUPLICATE_OK, "select by stack_type", NULL); 268 269 psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-stack_data_group", 0, "select by stackRun.data_group (LIKE comparison)", NULL); 270 // psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-skycal_data_group", 0, "select by skycalRun.data_group (LIKE comparison)", NULL); 271 272 psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-surveyName", 0, "select by survey name (LIKE comparision)", NULL); 273 psMetadataAddS64(summaryArgs, PS_LIST_TAIL, "-rel_id", 0, "select by release ID", 0); 274 275 psMetadataAddBool(summaryArgs, PS_LIST_TAIL, "-priority_order", 0, "order by release priority", false); 276 277 psMetadataAddU64(summaryArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 278 psMetadataAddBool(summaryArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 250 279 251 280 // -definerelgroup … … 322 351 PXOPT_ADD_MODE("-definerelstack", "define a released stack", RELEASETOOL_MODE_DEFINERELSTACK, definerelstackArgs); 323 352 PXOPT_ADD_MODE("-listrelstack", "list released stacks", RELEASETOOL_MODE_LISTRELSTACK, listrelstackArgs); 353 PXOPT_ADD_MODE("-summary", "list stackSummaryes for released stacks", RELEASETOOL_MODE_SUMMARY, summaryArgs); 324 354 325 355 PXOPT_ADD_MODE("-definerelgroup", "define a group of exposures", RELEASETOOL_MODE_DEFINERELGROUP, definerelgroupArgs);
Note:
See TracChangeset
for help on using the changeset viewer.
