Changeset 29136
- Timestamp:
- Sep 9, 2010, 1:22:02 PM (16 years ago)
- Location:
- trunk/ippTools
- Files:
-
- 2 edited
-
share/magicdstool_completed_runs.sql (modified) (6 diffs)
-
src/magicdstool.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/share/magicdstool_completed_runs.sql
r25465 r29136 1 1 SELECT DISTINCT 2 2 magic_ds_id, 3 magicked, 3 4 re_place, 4 5 label … … 7 8 -- raw stage 8 9 SELECT 9 magicDSRun.* 10 magicDSRun.*, 11 rawExp.magicked 10 12 FROM magicDSRun 11 13 JOIN rawImfile ON stage_id = rawImfile.exp_id 14 JOIN rawExp using(exp_id) 12 15 LEFT JOIN magicDSFile 13 16 ON magicDSRun.magic_ds_id = magicDSFile.magic_ds_id … … 25 28 -- chip stage 26 29 SELECT 27 magicDSRun.* 30 magicDSRun.*, 31 chipRun.magicked 28 32 FROM magicDSRun 29 JOIN chipProcessedImfile ON stage_id = chip_id 33 JOIN chipRun ON stage_id = chip_id 34 JOIN chipProcessedImfile USING(chip_id) 30 35 LEFT JOIN magicDSFile 31 36 ON magicDSFile.magic_ds_id = magicDSRun.magic_ds_id … … 44 49 -- camera stage 45 50 SELECT 46 magicDSRun.* 51 magicDSRun.*, 52 camRun.magicked 47 53 FROM magicDSRun 48 JOIN camProcessedExp ON stage_id = camProcessedExp.cam_id 54 JOIN camRun ON stage_id = camRun.cam_id 55 JOIN camProcessedExp ON camRun.cam_id = camProcessedExp.cam_id 49 56 LEFT JOIN magicDSFile 50 57 ON magicDSFile.magic_ds_id = magicDSRun.magic_ds_id … … 61 68 -- warp stage 62 69 SELECT 63 magicDSRun.* 70 magicDSRun.*, 71 warpRun.magicked 64 72 FROM magicDSRun 65 JOIN warpSkyfile on stage_id = warp_id 73 JOIN warpRun on stage_id = warp_id 74 JOIN warpSkyfile USING(warp_id) 66 75 LEFT JOIN magicDSFile 67 76 ON magicDSRun.magic_ds_id = magicDSFile.magic_ds_id … … 81 90 -- diff stage 82 91 SELECT DISTINCT 83 magicDSRun.* 92 magicDSRun.*, 93 diffRun.magicked 84 94 FROM magicDSRun 85 95 JOIN magicRun USING (magic_id) 86 96 JOIN magicInputSkyfile USING(magic_id) 97 JOIN diffRun 98 ON magicRun.diff_id = diffRun.diff_id 87 99 JOIN diffSkyfile 88 ON magicRun.diff_id = diffSkyfile.diff_id100 ON diffRun.diff_id = diffSkyfile.diff_id 89 101 AND magicInputSkyfile.node = diffSkyfile.skycell_id 90 102 LEFT JOIN magicDSFile -
trunk/ippTools/src/magicdstool.c
r28936 r29136 950 950 return true; 951 951 } 952 if (!psDBTransaction(config->dbh)) {953 psError(PS_ERR_UNKNOWN, false, "database error");954 return false;955 }956 952 for (long i = 0; i < psArrayLength(output); i++) { 957 953 psMetadata *row = output->data[i]; 958 954 959 955 psS64 magic_ds_id = psMetadataLookupS64(NULL, row, "magic_ds_id"); 956 psS64 magicked = psMetadataLookupS64(NULL, row, "magicked"); 957 if (!psDBTransaction(config->dbh)) { 958 psError(PS_ERR_UNKNOWN, false, "database error"); 959 return false; 960 } 960 961 961 962 // if re_place, set stageRun.magicked 962 963 bool setmagicked = psMetadataLookupBool(NULL, row, "re_place"); 963 if (setmagicked && !setRunMagicked(config, magic_ds_id)) { 964 psError(PS_ERR_UNKNOWN, false, "failed to change stageRun.magicked for magic_ds_id: %" PRId64, 965 magic_ds_id); 966 if (!psDBRollback(config->dbh)) { 967 psError(PS_ERR_UNKNOWN, false, "database error"); 964 if (setmagicked) { 965 if (magicked <= 0) { 966 if (!setRunMagicked(config, magic_ds_id)) { 967 psError(PS_ERR_UNKNOWN, false, "failed to change stageRun.magicked for magic_ds_id: %" PRId64, 968 magic_ds_id); 969 if (!psDBRollback(config->dbh)) { 970 psError(PS_ERR_UNKNOWN, false, "database error"); 971 } 972 return false; 973 } 974 } else { 975 fprintf(stderr, "run is already marked as destreaked for magic_ds_id %" PRId64 "\n", magic_ds_id); 968 976 } 969 return false;970 977 } 971 978 … … 980 987 return false; 981 988 } 982 }983 if (!psDBCommit(config->dbh)) {984 psError(PS_ERR_UNKNOWN, false, "database error");985 return false;989 if (!psDBCommit(config->dbh)) { 990 psError(PS_ERR_UNKNOWN, false, "database error"); 991 return false; 992 } 986 993 } 987 994
Note:
See TracChangeset
for help on using the changeset viewer.
