Changeset 19621 for trunk/ippTools
- Timestamp:
- Sep 19, 2008, 2:11:37 PM (18 years ago)
- Location:
- trunk/ippTools
- Files:
-
- 13 edited
-
share/dettool_addprocessedexp.sql (modified) (1 diff)
-
share/dettool_childlessrun.sql (modified) (1 diff)
-
share/dettool_stop_completed_correct_runs.sql (modified) (1 diff)
-
share/dettool_tocorrectimfile.sql (modified) (2 diffs)
-
share/dettool_toprocessedexp.sql (modified) (1 diff)
-
share/dettool_toprocessedimfile.sql (modified) (1 diff)
-
share/dettool_toresidimfile.sql (modified) (2 diffs)
-
share/pxadmin_create_tables.sql (modified) (4 diffs)
-
src/dettool.c (modified) (10 diffs)
-
src/dettoolConfig.c (modified) (7 diffs)
-
src/dettool_correction.c (modified) (2 diffs)
-
src/dettool_processedimfile.c (modified) (4 diffs)
-
src/dettool_residimfile.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/share/dettool_addprocessedexp.sql
r19092 r19621 21 21 WHERE 22 22 detRun.state = 'run' 23 AND detRun.mode = 'master'23 AND (detRun.mode = 'master' or detRun.mode = 'verify') 24 24 AND detProcessedExp.det_id IS NULL 25 25 AND detProcessedExp.exp_id IS NULL -
trunk/ippTools/share/dettool_childlessrun.sql
r18561 r19621 5 5 FROM detRun 6 6 LEFT JOIN detRun as foo 7 ON foo.parent = detRun.det_id 7 ON foo.ref_det_id = detRun.det_id 8 -- XXX do we need to restrict to foo.ref_iter = detRun.iteration ? 8 9 WHERE 9 10 detRun.state = 'stop' -
trunk/ippTools/share/dettool_stop_completed_correct_runs.sql
r15830 r19621 8 8 FROM detRun AS det1 9 9 INNER JOIN detRun as det2 10 ON det1.parent = det2.det_id 10 ON det1.ref_det_run = det2.det_id 11 -- do we need to restrict by iteration? not clear this logic below is right or tested 11 12 JOIN detNormalizedImfile as imfile 12 13 ON det2.det_id = imfile.det_id -
trunk/ippTools/share/dettool_tocorrectimfile.sql
r15828 r19621 1 -- select imfiles from detRun 1 (the reference detRun) that match the desired correction in detRun 2 1 2 SELECT 2 3 det1.*, … … 14 15 imfile.fault 15 16 FROM detRun AS det1 16 INNERJOIN detRun as det217 ON det1. parent= det2.det_id17 JOIN detRun as det2 18 ON det1.ref_det_id = det2.det_id 18 19 JOIN detNormalizedImfile as imfile 19 ON det 2.det_id = imfile.det_id20 AND det 2.iteration= imfile.iteration20 ON det1.ref_det_id = imfile.det_id 21 AND det1.ref_iter = imfile.iteration 21 22 LEFT JOIN detRegisteredImfile 22 23 ON det1.det_id = detRegisteredImfile.det_id -
trunk/ippTools/share/dettool_toprocessedexp.sql
r15769 r19621 48 48 WHERE 49 49 detRun.state = 'run' 50 AND detRun.mode = 'master'50 AND (detRun.mode = 'master' or detRun.mode = 'verify') 51 51 AND detProcessedExp.det_id IS NULL 52 52 AND detProcessedExp.exp_id IS NULL -
trunk/ippTools/share/dettool_toprocessedimfile.sql
r14045 r19621 19 19 WHERE 20 20 detRun.state = 'run' 21 AND detRun.mode = 'master'21 AND (detRun.mode = 'master' or detRun.mode = 'verify') 22 22 AND detProcessedImfile.det_id IS NULL 23 23 AND detProcessedImfile.exp_id IS NULL -
trunk/ippTools/share/dettool_toresidimfile.sql
r18561 r19621 14 14 detProcessedImfile.uri, 15 15 detNormalizedImfile.uri AS det_uri, 16 detRun.det_id AS ref_det_id, 17 detRun.iteration AS ref_iter, 16 18 rawExp.camera, 17 19 rawExp.exp_tag … … 53 55 detRun.workdir, 54 56 detRun.reduction, 55 rawImfile.exp_id, 56 rawImfile.class_id, 57 rawImfile.uri, 58 'NULL' AS det_uri, 57 detProcessedImfile.exp_id, 58 detProcessedImfile.class_id, 59 detProcessedImfile.uri, 60 detNormalizedImfile.uri AS det_uri, 61 detRun.ref_det_id, 62 detRun.ref_iter, 59 63 rawExp.camera, 60 64 rawExp.exp_tag 61 65 FROM detRun 66 JOIN detRun AS detRunRef 67 ON detRunRef.det_id = detRun.ref_det_id 62 68 JOIN detInputExp 63 USING(det_id, iteration) 69 ON detInputExp.det_id = detRun.det_id 70 AND detInputExp.iteration = detRun.iteration 64 71 JOIN rawExp 65 ON detInputExp.exp_id = rawExp.exp_id 66 JOIN rawImfile 67 ON detInputExp.exp_id = rawImfile.exp_id 72 ON rawExp.exp_id = detInputExp.exp_id 73 JOIN detProcessedImfile 74 ON detProcessedImfile.det_id = detRun.det_id 75 AND detProcessedImfile.exp_id = detInputExp.exp_id 76 JOIN detNormalizedImfile 77 ON detNormalizedImfile.det_id = detRun.ref_det_id 78 AND detNormalizedImfile.iteration = detRun.ref_iter 79 AND detNormalizedImfile.class_id = detProcessedImfile.class_id 68 80 LEFT JOIN detResidImfile 69 ON detRun.det_id = detResidImfile.det_id70 AND detRun.iteration = detResidImfile.iteration71 AND rawImfile.exp_id = detResidImfile.exp_id72 AND rawImfile.class_id = detResidImfile.class_id81 ON detResidImfile.det_id = detRun.det_id 82 AND detResidImfile.iteration = detRun.iteration 83 AND detResidImfile.exp_id = detProcessedImfile.exp_id 84 AND detResidImfile.class_id = detProcessedImfile.class_id 73 85 WHERE 74 detRun.state = 'run'75 AND detRun.mode = 'verify'76 -- AND detNormalizedImfile.fault = 077 -- AND detNormalizedExp.fault = 078 AND detResidImfile.det_id IS NULL79 AND detResidImfile.iteration IS NULL80 AND detResidImfile.exp_id IS NULL81 AND detResidImfile.class_id IS NULL86 detRun.state = 'run' 87 AND detRun.mode = 'verify' 88 AND detRunRef.state = 'stop' 89 AND detNormalizedImfile.fault = 0 90 AND detResidImfile.det_id IS NULL 91 AND detResidImfile.iteration IS NULL 92 AND detResidImfile.exp_id IS NULL 93 AND detResidImfile.class_id IS NULL 82 94 ORDER BY exp_id -
trunk/ippTools/share/pxadmin_create_tables.sql
r19558 r19621 444 444 solang_max FLOAT, 445 445 label VARCHAR(64), 446 parent INT, 446 ref_det_id BIGINT, 447 ref_iter INT, 448 -- parent INT, :: dropping this 447 449 PRIMARY KEY(det_id), 448 450 KEY(det_id), … … 452 454 KEY(state), 453 455 KEY(label), 454 KEY(parent),456 -- KEY(parent), :: dropping this 455 457 INDEX(det_id, iteration)) 456 458 ENGINE=innodb DEFAULT CHARSET=latin1; … … 616 618 det_id BIGINT, 617 619 iteration INT, 620 ref_det_id BIGINT, 621 ref_iter INT, 618 622 exp_id BIGINT, 619 623 class_id VARCHAR(64), … … 647 651 FOREIGN KEY (det_id, exp_id, class_id) 648 652 REFERENCES detProcessedImfile(det_id, exp_id, class_id), 649 FOREIGN KEY ( det_id, iteration)653 FOREIGN KEY (ref_det_id, ref_iter) 650 654 REFERENCES detNormalizedExp(det_id, iteration) 651 655 ) ENGINE=innodb DEFAULT CHARSET=latin1; -
trunk/ippTools/src/dettool.c
r19092 r19621 234 234 // optional 235 235 PXOPT_LOOKUP_STR(filelevel, config->args, "-filelevel", false, false); 236 PXOPT_LOOKUP_STR(mode, config->args, "-mode", false, false); 236 237 237 // check mode 238 if (mode && !isValidMode(config, mode)) { 239 psError(PS_ERR_UNKNOWN, false, "invalud mode"); 240 return false; 241 } 238 PXOPT_LOOKUP_STR(mode, config->args, "-mode", true, false); // default ('master') is supplied 239 if (!isValidMode(config, mode)) { 240 psError(PS_ERR_UNKNOWN, false, "invalid mode"); 241 return false; 242 } 243 244 // get -ref_det_id and -ref_iter : required for 'verify' mode / disallowed otherwise 245 PXOPT_LOOKUP_S64(ref_det_id, config->args, "-ref_det_id", true, false); 246 PXOPT_LOOKUP_S32(ref_iter, config->args, "-ref_iter", true, false); 247 if (!strncmp(mode, "verify", 7) && ((ref_det_id == 0) || (ref_iter == -1))) { 248 psError(PS_ERR_UNKNOWN, false, "verify mode requires both -ref_det_id and -ref_iter"); 249 return false; 250 } 251 if (strncmp(mode, "verify", 7) && ((ref_det_id != 0) || (ref_iter != -1))) { 252 psError(PS_ERR_UNKNOWN, false, "master mode cannot have -ref_det_id or -ref_iter set"); 253 return false; 254 } 255 242 256 PXOPT_LOOKUP_STR(camera, config->args, "-inst", false, false); 243 257 PXOPT_LOOKUP_STR(telescope, config->args, "-telescope", false, false); … … 368 382 solang_max, 369 383 label, 370 0 // parent 384 ref_det_id, 385 ref_iter 371 386 ); 372 387 psS64 det_id = psDBLastInsertID(config->dbh); … … 469 484 PXOPT_LOOKUP_STR(camera, config->args, "-inst", true, false); 470 485 471 // optional472 PXOPT_LOOKUP_STR(mode, config->args, "-mode", false, false);473 486 // check mode 474 if (mode && !isValidMode(config, mode)) { 487 PXOPT_LOOKUP_STR(mode, config->args, "-mode", true, false); // default ('master') is supplied 488 if (!isValidMode(config, mode)) { 475 489 psError(PS_ERR_UNKNOWN, false, "invalid mode"); 476 490 return false; 477 491 } 492 493 // get -ref_det_id and -ref_iter : required for 'verify' mode / disallowed otherwise 494 PXOPT_LOOKUP_S64(ref_det_id, config->args, "-ref_det_id", false, false); 495 PXOPT_LOOKUP_S32(ref_iter, config->args, "-ref_iter", false, false); 496 if (!strncmp(mode, "verify", 7) && ((ref_det_id == 0) || (ref_iter == -1))) { 497 psError(PS_ERR_UNKNOWN, false, "verify mode requires both -ref_det_id and -ref_iter"); 498 return false; 499 } 500 if (strncmp(mode, "verify", 7) && ((ref_det_id != 0) || (ref_iter != -1))) { 501 psError(PS_ERR_UNKNOWN, false, "master mode cannot have -ref_det_id or -ref_iter set"); 502 return false; 503 } 504 478 505 PXOPT_LOOKUP_STR(filelevel, config->args, "-filelevel", false, false); 479 506 PXOPT_LOOKUP_STR(telescope, config->args, "-telescope", false, false); … … 623 650 solang_max, 624 651 label, 625 0 // parent 652 ref_det_id, 653 ref_iter 626 654 ); 627 655 psS64 det_id = psDBLastInsertID(config->dbh); … … 692 720 { 693 721 PS_ASSERT_PTR_NON_NULL(config, false); 694 695 722 723 // XXX this mode is not well-tested: probably need to specify iteration here 724 // XXX pass the supplied det_id and iteration as ref_det_id, or get from command line? 696 725 PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required 697 726 PXOPT_LOOKUP_STR(det_type, config->args, "-set_det_type", false, false); // optional … … 745 774 746 775 // pull the detRun object out the result array 776 // XXX need to assign or re-assign the ref_det_id and ref_iter values 747 777 detRunRow *detRun = psMemIncrRefCounter(detRuns->data[0]); 748 778 … … 962 992 963 993 PXOPT_COPY_STR(config->args, where, "-inst", "camera", "=="); 994 PXOPT_COPY_STR(config->args, where, "-mode", "mode", "=="); 964 995 PXOPT_COPY_STR(config->args, where, "-telescope", "telescope", "=="); 965 996 PXOPT_COPY_STR(config->args, where, "-filter", "filter", "=="); … … 1541 1572 PXOPT_LOOKUP_TIME(use_begin, config->args, "-use_begin", false, false); 1542 1573 PXOPT_LOOKUP_TIME(use_end, config->args, "-use_end", false, false); 1543 PXOPT_LOOKUP_S64(parent, config->args, "-parent", false, false); 1574 PXOPT_LOOKUP_S64(ref_det_id, config->args, "-ref_det_id", false, false); 1575 PXOPT_LOOKUP_S32(ref_iter, config->args, "-ref_iter", false, false); 1544 1576 PXOPT_LOOKUP_STR(label, config->args, "-label", false, false); 1545 1577 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); … … 1578 1610 solang_min, 1579 1611 solang_max, 1580 label, // label 1581 parent 1612 label, 1613 ref_det_id, 1614 ref_iter 1582 1615 )) { 1583 1616 psError(PS_ERR_UNKNOWN, false, "database error"); … … 1751 1784 1752 1785 // check that state is a valid string value 1753 if (!( 1754 (strncmp(mode, "master", 7) == 0) 1755 || (strncmp(mode, "verify", 7) == 0) 1756 ) 1757 ) { 1758 psError(PS_ERR_UNKNOWN, false, 1759 "invalid detRun mode: %s", mode); 1760 return false; 1761 } 1762 1763 return true; 1786 if (!strncmp(mode, "master", 7)) return true; 1787 if (!strncmp(mode, "verify", 7)) return true; 1788 1789 psError(PS_ERR_UNKNOWN, false, "invalid detRun mode: %s", mode); 1790 return false; 1764 1791 } 1765 1792 -
trunk/ippTools/src/dettoolConfig.c
r19092 r19621 78 78 psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-label", 0, "define detrun label", NULL); 79 79 psMetadataAddBool(definebytagArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 80 81 psMetadataAddS64(definebytagArgs, PS_LIST_TAIL, "-ref_det_id", 0, "define reference detrend (verify mode only)", 0); 82 psMetadataAddS32(definebytagArgs, PS_LIST_TAIL, "-ref_iter", 0, "define reference detrend (verify mode only)", -1); 80 83 81 84 // -definebyquery … … 129 132 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-random_subset", 0, "use a random subset of elements", false); 130 133 psMetadataAddS32(definebyqueryArgs, PS_LIST_TAIL, "-random_limit", 0, "use this number of random elements", 20); 134 psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-ref_det_id", 0, "define reference detrend (verify mode only)", 0); 135 psMetadataAddS32(definebyqueryArgs, PS_LIST_TAIL, "-ref_iter", 0, "define reference detrend (verify mode only)", -1); 131 136 132 137 // -definebydetrun … … 163 168 // -makecorrection 164 169 psMetadata *makecorrectionArgs = psMetadataAlloc(); 165 psMetadataAddS64(makecorrectionArgs, PS_LIST_TAIL, "-det_id", 0, "det ID to be corrected (required)", 0); 170 psMetadataAddS64(makecorrectionArgs, PS_LIST_TAIL, "-det_id", 0, "detRun det_id to be corrected (required)", 0); 171 psMetadataAddS32(makecorrectionArgs, PS_LIST_TAIL, "-iteration", 0, "detRun iteration to be corrected (required)", -1);; 166 172 psMetadataAddBool(makecorrectionArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 167 173 … … 203 209 psMetadataAddF32(runsArgs, PS_LIST_TAIL, "-ccd_temp", 0, "match ccd temp", NAN); 204 210 psMetadataAddF64(runsArgs, PS_LIST_TAIL, "-posang", 0, "match posang", NAN); 211 psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-mode", 0, "search for det run by mode", NULL); 205 212 psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 206 213 psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-active", 0, "only return active detRuns", false); … … 216 223 psMetadata *inputArgs = psMetadataAlloc(); 217 224 psMetadataAddS64(inputArgs, PS_LIST_TAIL, "-det_id", 0, "search for detrend ID", 0); 218 psMetadataAddS32(inputArgs, PS_LIST_TAIL, "-iteration", 0, " define iteration number", 0);225 psMetadataAddS32(inputArgs, PS_LIST_TAIL, "-iteration", 0, "search for iteration number (default 0)", 0); 219 226 psMetadataAddS64(inputArgs, PS_LIST_TAIL, "-exp_id", 0, "search for exp ID", 0); 220 227 psMetadataAddBool(inputArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); … … 591 598 592 599 // -addresidimfile 600 // XXX does a default value of 0 mean the entry is not instatiated? what about a supplied value of 0? 593 601 psMetadata *addresidimfileArgs = psMetadataAlloc(); 594 602 psMetadataAddS64(addresidimfileArgs, PS_LIST_TAIL, "-det_id", 0, "define detrend ID (required)", 0); 595 psMetadataAddS32(addresidimfileArgs, PS_LIST_TAIL, "-iteration", 0, "define iteration number", 0); 603 psMetadataAddS32(addresidimfileArgs, PS_LIST_TAIL, "-iteration", 0, "define iteration number", 0); 604 psMetadataAddS64(addresidimfileArgs, PS_LIST_TAIL, "-ref_det_id", 0, "define reference detrend ID (required)", 0); 605 psMetadataAddS32(addresidimfileArgs, PS_LIST_TAIL, "-ref_iter", 0, "define reference iteration number (required)", -1); 596 606 psMetadataAddS64(addresidimfileArgs, PS_LIST_TAIL, "-exp_id", 0, "define detrend ID (required)", 0); 597 psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-class_id", 0, "define class ID (required)", NULL);598 psMetadataAddS16(addresidimfileArgs, PS_LIST_TAIL, "-code", 0, "set fault code", 0);599 psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-uri", 0, "define resid file URI", NULL);600 psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-recip", 0, "define recipe", NULL);601 psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg", 0, "define exposure background", NAN);607 psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-class_id", 0, "define class ID (required)", NULL); 608 psMetadataAddS16(addresidimfileArgs, PS_LIST_TAIL, "-code", 0, "set fault code", 0); 609 psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-uri", 0, "define resid file URI", NULL); 610 psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-recip", 0, "define recipe", NULL); 611 psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg", 0, "define exposure background", NAN); 602 612 psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_stdev", 0, "define exposure background stdev", NAN); 603 613 psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev", 0, "define exposure background mean stdev", NAN); … … 815 825 psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-use_begin", 0, "start of detrend run applicable period", NULL); 816 826 psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-use_end", 0, "end of detrend run applicable period", NULL); 817 psMetadataAddS64(register_detrendArgs, PS_LIST_TAIL, "-parent", 0, "define parent det_id", 0); 827 psMetadataAddS64(register_detrendArgs, PS_LIST_TAIL, "-ref_det_id", 0, "define reference det_id", 0); 828 psMetadataAddS32(register_detrendArgs, PS_LIST_TAIL, "-ref_iter", 0, "define reference iteration", -1); 818 829 psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-label", 0, "define detrun label", NULL); 819 830 psMetadataAddBool(register_detrendArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); -
trunk/ippTools/src/dettool_correction.c
r19092 r19621 24 24 PS_ASSERT_PTR_NON_NULL(config, false); 25 25 26 PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required 26 PXOPT_LOOKUP_S64(ref_det_id, config->args, "-det_id", true, false); // required 27 PXOPT_LOOKUP_S32(ref_iter, config->args, "-iteration", true, false); // required 27 28 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); // optional 28 29 29 30 // build the needed where 30 31 psMetadata *where = psMetadataAlloc(); 31 psMetadataAddS64(where, PS_LIST_TAIL, "det_id", 0, "==", det_id); 32 psMetadataAddS64(where, PS_LIST_TAIL, "det_id", 0, "==", ref_det_id); 33 psMetadataAddS32(where, PS_LIST_TAIL, "iteration", 0, "==", ref_iter); 32 34 psArray *runs = detRunSelectRowObjects(config->dbh, where, 1); 33 35 psFree (where); … … 74 76 detRun->solang_max, 75 77 detRun->label, 76 detRun->det_id // parent 78 detRun->det_id, // ref_det_id 79 detRun->iteration // ref_iter 77 80 ); 78 81 -
trunk/ippTools/src/dettool_processedimfile.c
r19092 r19621 165 165 PS_ASSERT_PTR_NON_NULL(config, false); 166 166 167 char *value = NULL;167 bool hasWhere = false; 168 168 169 169 PXOPT_LOOKUP_BOOL(included, config->args, "-included", false); … … 173 173 174 174 psMetadata *where = psMetadataAlloc(); 175 PXOPT_COPY_S64(config->args, where, "-det_id", "det_id", "=="); 176 PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "=="); 177 PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "=="); 175 PXOPT_COPY_S64(config->args, where, "-det_id", "detProcessedImfile.det_id", "=="); 176 PXOPT_COPY_S64(config->args, where, "-exp_id", "detProcessedImfile.exp_id", "=="); 177 PXOPT_COPY_STR(config->args, where, "-class_id", "detProcessedImfile.class_id", "=="); 178 PXOPT_COPY_STR(config->args, where, "-select_state", "detRun.state", "=="); 179 PXOPT_COPY_STR(config->args, where, "-select_mode", "detRun.mode", "=="); 178 180 179 181 psString query = pxDataGet("dettool_processedimfile.sql"); … … 184 186 } 185 187 186 // add the two required restrictions: detRun.state and detRun.mode187 // NOTE the above query requires one of the following two WHERE statements188 {189 bool status;190 if ((value = psMetadataLookupStr(&status, config->args, "-select_state"))) {191 psStringAppend(&query, " WHERE detRun.state = '%s'", value);192 } else {193 psStringAppend(&query, " WHERE detRun.state = 'run'");194 }195 if ((value = psMetadataLookupStr(&status, config->args, "-select_mode"))) {196 psStringAppend(&query, " AND detRun.mode = '%s'", value);197 } else {198 psStringAppend(&query, " AND detRun.mode = 'master'");199 }200 }201 202 188 if (psListLength(where->list)) { 203 psString whereClause = psDBGenerateWhere ConditionSQL(where, "detProcessedImfile");204 psStringAppend(&query, " AND%s", whereClause);189 psString whereClause = psDBGenerateWhereSQL(where, NULL); 190 psStringAppend(&query, " %s", whereClause); 205 191 psFree(whereClause); 192 hasWhere = true; 206 193 } 207 194 psFree (where); … … 209 196 // restrict search to included imfiles 210 197 if (included) { 211 psStringAppend(&query, " AND detInputExp.include = 1"); 198 if (hasWhere) { 199 psStringAppend(&query, " AND detInputExp.include = 1"); 200 } else { 201 psStringAppend(&query, " WHERE detInputExp.include = 1"); 202 } 203 hasWhere = true; 204 } 205 206 if (hasWhere) { 207 psStringAppend(&query, " AND"); 208 } else { 209 psStringAppend(&query, " WHERE"); 212 210 } 213 211 214 212 if (faulted) { 215 // list only faulted rows 216 psStringAppend(&query, " %s", "AND detProcessedImfile.fault != 0"); 213 psStringAppend(&query, " %s", " detProcessedImfile.fault != 0"); 217 214 } else { 218 215 // don't list faulted rows 219 psStringAppend(&query, " %s", " ANDdetProcessedImfile.fault = 0");216 psStringAppend(&query, " %s", " detProcessedImfile.fault = 0"); 220 217 } 221 218 -
trunk/ippTools/src/dettool_residimfile.c
r19092 r19621 78 78 PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required 79 79 PXOPT_LOOKUP_S32(iteration, config->args, "-iteration", false, false); 80 81 PXOPT_LOOKUP_S64(ref_det_id, config->args, "-ref_det_id", true, false); // required 82 PXOPT_LOOKUP_S32(ref_iter, config->args, "-ref_iter", true, false); 83 80 84 PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", true, false); // required 81 85 PXOPT_LOOKUP_STR(class_id, config->args, "-class_id", true, false); // required … … 106 110 det_id, 107 111 iteration, 112 ref_det_id, 113 ref_iter, 108 114 exp_id, 109 115 class_id,
Note:
See TracChangeset
for help on using the changeset viewer.
