Changeset 28338 for branches/czw_branch/20100519/ippTools/src
- Timestamp:
- Jun 15, 2010, 1:12:26 PM (16 years ago)
- Location:
- branches/czw_branch/20100519
- Files:
-
- 6 edited
-
. (modified) (1 prop)
-
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/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.
