Changeset 7142
- Timestamp:
- May 17, 2006, 6:17:58 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/ippTools/src/dettool.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/dettool.c
r7128 r7142 16 16 17 17 static detInputExpRow *rawDetrenTodetInputExpRow(rawDetrendExpRow *rawExp, psS32 det_id); 18 static psArray *searchRawImfiles(pxConfig *config );18 static psArray *searchRawImfiles(pxConfig *config, psMetadata *where); 19 19 20 20 int main(int argc, char **argv) … … 159 159 160 160 // search from rawImfiles 161 psArray *rawImfiles = searchRawImfiles(config );161 psArray *rawImfiles = searchRawImfiles(config, NULL); 162 162 163 163 // print imfile list … … 177 177 } 178 178 179 static psArray *searchRawImfiles(pxConfig *config )179 static psArray *searchRawImfiles(pxConfig *config, psMetadata *where) 180 180 { 181 181 PS_ASSERT_PTR_NON_NULL(config, NULL); 182 183 // use the default where if "where" is NULL 184 if (!where) { 185 where = config->where; 186 } 182 187 183 188 // select exp_ids from detInputExp matching det_idp 184 189 // where query should be pre-generated 185 190 psArray *detInputExp = 186 detInputExpSelectRowObjects(config->dbh, config->where, 0);191 detInputExpSelectRowObjects(config->dbh, where, 0); 187 192 if (!detInputExp) { 188 193 psError(PS_ERR_UNKNOWN, false, "no rawDetrendExp rows found"); … … 321 326 PS_ASSERT_PTR_NON_NULL(config, false); 322 327 323 // det_id, class_id, uri, & recipe are required328 // det_id, class_id, uri, stats, & recipe are required 324 329 bool status = false; 325 330 psString det_id = psMetadataLookupStr(&status, config->args, "-det_id"); … … 350 355 351 356 // correlate the class_id against the input exposure(s) 352 psArray *rawImfiles = searchRawImfiles(config); 357 358 // we have to generate our own where claus as we want to search only by the 359 // det_id 360 psMetadata *where = psMetadataAlloc(); 361 if (!psMetadataAddS32(where, PS_LIST_TAIL, "det_id", 0, "==", 362 (psS32)atoi(det_id))) { 363 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 364 psFree(where); 365 return false; 366 } 367 368 psArray *rawImfiles = searchRawImfiles(config, where); 353 369 354 370 bool valid_class_id = false; 355 for (long i = 0; i < psArrayLength(rawImfiles); i++) { 356 if (class_id == ((rawImfileRow *)rawImfiles->data[i])->class_id) { 357 valid_class_id = true; 358 break; 371 if (rawImfiles) { 372 for (long i = 0; i < psArrayLength(rawImfiles); i++) { 373 if (strcmp(class_id, ((rawImfileRow *)rawImfiles->data[i])->class_id) == 0) { 374 valid_class_id = true; 375 break; 376 } 359 377 } 360 }361 psFree(rawImfiles);362 378 psFree(rawImfiles); 379 } 380 363 381 if (!valid_class_id) { 364 382 psError(PS_ERR_UNKNOWN, true, … … 371 389 (psS32)atol(det_id), class_id, uri, stats, recipe 372 390 ); 373 psFree(rawImfiles);374 391 375 392 // insert the new row into the detProcessedImfile table
Note:
See TracChangeset
for help on using the changeset viewer.
