Changeset 8481 for trunk/ippTools/src/dettool.c
- Timestamp:
- Aug 22, 2006, 3:16:04 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/ippTools/src/dettool.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/dettool.c
r8464 r8481 3311 3311 static bool updateresidexpMode(pxConfig *config) 3312 3312 { 3313 PS_ASSERT_PTR_NON_NULL(config, false); 3314 3315 // build a query to search by det_id, iteration, exp_id 3316 psMetadata *where = psMetadataAlloc(); 3317 bool status = false; 3318 psString det_id = psMetadataLookupStr(&status, config->args, "-det_id"); 3319 if (!status) { 3320 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -det_id"); 3321 psFree(where); 3322 return false; 3323 } 3324 if (det_id) { 3325 if (!psMetadataAddStr(where, PS_LIST_TAIL, "det_id", 0, "==", det_id)) { 3326 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 3327 psFree(where); 3328 return false; 3329 } 3330 } 3331 psS32 iteration = psMetadataLookupS32(&status, config->args, "-iteration"); 3332 if (!status) { 3333 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -iteration"); 3334 psFree(where); 3335 return false; 3336 } 3337 // always where iteration 3338 if (!psMetadataAddS32(where, PS_LIST_TAIL, "iteration", 0, "==", iteration)) { 3339 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 3340 psFree(where); 3341 return false; 3342 } 3343 psString exp_id = psMetadataLookupStr(&status, config->args, "-exp_id"); 3344 if (!status) { 3345 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -exp_id"); 3346 psFree(where); 3347 return false; 3348 } 3349 if (exp_id) { 3350 if (!psMetadataAddStr(where, PS_LIST_TAIL, "exp_id", 0, "==", exp_id)) { 3351 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 3352 psFree(where); 3353 return false; 3354 } 3355 } 3356 3357 // find the values we're going to set 3358 // copy everything but det_id, iteration, & exp_id from the args and 3359 // remove the '-' prefix 3360 psMetadata *set = psMetadataAlloc(); 3361 psString recipe = psMetadataLookupStr(&status, config->args, "-recip"); 3362 if (!status) { 3363 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -recip"); 3364 psFree(set); 3365 psFree(where); 3366 return false; 3367 } 3368 if (recipe) { 3369 if (!psMetadataAddStr(set, PS_LIST_TAIL, "recipe", 0, "==", recipe)) { 3370 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 3371 psFree(set); 3372 psFree(where); 3373 return false; 3374 } 3375 } 3376 3377 psF64 bg = psMetadataLookupF64(&status, config->args, "-bg"); 3378 if (!status) { 3379 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg"); 3380 psFree(set); 3381 psFree(where); 3382 return false; 3383 } 3384 if (!isnan(bg)) { 3385 if (!psMetadataAddF64(set, PS_LIST_TAIL, "bg", 0, "==", bg)) { 3386 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 3387 psFree(set); 3388 psFree(where); 3389 return false; 3390 } 3391 } 3392 3393 psF64 bg_stdev = psMetadataLookupF64(&status, config->args, "-bg_stdev"); 3394 if (!status) { 3395 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_stdev"); 3396 psFree(set); 3397 psFree(where); 3398 return false; 3399 } 3400 if (!isnan(bg_stdev)) { 3401 if (!psMetadataAddF64(set, PS_LIST_TAIL, "bg_stdev", 0, "==", bg_stdev)) { 3402 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 3403 psFree(set); 3404 psFree(where); 3405 return false; 3406 } 3407 } 3408 3409 psF64 bg_mean_stdev = psMetadataLookupF64(&status, config->args, "-bg_mean_stdev"); 3410 if (!status) { 3411 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_mean_stdev"); 3412 psFree(set); 3413 psFree(where); 3414 return false; 3415 } 3416 if (!isnan(bg_mean_stdev)) { 3417 if (!psMetadataAddF64(set, PS_LIST_TAIL, "bg_mean_stdev", 0, "==", bg_mean_stdev)) { 3418 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 3419 psFree(set); 3420 psFree(where); 3421 return false; 3422 } 3423 } 3424 3425 psString b1_uri = psMetadataLookupStr(&status, config->args, "-b1_uri"); 3426 if (!status) { 3427 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -b1_uri"); 3428 psFree(set); 3429 psFree(where); 3430 return false; 3431 } 3432 if (b1_uri) { 3433 if (!psMetadataAddStr(set, PS_LIST_TAIL, "b1_uri", 0, "==", b1_uri)) { 3434 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 3435 psFree(set); 3436 psFree(where); 3437 return false; 3438 } 3439 } 3440 3441 psString b2_uri = psMetadataLookupStr(&status, config->args, "-b2_uri"); 3442 if (!status) { 3443 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -b2_uri"); 3444 psFree(set); 3445 psFree(where); 3446 return false; 3447 } 3448 if (b2_uri) { 3449 if (!psMetadataAddStr(set, PS_LIST_TAIL, "b2_uri", 0, "==", b2_uri)) { 3450 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 3451 psFree(set); 3452 psFree(where); 3453 return false; 3454 } 3455 } 3456 3457 bool reject = psMetadataLookupBool(&status, config->args, "-reject"); 3458 if (!status) { 3459 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -reject"); 3460 psFree(set); 3461 psFree(where); 3462 return false; 3463 } 3464 if (!psMetadataAddBool(set, PS_LIST_TAIL, "accept", 0, "==", !reject)) { 3465 psError(PS_ERR_UNKNOWN, false, "failed to add item accept"); 3466 psFree(set); 3467 psFree(where); 3468 return false; 3469 } 3470 3471 long changed = psDBUpdateRows(config->dbh, "detResidExp", where, set); 3472 psFree(set); 3473 psFree(where); 3474 3475 if (changed < 0) { 3476 psError(PS_ERR_UNKNOWN, false, "no rows were updated"); 3477 return false; 3478 } 3479 3313 3480 return true; 3314 3481 }
Note:
See TracChangeset
for help on using the changeset viewer.
