Changeset 37131
- Timestamp:
- Jul 28, 2014, 2:25:02 PM (12 years ago)
- Location:
- trunk/ippTools
- Files:
-
- 1 added
- 4 edited
-
share/Makefile.am (modified) (1 diff)
-
share/releasetool_setrelstackcalibratedfromskycal.sql (added)
-
src/releasetool.c (modified) (3 diffs)
-
src/releasetool.h (modified) (1 diff)
-
src/releasetoolConfig.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/share/Makefile.am
r37122 r37131 487 487 releasetool_deleterelstack.sql \ 488 488 releasetool_listrelstack.sql \ 489 releasetool_setrelstackcalibratedfromskycal.sql 489 490 releasetool_summary.sql \ 490 491 releasetool_definerelgroup_select_lap.sql \ -
trunk/ippTools/src/releasetool.c
r37122 r37131 47 47 static bool definerelstackMode(pxConfig *config); 48 48 static bool updaterelstackMode(pxConfig *config); 49 static bool setrelstackcalibratedfromskycalMode(pxConfig *config); 49 50 static bool listrelstackMode(pxConfig *config); 50 51 static bool deleterelstackMode(pxConfig *config); … … 87 88 MODECASE(RELEASETOOL_MODE_DEFINERELSTACK, definerelstackMode); 88 89 MODECASE(RELEASETOOL_MODE_UPDATERELSTACK, updaterelstackMode); 90 MODECASE(RELEASETOOL_MODE_SETRELSTACKCALIBRATEDFROMSKYCAL, setrelstackcalibratedfromskycalMode); 89 91 MODECASE(RELEASETOOL_MODE_LISTRELSTACK, listrelstackMode); 90 92 MODECASE(RELEASETOOL_MODE_DELETERELSTACK, deleterelstackMode); … … 1090 1092 return false; 1091 1093 } 1094 static bool setrelstackcalibratedfromskycalMode(pxConfig *config) 1095 { 1096 PS_ASSERT_PTR_NON_NULL(config, NULL); 1097 1098 psMetadata *where = psMetadataAlloc(); 1099 1100 PXOPT_COPY_STR(config->args, where, "-skycal_label", "skycalRun.label", "=="); 1101 PXOPT_COPY_STR(config->args, where, "-skycal_data_group", "skycalRun.data_group", "LIKE"); 1102 PXOPT_COPY_S64(config->args, where, "-skycal_id", "skycalRun.skycal_id", "=="); 1103 if (!psListLength(where->list)) { 1104 psError(PXTOOLS_ERR_CONFIG, false, "at least one of -skycal_label, -skycal_data_group, or -skycal_id is required"); 1105 return false; 1106 } 1107 1108 PXOPT_COPY_STR(config->args, where, "-tess_id", "stackRun.tess_id", "=="); 1109 PXOPT_COPY_STR(config->args, where, "-skycell_id", "stackRun.skycell_id", "=="); 1110 pxskycellAddWhere(config, where); 1111 1112 // insure that at least one of these is supplied to select the release 1113 PXOPT_LOOKUP_S64(rel_id, config->args, "-rel_id", false, false); 1114 PXOPT_LOOKUP_STR(release_name, config->args, "-release_name", false, false); 1115 if (!rel_id && !release_name) { 1116 psError(PXTOOLS_ERR_CONFIG, true, "either -rel_id or -release_name is required"); 1117 return false; 1118 } 1119 1120 // limit query to the target release. (Note: this will select nothing if release_name and rel_id don't match) 1121 // note: we add these after above to insure that search args are supplied 1122 PXOPT_COPY_STR(config->args, where, "-release_name", "ippRelease.release_name", "=="); 1123 PXOPT_COPY_S32(config->args, where, "-rel_id", "ippRelease.rel_id", "=="); 1124 1125 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 1126 1127 psString query = pxDataGet("releasetool_setrelstackcalibratedfromskycal.sql"); 1128 if (!query) { 1129 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1130 psFree(where); 1131 return false; 1132 } 1133 1134 // Add in the where conditions 1135 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1136 psStringAppend(&query, "\nAND %s", whereClause); 1137 psFree(whereClause); 1138 1139 if (limit) { 1140 psString limitString = psDBGenerateLimitSQL(limit); 1141 psStringAppend(&query, " %s", limitString); 1142 psFree(limitString); 1143 } 1144 1145 if (!p_psDBRunQuery(config->dbh, query)) { 1146 psError(PS_ERR_UNKNOWN, false, "database error"); 1147 psFree(query); 1148 return false; 1149 } 1150 psFree(query); 1151 1152 psU64 affected = psDBAffectedRows(config->dbh); 1153 psLogMsg("releasetool", PS_LOG_INFO, "Updated %" PRIu64 " relStack rows", affected); 1154 1155 return true; 1156 } 1157 1092 1158 static bool deleterelstackMode(pxConfig *config) 1093 1159 { -
trunk/ippTools/src/releasetool.h
r37122 r37131 37 37 RELEASETOOL_MODE_DEFINERELSTACK, 38 38 RELEASETOOL_MODE_UPDATERELSTACK, 39 RELEASETOOL_MODE_SETRELSTACKCALIBRATEDFROMSKYCAL, 39 40 RELEASETOOL_MODE_DELETERELSTACK, 40 41 RELEASETOOL_MODE_TOCALIBSTACK, -
trunk/ippTools/src/releasetoolConfig.c
r37122 r37131 262 262 psMetadata *updaterelstackArgs = psMetadataAlloc(); 263 263 264 psMetadata *calibraterelstackArgs = psMetadataAlloc(); 265 266 // set the target release and collection of relStacks (one of these is required) 267 psMetadataAddStr(calibraterelstackArgs, PS_LIST_TAIL, "-release_name", 0, "define release name", NULL); 268 psMetadataAddS32(calibraterelstackArgs, PS_LIST_TAIL, "-rel_id", 0, "define release ID", 0); 269 270 // select the processing 271 psMetadataAddStr(calibraterelstackArgs, PS_LIST_TAIL, "-skycal_label", 0, "select by skycalRun.label", NULL); 272 psMetadataAddStr(calibraterelstackArgs, PS_LIST_TAIL, "-skycal_data_group", 0, "select by skycalRun.data_group", NULL); 273 psMetadataAddS64(calibraterelstackArgs, PS_LIST_TAIL, "-skycal_id", 0, "select by skycalRun.skycal_id", 0); 274 275 psMetadataAddStr(calibraterelstackArgs, PS_LIST_TAIL, "-tess_id", 0, "select by tess_id", NULL); 276 psMetadataAddStr(calibraterelstackArgs, PS_LIST_TAIL, "-skycell_id", 0, "select by skycell_id", NULL); 277 pxskycellAddArguments(calibraterelstackArgs); 278 279 psMetadataAddU64(calibraterelstackArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 280 264 281 // -deleterelstack 265 282 psMetadata *deleterelstackArgs = psMetadataAlloc(); … … 380 397 PXOPT_ADD_MODE("-listrelstack", "list released stacks", RELEASETOOL_MODE_LISTRELSTACK, listrelstackArgs); 381 398 PXOPT_ADD_MODE("-updaterelstack", "update parameters of released stacks", RELEASETOOL_MODE_LISTRELSTACK, updaterelstackArgs); 399 PXOPT_ADD_MODE("-setrelstackcalibratedfromskycal", "update parameters of using skycalResults", RELEASETOOL_MODE_SETRELSTACKCALIBRATEDFROMSKYCAL, calibraterelstackArgs); 382 400 PXOPT_ADD_MODE("-deleterelstack", "update parameters of released stacks", RELEASETOOL_MODE_DELETERELSTACK, deleterelstackArgs); 383 401
Note:
See TracChangeset
for help on using the changeset viewer.
