Changeset 28338 for branches/czw_branch/20100519/ippTools
- Timestamp:
- Jun 15, 2010, 1:12:26 PM (16 years ago)
- Location:
- branches/czw_branch/20100519
- Files:
-
- 9 edited
-
. (modified) (1 prop)
-
ippTools/share/chiptool_processedimfile.sql (modified) (1 diff)
-
ippTools/share/pubtool_definerun.sql (modified) (3 diffs)
-
ippTools/share/pubtool_pending.sql (modified) (2 diffs)
-
ippTools/src/pstamptool.c (modified) (2 diffs)
-
ippTools/src/pstamptoolConfig.c (modified) (1 diff)
-
ippTools/src/pubtool.c (modified) (4 diffs)
-
ippTools/src/pubtoolConfig.c (modified) (2 diffs)
-
ippTools/src/pxtools.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/czw_branch/20100519
- Property svn:mergeinfo changed
/trunk merged: 28308-28311,28313,28317,28319-28332,28335-28337
- Property svn:mergeinfo changed
-
branches/czw_branch/20100519/ippTools/share/chiptool_processedimfile.sql
r27880 r28338 29 29 rawImfile.magicked AS raw_magicked, 30 30 rawImfile.burntool_state, 31 magicDSRun.state AS dsRun_state 31 magicDSRun.state AS dsRun_state, 32 magicDSRun.magic_ds_id 32 33 FROM chipRun 33 34 JOIN chipImfile -
branches/czw_branch/20100519/ippTools/share/pubtool_definerun.sql
r27041 r28338 6 6 FROM ( 7 7 -- Get diffs to publish 8 SELECT 8 SELECT DISTINCT 9 9 client_id, 10 10 diff_id AS stage_id, 11 label AS src_label11 diffRun.label AS src_label 12 12 FROM publishClient 13 13 JOIN diffRun 14 JOIN diffInputSkyfile USING(diff_id) 15 JOIN warpRun ON warpRun.warp_id = diffInputSkyfile.warp1 -- Only JOINing input, not reference! 16 JOIN fakeRun USING(fake_id) 17 JOIN camRun USING(cam_id) 18 JOIN chipRun USING(chip_id) 19 JOIN rawExp USING(exp_id) 14 20 WHERE publishClient.stage = 'diff' 15 21 AND publishClient.active = 1 16 AND diffRun.state = 'full'22 AND diffRun.state IN ('full', 'cleaned', 'goto_cleaned') 17 23 AND (diffRun.magicked > 0 OR diffRun.diff_mode = 4 OR publishClient.magicked = 0) 18 24 -- WHERE hook %s … … 22 28 client_id, 23 29 cam_id AS stage_id, 24 label AS src_label30 camRun.label AS src_label 25 31 FROM publishClient 26 32 JOIN camRun 33 JOIN chipRun USING(chip_id) 34 JOIN rawExp USING(exp_id) 27 35 WHERE publishClient.stage = 'camera' 28 36 AND publishClient.active = 1 29 AND camRun.state = 'full'37 AND camRun.state IN ('full', 'cleaned', 'goto_cleaned') 30 38 AND (camRun.magicked > 0 OR publishClient.magicked = 0) 31 39 -- WHERE hook %s … … 33 41 -- Only get stuff that hasn't been published 34 42 LEFT JOIN publishRun USING(client_id, stage_id) 35 WHERE publishRun.client_id IS NULL -
branches/czw_branch/20100519/ippTools/share/pubtool_pending.sql
r27052 r28338 26 26 AND publishClient.active = 1 27 27 AND publishRun.state = 'new' 28 AND diffRun.state = 'full'28 AND diffRun.state IN ('full', 'cleaned', 'goto_cleaned') 29 29 AND (diffRun.magicked > 0 OR diffRun.diff_mode = 4 OR publishClient.magicked = 0) 30 30 -- WHERE hook %s … … 47 47 AND publishClient.active = 1 48 48 AND publishRun.state ='new' 49 AND camRun.state = 'full'49 AND camRun.state IN ('full', 'cleaned', 'goto_cleaned') 50 50 AND (camRun.magicked > 0 OR publishClient.magicked = 0) 51 51 -- WHERE hook %s -
branches/czw_branch/20100519/ippTools/src/pstamptool.c
r28334 r28338 870 870 871 871 PXOPT_LOOKUP_S64(job_id, config->args, "-job_id", false, false); 872 PXOPT_LOOKUP_S64(req_id, config->args, "-req_id", false, false); 872 873 PXOPT_LOOKUP_S64(dep_id, config->args, "-dep_id", false, false); 873 874 874 if (!job_id && ! dep_id) {875 psError(PS_ERR_UNKNOWN, true, "at least -job_id or -dep_id is required");875 if (!job_id && !req_id && !dep_id) { 876 psError(PS_ERR_UNKNOWN, true, "at least one of -job_id -req_id or -dep_id is required"); 876 877 return false; 877 878 } … … 888 889 889 890 PXOPT_COPY_S64(config->args, where, "-job_id", "job_id", "=="); 891 PXOPT_COPY_S64(config->args, where, "-req_id", "req_id", "=="); 890 892 PXOPT_COPY_S64(config->args, where, "-dep_id", "dep_id", "=="); 893 PXOPT_COPY_STR(config->args, where, "-state", "pstampJob.state", "=="); 891 894 892 895 psString query = pxDataGet("pstamptool_updatejob.sql"); -
branches/czw_branch/20100519/ippTools/src/pstamptoolConfig.c
r28334 r28338 160 160 // -updatejob 161 161 psMetadata *updatejobArgs = psMetadataAlloc(); 162 psMetadataAddS64(updatejobArgs, PS_LIST_TAIL, "-job_id", 0, "req_id for which to change state", 0); 163 psMetadataAddS64(updatejobArgs, PS_LIST_TAIL, "-dep_id", 0, "dep_id for which to change state", 0); 162 psMetadataAddS64(updatejobArgs, PS_LIST_TAIL, "-req_id", 0, "req_id of jobs to update", 0); 163 psMetadataAddS64(updatejobArgs, PS_LIST_TAIL, "-job_id", 0, "job_id of jobs to update", 0); 164 psMetadataAddS64(updatejobArgs, PS_LIST_TAIL, "-dep_id", 0, "dep_id of jobs to update", 0); 165 psMetadataAddStr(updatejobArgs, PS_LIST_TAIL, "-state", 0, "current state of jobs to update", 0); 164 166 psMetadataAddStr(updatejobArgs, PS_LIST_TAIL, "-set_state", 0, "new state", NULL); 165 167 psMetadataAddS16(updatejobArgs, PS_LIST_TAIL, "-set_fault", 0, "new result", 0); -
branches/czw_branch/20100519/ippTools/src/pubtool.c
r27071 r28338 151 151 PS_ASSERT_PTR_NON_NULL(config, false); 152 152 153 psMetadata *where = psMetadataAlloc(); // WHERE conditions 153 psMetadata *diffWhere = psMetadataAlloc(); // WHERE conditions for diffs 154 psMetadata *camWhere = psMetadataAlloc(); // WHERE conditions for cams 154 155 155 156 // required 156 157 157 158 // optional 158 PXOPT_COPY_S64(config->args, where, "-client_id", "client_id", "=="); 159 pxAddLabelSearchArgs(config, where, "-label", "label", "=="); // define using newExp label 159 PXOPT_COPY_S64(config->args, diffWhere, "-client_id", "client_id", "=="); 160 pxAddLabelSearchArgs(config, diffWhere, "-label", "diffRun.label", "=="); 161 pxAddLabelSearchArgs(config, diffWhere, "-data_group", "diffRun.data_group", "LIKE"); 162 PXOPT_COPY_TIME(config->args, diffWhere, "-dateobs_begin", "rawExp.dateobs", ">="); 163 PXOPT_COPY_TIME(config->args, diffWhere, "-dateobs_end", "rawExp.dateobs", "<="); 164 PXOPT_COPY_STR(config->args, diffWhere, "-filter", "rawExp.filter", "LIKE"); 165 PXOPT_COPY_STR(config->args, diffWhere, "-obs_mode", "rawExp.obs_mode", "LIKE"); 166 167 PXOPT_COPY_S64(config->args, camWhere, "-client_id", "client_id", "=="); 168 pxAddLabelSearchArgs(config, camWhere, "-label", "camRun.label", "=="); 169 pxAddLabelSearchArgs(config, camWhere, "-data_group", "camRun.data_group", "LIKE"); 170 PXOPT_COPY_TIME(config->args, camWhere, "-dateobs_begin", "rawExp.dateobs", ">="); 171 PXOPT_COPY_TIME(config->args, camWhere, "-dateobs_end", "rawExp.dateobs", "<="); 172 PXOPT_COPY_STR(config->args, camWhere, "-filter", "rawExp.filter", "LIKE"); 173 PXOPT_COPY_STR(config->args, camWhere, "-obs_mode", "rawExp.obs_mode", "LIKE"); 174 175 PXOPT_LOOKUP_BOOL(rerun, config->args, "-rerun", false); 176 PXOPT_LOOKUP_BOOL(pretend, config->args, "-pretend", false); 177 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 178 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 160 179 161 180 psString query = pxDataGet("pubtool_definerun.sql"); // Query to run 162 181 if (!query) { 163 182 psError(PXTOOLS_ERR_SYS, false, "Failed to retreive SQL statement"); 164 psFree(where); 165 return false; 183 psFree(diffWhere); 184 psFree(camWhere); 185 return false; 186 } 187 188 if (!rerun) { 189 psStringAppend(&query, "\nWHERE publishRun.client_id IS NULL"); 190 } 191 192 if (limit) { 193 psString limitString = psDBGenerateLimitSQL(limit); 194 psStringAppend(&query, "\n%s", limitString); 195 psFree(limitString); 166 196 } 167 197 168 198 if (!psDBTransaction(config->dbh)) { 169 199 psError(PS_ERR_UNKNOWN, false, "Database error"); 170 psFree(where); 171 return false; 172 } 173 174 psString whereClause = psStringCopy(""); // Additional constraints to add to query 175 if (psListLength(where->list)) { 176 psString clause = psDBGenerateWhereConditionSQL(where, NULL); 177 psStringAppend(&whereClause, "\n AND %s", clause); 200 psFree(diffWhere); 201 psFree(camWhere); 202 return false; 203 } 204 205 psString whereDiff = psStringCopy(""); // Additional constraints to add to query 206 if (psListLength(diffWhere->list)) { 207 psString clause = psDBGenerateWhereConditionSQL(diffWhere, NULL); 208 psStringAppend(&whereDiff, "\n AND %s", clause); 178 209 psFree(clause); 179 210 } 180 psFree(where); 181 182 if (!p_psDBRunQueryF(config->dbh, query, whereClause, whereClause)) { 211 psFree(diffWhere); 212 213 psString whereCam = psStringCopy(""); // Additional constraints to add to query 214 if (psListLength(camWhere->list)) { 215 psString clause = psDBGenerateWhereConditionSQL(camWhere, NULL); 216 psStringAppend(&whereCam, "\n AND %s", clause); 217 psFree(clause); 218 } 219 psFree(camWhere); 220 221 if (!p_psDBRunQueryF(config->dbh, query, whereDiff, whereCam)) { 183 222 psError(PS_ERR_UNKNOWN, false, "Database error"); 184 223 psFree(query); 185 psFree(whereClause); 224 psFree(whereDiff); 225 psFree(whereCam); 186 226 if (!psDBRollback(config->dbh)) { 187 227 psError(PS_ERR_UNKNOWN, false, "Database error"); … … 190 230 } 191 231 psFree(query); 192 psFree(whereClause); 232 psFree(whereDiff); 233 psFree(whereCam); 193 234 194 235 psArray *output = p_psDBFetchResult(config->dbh); // Output of SELECT statement … … 202 243 if (!psArrayLength(output)) { 203 244 psTrace("pubtool", PS_LOG_INFO, "No rows found"); 245 psFree(output); 246 return true; 247 } 248 249 if (pretend) { 250 if (!ippdbPrintMetadatas(stdout, output, "publishRun", !simple)) { 251 psError(psErrorCodeLast(), false, "Failed to print array"); 252 psFree(output); 253 return false; 254 } 204 255 psFree(output); 205 256 return true; … … 241 292 PXOPT_COPY_STR(config->args, where, "-stage", "publishClient.stage", "=="); 242 293 PXOPT_COPY_STR(config->args, where, "-comment", "publishClient.comment", "LIKE"); 243 PXOPT_COPY_STR(config->args, where, "-label", "publishRun.label", "==");294 pxAddLabelSearchArgs(config, where, "-label", "label", "=="); 244 295 245 296 // optional -
branches/czw_branch/20100519/ippTools/src/pubtoolConfig.c
r27311 r28338 64 64 psMetadataAddS64(definerunArgs, PS_LIST_TAIL, "-client_id", 0, "search by client_id", 0); 65 65 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "set and search by label", NULL); 66 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-data_group", PS_META_DUPLICATE_OK, "search by data_group", NULL); 67 psMetadataAddTime(definerunArgs, PS_LIST_TAIL, "-dateobs_begin", 0, "search for exposures by time (>=)", NULL); 68 psMetadataAddTime(definerunArgs, PS_LIST_TAIL, "-dateobs_end", 0, "search for exposures by time (<=)", NULL); 69 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-filter", 0, "search for filter", NULL); 70 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-obs_mode", 0, "search by observation mode", NULL); 71 psMetadataAddBool(definerunArgs, PS_LIST_TAIL, "-rerun", 0, "Re-run publish?", false); 72 psMetadataAddBool(definerunArgs, PS_LIST_TAIL, "-pretend", 0, "Pretend to define?", false); 73 psMetadataAddBool(definerunArgs, PS_LIST_TAIL, "-simple", 0, "use simple output format?", false); 74 psMetadataAddU64(definerunArgs, PS_LIST_TAIL, "-limit", 0, "limit result set", 0); 66 75 67 76 // -pending … … 70 79 psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-stage", 0, "search on source", NULL); 71 80 psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-comment", 0, "search on comment (LIKE)", NULL); 72 psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-label", 0, "search on label", NULL);81 psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search on label", NULL); 73 82 psMetadataAddBool(pendingArgs, PS_LIST_TAIL, "-simple", 0, "use simple output format?", false); 74 83 psMetadataAddU64(pendingArgs, PS_LIST_TAIL, "-limit", 0, "limit result set", 0); -
branches/czw_branch/20100519/ippTools/src/pxtools.c
r28304 r28338 250 250 psMetadataItem *item = NULL; 251 251 while ((item = psListGetAndIncrement(iter))) { 252 psMetadataItem *new = psMetadataItemCopy(item); 252 253 // need to change the name and comment 253 psFree ( item->name);254 item->name = psStringCopy (field);255 psFree ( item->comment);256 item->comment = psStringCopy (op);257 if (!psMetadataAddItem(where, item, PS_LIST_TAIL, PS_META_DUPLICATE_OK)) {254 psFree (new->name); 255 new->name = psStringCopy (field); 256 psFree (new->comment); 257 new->comment = psStringCopy (op); 258 if (!psMetadataAddItem(where, new, PS_LIST_TAIL, PS_META_DUPLICATE_OK)) { 258 259 psError(psErrorCodeLast(), false, "failed to add item %s", field); 259 260 psFree(where); … … 261 262 } 262 263 } 263 psFree (iter);264 psFree(iter); 264 265 } 265 266 return true;
Note:
See TracChangeset
for help on using the changeset viewer.
