Changeset 29138
- Timestamp:
- Sep 9, 2010, 1:29:17 PM (16 years ago)
- Location:
- tags/ipp-20100823/ippTools
- Files:
-
- 3 edited
-
share/difftool_listrun.sql (modified) (1 diff)
-
share/magicdstool_completed_runs.sql (modified) (6 diffs)
-
src/magicdstool.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tags/ipp-20100823/ippTools/share/difftool_listrun.sql
r27743 r29138 12 12 diffRun.bothways, 13 13 warp1, 14 stack1,15 14 warp2, 16 stack2,17 15 -- The following are only valid for warps 18 16 -- XXX This needs to be more clever to handle diffs between stacks -
tags/ipp-20100823/ippTools/share/magicdstool_completed_runs.sql
r25465 r29138 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 -
tags/ipp-20100823/ippTools/src/magicdstool.c
r28936 r29138 933 933 } 934 934 935 // treat limit == 0 as "no limit" 936 if (limit) { 937 psString limitString = psDBGenerateLimitSQL(limit); 938 psStringAppend(&query, " %s", limitString); 939 psFree(limitString); 940 } 941 935 942 if (!p_psDBRunQuery(config->dbh, query)) { 936 943 psError(PS_ERR_UNKNOWN, false, "database error"); … … 950 957 return true; 951 958 } 952 if (!psDBTransaction(config->dbh)) {953 psError(PS_ERR_UNKNOWN, false, "database error");954 return false;955 }956 959 for (long i = 0; i < psArrayLength(output); i++) { 957 960 psMetadata *row = output->data[i]; 958 961 959 962 psS64 magic_ds_id = psMetadataLookupS64(NULL, row, "magic_ds_id"); 963 psS64 magicked = psMetadataLookupS64(NULL, row, "magicked"); 964 if (!psDBTransaction(config->dbh)) { 965 psError(PS_ERR_UNKNOWN, false, "database error"); 966 return false; 967 } 960 968 961 969 // if re_place, set stageRun.magicked 962 970 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"); 971 if (setmagicked) { 972 if (magicked <= 0) { 973 if (!setRunMagicked(config, magic_ds_id)) { 974 psError(PS_ERR_UNKNOWN, false, "failed to change stageRun.magicked for magic_ds_id: %" PRId64, 975 magic_ds_id); 976 if (!psDBRollback(config->dbh)) { 977 psError(PS_ERR_UNKNOWN, false, "database error"); 978 } 979 return false; 980 } 981 } else { 982 fprintf(stderr, "run is already marked as destreaked for magic_ds_id %" PRId64 "\n", magic_ds_id); 968 983 } 969 return false;970 984 } 971 985 … … 980 994 return false; 981 995 } 982 }983 if (!psDBCommit(config->dbh)) {984 psError(PS_ERR_UNKNOWN, false, "database error");985 return false;996 if (!psDBCommit(config->dbh)) { 997 psError(PS_ERR_UNKNOWN, false, "database error"); 998 return false; 999 } 986 1000 } 987 1001
Note:
See TracChangeset
for help on using the changeset viewer.
