Changeset 35412 for branches/eam_branches/ipp-20130307/ippTools/src
- Timestamp:
- Apr 19, 2013, 3:39:39 PM (13 years ago)
- Location:
- branches/eam_branches/ipp-20130307/ippTools/src
- Files:
-
- 8 edited
-
. (modified) (1 prop)
-
camtool.c (modified) (1 prop)
-
camtoolConfig.c (modified) (1 prop)
-
magictool.c (modified) (1 prop)
-
pstamptool.c (modified) (12 diffs)
-
pstamptoolConfig.c (modified) (1 diff)
-
releasetool.c (modified) (9 diffs)
-
releasetoolConfig.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20130307/ippTools/src
- Property svn:mergeinfo changed
/trunk/ippTools/src merged: 35357-35358,35365,35397
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20130307/ippTools/src/camtool.c
- Property svn:mergeinfo changed (with no actual effect on merging)
-
branches/eam_branches/ipp-20130307/ippTools/src/camtoolConfig.c
- Property svn:mergeinfo changed (with no actual effect on merging)
-
branches/eam_branches/ipp-20130307/ippTools/src/magictool.c
- Property svn:mergeinfo changed (with no actual effect on merging)
-
branches/eam_branches/ipp-20130307/ippTools/src/pstamptool.c
r35350 r35412 49 49 static bool revertjobMode(pxConfig *config); 50 50 51 # if (1)52 // these are unused functions -- since they are 'static', this raises an warning53 // XXX: They actually are used54 51 static bool addprojectMode(pxConfig *config); 55 52 static bool projectMode(pxConfig *config); … … 63 60 static bool listfileMode(pxConfig *config); 64 61 static bool deletefileMode(pxConfig *config); 65 # endif66 62 67 63 # define MODECASE(caseName, func) \ … … 103 99 MODECASE(PSTAMPTOOL_MODE_STOPDEPENDENTJOB, stopdependentjobMode); 104 100 MODECASE(PSTAMPTOOL_MODE_REVERTJOB, revertjobMode); 105 # if (1)106 101 MODECASE(PSTAMPTOOL_MODE_ADDPROJECT, addprojectMode); 107 102 MODECASE(PSTAMPTOOL_MODE_MODPROJECT, modprojectMode); … … 115 110 MODECASE(PSTAMPTOOL_MODE_LISTFILE, listfileMode); 116 111 MODECASE(PSTAMPTOOL_MODE_DELETEFILE, deletefileMode); 117 # endif 112 118 113 default: 119 114 psAbort("invalid option (this should not happen)"); … … 624 619 if (outdir) { 625 620 psStringAppend(&query, ", outdir = '%s'", outdir); 621 } 622 if (username) { 623 psStringAppend(&query, ", username = '%s'", username); 626 624 } 627 625 if (clearfault) { … … 1236 1234 PXOPT_LOOKUP_BOOL(need_magic, config->args, "-need_magic", false); 1237 1235 PXOPT_LOOKUP_BOOL(no_create, config->args, "-no_create", false); 1236 PXOPT_LOOKUP_BOOL(hold, config->args, "-hold", false); 1238 1237 1239 1238 psMetadata *where = psMetadataAlloc(); … … 1243 1242 PXOPT_COPY_STR(config->args, where, "-component", "component", "=="); 1244 1243 1245 // start a transaction e raly so it will contain any row level locks1244 // start a transaction early so it will contain any row level locks 1246 1245 if (!psDBTransaction(config->dbh)) { 1247 1246 psError(PS_ERR_UNKNOWN, false, "database error"); … … 1267 1266 psError(PS_ERR_UNKNOWN, false, "database error"); 1268 1267 psFree(query); 1268 if (!psDBRollback(config->dbh)) { 1269 psError(PS_ERR_UNKNOWN, false, "database error"); 1270 } 1269 1271 return false; 1270 1272 } … … 1274 1276 if (!output) { 1275 1277 psError(PS_ERR_UNKNOWN, false, "database error"); 1278 if (!psDBRollback(config->dbh)) { 1279 psError(PS_ERR_UNKNOWN, false, "database error"); 1280 } 1276 1281 return false; 1277 1282 } … … 1282 1287 psError(PS_ERR_UNKNOWN, false, "database error"); 1283 1288 psFree(output); 1289 if (!psDBRollback(config->dbh)) { 1290 psError(PS_ERR_UNKNOWN, false, "database error"); 1291 } 1284 1292 return false; 1285 1293 } … … 1287 1295 if (fault > 0) { 1288 1296 fprintf(stderr, "existing dependent has fault %d\n", fault); 1297 if (!psDBRollback(config->dbh)) { 1298 psError(PS_ERR_UNKNOWN, false, "database error"); 1299 } 1300 // return the fault to the client. This is used by the postage stamp parser 1289 1301 exit (fault); 1290 1302 } 1303 bool commit = false; 1304 // Check the state of the exisiting dependent. By query it is either 1305 // new or hold 1306 psString state = psMetadataLookupStr(NULL, dep, "state"); 1307 if (!hold && !strcmp(state, "hold")) { 1308 // There is a dependent for this component but it's state is hold. 1309 // This client needs one that will run. 1310 // Update the state 1311 psString updateQuery = NULL; 1312 psStringAppend(&updateQuery, "UPDATE pstampDependent SET state = 'new' " 1313 "\nWHERE stage = '%s' AND imagedb = '%s' AND stage_id = %"PRId64 " AND component = '%s'", 1314 stage, imagedb, stage_id, component); 1315 1316 if (!p_psDBRunQuery(config->dbh, updateQuery)) { 1317 psError(PS_ERR_UNKNOWN, false, "database error"); 1318 psFree(updateQuery); 1319 if (!psDBRollback(config->dbh)) { 1320 psError(PS_ERR_UNKNOWN, false, "database error"); 1321 } 1322 return false; 1323 } 1324 // set flag to commit this change 1325 commit = true; 1326 psFree(updateQuery); 1327 } 1328 // print the dep_id for the user 1291 1329 printf("%" PRId64 "\n", dep_id); 1292 1330 psFree(output); 1293 if (!psDBRollback(config->dbh)) { 1331 // now either commit the change or rollback the transaction which releases the lock 1332 if (commit) { 1333 if (!psDBCommit(config->dbh)) { 1334 // rollback 1335 if (!psDBRollback(config->dbh)) { 1336 psError(PS_ERR_UNKNOWN, false, "database error"); 1337 } 1294 1338 psError(PS_ERR_UNKNOWN, false, "database error"); 1339 return false; 1340 } 1341 } else if (!psDBRollback(config->dbh)) { 1342 psError(PS_ERR_UNKNOWN, false, "database error"); 1343 return false; 1295 1344 } 1296 1345 return true; … … 1310 1359 config->dbh, 1311 1360 0, // dep_id 1312 "new", // state1361 hold ? "hold" : "new", // state 1313 1362 stage, 1314 1363 stage_id, -
branches/eam_branches/ipp-20130307/ippTools/src/pstamptoolConfig.c
r35350 r35412 223 223 psMetadataAddBool(getdependentArgs,PS_LIST_TAIL, "-need_magic", 0, "define need_magic", false); 224 224 psMetadataAddStr(getdependentArgs, PS_LIST_TAIL, "-outdir", 0, "define output directory for dependent (required)", NULL); 225 psMetadataAddBool(getdependentArgs,PS_LIST_TAIL, "-hold", 0, "if creating new dependent set it's state to hold", false); 225 226 psMetadataAddBool(getdependentArgs,PS_LIST_TAIL, "-no_create", 0, "if no matching dependent do not create one", false); 226 227 -
branches/eam_branches/ipp-20130307/ippTools/src/releasetool.c
r35350 r35412 832 832 PXOPT_LOOKUP_BOOL(pretend, config->args, "-pretend", false); 833 833 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 834 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 834 835 835 836 // find the parameters of all the exposures that we want to add to the release … … 852 853 853 854 psFree(where); 855 856 if (limit) { 857 psString limitString = psDBGenerateLimitSQL(limit); 858 psStringAppend(&query, " %s", limitString); 859 psFree(limitString); 860 } 854 861 855 862 if (!p_psDBRunQuery(config->dbh, query)) { … … 968 975 psMetadata *where = psMetadataAlloc(); 969 976 977 PXOPT_COPY_S64(config->args, where, "-relstack_id", "relStack.relstack_id", "=="); 978 PXOPT_COPY_S64(config->args, where, "-stack_id", "relStack.stack_id", "=="); 979 PXOPT_COPY_S64(config->args, where, "-skycal_id", "relStack.skycal_id", "=="); 980 PXOPT_COPY_S64(config->args, where, "-relstack_id", "relStack.relstack_id", "=="); 970 981 PXOPT_COPY_STR(config->args, where, "-release_name", "ippRelease.release_name", "LIKE"); 971 982 pxAddLabelSearchArgs(config, where, "-release_state","ippRelease.state", "=="); 972 PXOPT_COPY_STR(config->args, where, "-state", "rel Exp.state", "==");973 PXOPT_COPY_STR(config->args, where, "-filter", "r awExp.filter", "LIKE");974 PXOPT_COPY_ TIME(config->args, where, "-dateobs_begin","rawExp.dateobs", ">=");975 PXOPT_COPY_ TIME(config->args, where, "-dateobs_end", "rawExp.dateobs", "<=");976 PXOPT_COPY_F32(config->args, where, "-fwhm_min", "skycalResult.fwhm_m ajor", ">=");983 PXOPT_COPY_STR(config->args, where, "-state", "relStack.state", "=="); 984 PXOPT_COPY_STR(config->args, where, "-filter", "relStack.filter", "LIKE"); 985 PXOPT_COPY_F32(config->args, where, "-mjd_min", "stackSumSkyfile.mjd_obs", ">="); 986 PXOPT_COPY_F32(config->args, where, "-mjd_max", "stackSumSkyfile.mjd_obs", "<="); 987 PXOPT_COPY_F32(config->args, where, "-fwhm_min", "skycalResult.fwhm_minor", ">="); 977 988 PXOPT_COPY_F32(config->args, where, "-fwhm_max", "skycalresult.fwhm_major", "<="); 978 PXOPT_COPY_STR(config->args, where, "-exp_name", "rawExp.exp_ame", "=="); 979 PXOPT_COPY_S64(config->args, where, "-exp_id", "relExp.exp_id", "=="); 980 PXOPT_COPY_S64(config->args, where, "-chip_id", "relExp.chip_id", "=="); 981 PXOPT_COPY_S64(config->args, where, "-cam_id", "relExp.cam_id", "=="); 982 PXOPT_COPY_S64(config->args, where, "-warp_id", "warpRun.warp_id", "=="); 983 PXOPT_COPY_STR(config->args, where, "-chip_data_group", "chipRun.data_group", "LIKE"); 984 PXOPT_COPY_STR(config->args, where, "-cam_data_group", "camRun.data_group", "LIKE"); 985 PXOPT_COPY_STR(config->args, where, "-warp_data_group", "warpRun.data_group", "LIKE"); 989 PXOPT_COPY_STR(config->args, where, "-tess_id", "relStack.tess_id", "=="); 990 PXOPT_COPY_STR(config->args, where, "-skycell_id", "relStack.skycell_id", "LIKE"); 991 PXOPT_COPY_STR(config->args, where, "-stack_data_group", "stackRun.data_group", "LIKE"); 992 PXOPT_COPY_STR(config->args, where, "-skycal_data_group", "skycalRun.data_group", "LIKE"); 986 993 987 994 PXOPT_COPY_STR(config->args, where, "-surveyName", "survey.surveyName", "LIKE"); 988 995 PXOPT_COPY_S32(config->args, where, "-rel_id", "relExp.rel_id", "=="); 996 pxskycellAddWhere(config, where); 989 997 990 998 PXOPT_LOOKUP_BOOL(priority_order, config->args, "-priority_order", false); … … 993 1001 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 994 1002 995 psString query = pxDataGet("releasetool_listrel exp.sql");1003 psString query = pxDataGet("releasetool_listrelstack.sql"); 996 1004 if (!query) { 997 1005 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 998 return false;999 }1000 1001 psString where2 = NULL;1002 if (!pxspaceAddWhere(config, &where2, "rawExp")) {1003 psError(psErrorCodeLast(), false, "pxspaceAddWhere failed");1004 1006 return false; 1005 1007 } … … 1009 1011 psStringAppend(&query, "\nWHERE %s", whereClause); 1010 1012 psFree(whereClause); 1011 } else if (where2) {1012 psStringAppend(&query, "\nWHERE ");1013 1013 } else { 1014 1014 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required\n"); … … 1017 1017 } 1018 1018 1019 if (where2) {1020 psStringAppend(&query, "\n%s", where2);1021 psFree(where2);1022 }1023 1024 1019 if (priority_order) { 1025 psStringAppend(&query, "\nAND priority > 0 order by exp_id, priority");1020 psStringAppend(&query, "\nAND priority > 0 order by stack_id, priority"); 1026 1021 } 1027 1022 … … 1051 1046 } 1052 1047 1053 if (!ippdbPrintMetadatas(stdout, output, "rel Exp", !simple)) {1048 if (!ippdbPrintMetadatas(stdout, output, "relStack", !simple)) { 1054 1049 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 1055 1050 psFree(output); … … 1331 1326 PS_ASSERT_PTR_NON_NULL(config, false); 1332 1327 1333 PXOPT_LOOKUP_S32(group_id, config->args, "-group_id", true, false); 1328 PXOPT_LOOKUP_S32(group_id, config->args, "-group_id", false, false); 1329 PXOPT_LOOKUP_STR(group_name, config->args, "-group_name", false, false); 1330 if (!group_id && !group_name) { 1331 psError(PXTOOLS_ERR_CONFIG, true, "either group_id or group_name is required\n"); 1332 return false; 1333 } 1334 1334 1335 1335 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); … … 1352 1352 1353 1353 PXOPT_COPY_S64(config->args, where, "-group_id", "relGroup.group_id", "=="); 1354 PXOPT_COPY_STR(config->args, where, "-group_name", "relGroup.group_name", "=="); 1354 1355 // XXX TODO if label is enabled (for changing label or state for a block) we should 1355 1356 // disallow setting some parameters such as exp_list_path -
branches/eam_branches/ipp-20130307/ippTools/src/releasetoolConfig.c
r35350 r35412 195 195 psMetadataAddF32(definerelstackArgs, PS_LIST_TAIL, "-set_zpt_stdev", 0, "define zero point stdev", NAN); 196 196 psMetadataAddF32(definerelstackArgs, PS_LIST_TAIL, "-set_fwhm_major", 0, "define fwhm_major", NAN); 197 psMetadataAddStr(definerelstackArgs, PS_LIST_TAIL, "-set_path_base", 0, "define state (required)", NULL);197 psMetadataAddStr(definerelstackArgs, PS_LIST_TAIL, "-set_path_base", 0, "define state", NULL); 198 198 psMetadataAddS16(definerelstackArgs, PS_LIST_TAIL, "-set_fault", 0, "define fault", 0); 199 199 200 psMetadataAddBool(definerelstackArgs, PS_LIST_TAIL, "-pretend", 0, "do not actually modify the database", false);200 psMetadataAddBool(definerelstackArgs, PS_LIST_TAIL, "-pretend", 0, "do not actually modify the database", false); 201 201 psMetadataAddBool(definerelstackArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 202 psMetadataAddU64(definerelstackArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 203 204 // -listrelstack 205 psMetadata *listrelstackArgs = psMetadataAlloc(); 206 psMetadataAddS64(listrelstackArgs, PS_LIST_TAIL, "-relstack_id", 0, "select by released exposure ID", 0); 207 psMetadataAddS64(listrelstackArgs, PS_LIST_TAIL, "-stack_id", 0, "select by stack ID", 0); 208 psMetadataAddS64(listrelstackArgs, PS_LIST_TAIL, "-skycal_id", 0, "select by skycal ID", 0); 209 psMetadataAddStr(listrelstackArgs, PS_LIST_TAIL, "-release_name", 0, "select by release name (LIKE comparision)", NULL); 210 psMetadataAddStr(listrelstackArgs, PS_LIST_TAIL, "-release_state", PS_META_DUPLICATE_OK, "select by release state", NULL); 211 psMetadataAddStr(listrelstackArgs, PS_LIST_TAIL, "-state", 0, "select by released stack state", NULL); 212 213 psMetadataAddStr(listrelstackArgs, PS_LIST_TAIL, "-filter", 0, "select by filter name (LIKE comparison)", NULL); 214 // psMetadataAddTime(listrelstackArgs, PS_LIST_TAIL, "-dateobs_begin", 0,"search for exposures by time (>=)", NULL); 215 // psMetadataAddTime(listrelstackArgs, PS_LIST_TAIL, "-dateobs_end", 0, "search for exposures by time (<=)", NULL); 216 217 pxskycellAddArguments(listrelstackArgs); 218 219 psMetadataAddF32(listrelstackArgs, PS_LIST_TAIL, "-fwhm_min", 0, "search by measured seeing (>=)", NAN); 220 psMetadataAddF32(listrelstackArgs, PS_LIST_TAIL, "-fwhm_max", 0, "search by seeing (<=)", NAN); 221 222 psMetadataAddStr(listrelstackArgs, PS_LIST_TAIL, "-tess_id", 0, "select by tess_id", NULL); 223 psMetadataAddStr(listrelstackArgs, PS_LIST_TAIL, "-skycell_id", 0, "select by skycell_id (LIKE comparision)", NULL); 224 225 psMetadataAddStr(listrelstackArgs, PS_LIST_TAIL, "-stack_data_group", 0, "select by stackRun.data_group (LIKE comparison)", NULL); 226 psMetadataAddStr(listrelstackArgs, PS_LIST_TAIL, "-skycal_data_group", 0, "select by skycalRun.data_group (LIKE comparison)", NULL); 227 228 psMetadataAddStr(listrelstackArgs, PS_LIST_TAIL, "-surveyName", 0, "select by survey name (LIKE comparision)", NULL); 229 psMetadataAddS64(listrelstackArgs, PS_LIST_TAIL, "-rel_id", 0, "select by release ID", 0); 230 231 psMetadataAddBool(listrelstackArgs, PS_LIST_TAIL, "-priority_order", 0, "order by release priority", false); 232 233 psMetadataAddU64(listrelstackArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 234 psMetadataAddBool(listrelstackArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 235 202 236 203 237 // -definerelgroup … … 240 274 psMetadata *updaterelgroupArgs = psMetadataAlloc(); 241 275 242 psMetadataAddS32(updaterelgroupArgs, PS_LIST_TAIL, "-group_id", 0, "select by group ID (required)", 0); 276 psMetadataAddS32(updaterelgroupArgs, PS_LIST_TAIL, "-group_id", 0, "select by group ID", 0); 277 psMetadataAddStr(updaterelgroupArgs, PS_LIST_TAIL, "-group_name", 0, "select by group name", 0); 243 278 244 279 // parameters of the relGroup … … 272 307 273 308 PXOPT_ADD_MODE("-definerelstack", "define a released stack", RELEASETOOL_MODE_DEFINERELSTACK, definerelstackArgs); 309 PXOPT_ADD_MODE("-listrelstack", "list released stacks", RELEASETOOL_MODE_LISTRELSTACK, listrelstackArgs); 274 310 275 311 PXOPT_ADD_MODE("-definerelgroup", "define a group of exposures", RELEASETOOL_MODE_DEFINERELGROUP, definerelgroupArgs);
Note:
See TracChangeset
for help on using the changeset viewer.
