Changeset 27738
- Timestamp:
- Apr 23, 2010, 11:20:24 AM (16 years ago)
- Location:
- trunk/ippTools
- Files:
-
- 1 added
- 6 edited
-
share/chiptool_change_imfile_data_state.sql (modified) (1 diff)
-
share/chiptool_listrun.sql (added)
-
share/chiptool_pendingcleanupimfile.sql (modified) (1 diff)
-
share/chiptool_pendingimfile.sql (modified) (1 diff)
-
share/chiptool_processedimfile.sql (modified) (2 diffs)
-
src/chiptool.c (modified) (8 diffs)
-
src/chiptoolConfig.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/share/chiptool_change_imfile_data_state.sql
r23384 r27738 3 3 -- chip_id and class_id 4 4 UPDATE chipProcessedImfile 5 JOIN chipRun USING(chip_id, exp_id) 5 6 JOIN rawImfile USING(exp_id, class_id) 6 7 SET -
trunk/ippTools/share/chiptool_pendingcleanupimfile.sql
r22751 r27738 13 13 USING(chip_id) 14 14 WHERE 15 ((chipRun.state = 'goto_cleaned' AND chipProcessedImfile.data_state = 'full') 15 ((chipRun.state = 'goto_cleaned' AND (chipProcessedImfile.data_state = 'full' 16 OR chipProcessedImfile.data_state = 'update')) 16 17 OR 17 (chipRun.state = 'goto_scrubbed' AND chipProcessedImfile.data_state = 'full')18 (chipRun.state = 'goto_scrubbed' AND chipProcessedImfile.data_state != 'scrubbed') 18 19 OR 19 20 (chipRun.state = 'goto_purged' AND chipProcessedImfile.data_state != 'purged')) -
trunk/ippTools/share/chiptool_pendingimfile.sql
r27391 r27738 33 33 OR 34 34 (chipRun.state = 'update' 35 AND chipProcessedImfile.data_state = 'update')) 36 -- // Restriction to prevent the processing of bad chips. Not needed now. 37 -- AND 38 -- (rawImfile.class_id != 'XY15' AND 39 -- rawImfile.class_id != 'XY32' AND 40 -- rawImfile.class_id != 'XY45') 41 35 AND chipProcessedImfile.data_state = 'update' 36 AND chipProcessedImfile.fault = 0)) -
trunk/ippTools/share/chiptool_processedimfile.sql
r26907 r27738 22 22 rawExp.camera, 23 23 rawExp.telescope, 24 rawExp.filelevel 24 rawExp.filelevel, 25 rawImfile.magicked AS raw_magicked, 26 rawImfile.burntool_state, 27 magicDSRun.state AS dsRun_state 25 28 FROM chipRun 26 29 JOIN chipImfile … … 30 33 JOIN rawExp 31 34 ON chipProcessedImfile.exp_id = rawExp.exp_id 35 JOIN rawImfile 36 ON rawExp.exp_id = rawImfile.exp_id 37 AND chipProcessedImfile.class_id = rawImfile.class_id 38 LEFT JOIN magicDSRun 39 ON stage_id = chip_id AND stage = 'chip' AND magicDSRun.re_place -
trunk/ippTools/src/chiptool.c
r27391 r27738 60 60 static bool runstateMode(pxConfig *config); 61 61 static bool setimfiletoupdateMode(pxConfig *config); 62 static bool listrunMode(pxConfig *config); 62 63 63 64 # define MODECASE(caseName, func) \ … … 103 104 MODECASE(CHIPTOOL_MODE_RUNSTATE, runstateMode); 104 105 MODECASE(CHIPTOOL_MODE_SETIMFILETOUPDATE, setimfiletoupdateMode); 106 MODECASE(CHIPTOOL_MODE_LISTRUN, listrunMode); 105 107 default: 106 108 psAbort("invalid option (this should not happen)"); … … 699 701 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 700 702 PXOPT_LOOKUP_BOOL(faulted, config->args, "-faulted", false); 703 PXOPT_LOOKUP_BOOL(allfiles, config->args, "-allfiles", false); 704 if (allfiles) { 705 faulted = false; 706 } 701 707 702 708 psMetadata *where = psMetadataAlloc(); … … 740 746 // list only faulted rows 741 747 psStringAppend(&query, " %s", "AND chipProcessedImfile.fault != 0"); 742 } else {748 } else if (!allfiles) { 743 749 // don't list faulted rows 744 750 psStringAppend(&query, " %s", "AND chipProcessedImfile.fault = 0"); … … 1414 1420 } 1415 1421 1416 char *set_magicked_imfile = "";1417 char *set_magicked_run = "";1422 psString set_magicked_imfile = psStringCopy(""); 1423 psString set_magicked_run = psStringCopy(""); 1418 1424 if (!strcmp(data_state, "full")) { 1419 1425 // if (chipProcessedImfile.magicked < 0 and rawImfile.magicked = 0) leave magicked unchanged. This will … … 1421 1427 // otherwise copy magicked from the rawImfile 1422 1428 // Same thing for chipRun/rawExp 1423 set_magicked_imfile = "\n , chipProcessedImfile.magicked = IF((chipProcessedImfile.magicked < 0 AND rawImfile.magicked = 0), chipProcessedImfile.magicked, rawImfile.magicked)"; 1424 set_magicked_run = "\n , chipRun.magicked = IF((chipRun.magicked < 0 AND rawExp.magicked = 0), chipRun.magicked, rawExp.magicked)"; 1429 psStringAppend(&set_magicked_imfile, "\n , chipProcessedImfile.magicked = IF((chipProcessedImfile.magicked < 0" 1430 " AND rawImfile.magicked = 0), chipProcessedImfile.magicked, rawImfile.magicked)"); 1431 psStringAppend(&set_magicked_run, "\n , chipRun.magicked = IF((chipRun.magicked < 0 AND rawExp.magicked = 0), " 1432 " chipRun.magicked, rawExp.magicked)"); 1433 1425 1434 } else if (!strcmp(data_state, "cleaned") || !strcmp(data_state, "purged")) { 1426 1435 // if magicked is non-zero set it to -1 1427 set_magicked_imfile = "\n, chipProcessedImfile.magicked = IF(chipProcessedImfile.magicked = 0, 0, -1)"; 1428 set_magicked_run = "\n, chipRun.magicked = IF(chipRun.magicked = 0, 0, -1)"; 1436 // Once one imfile has been cleaned, the chipRun is no longer 'magicked' 1437 psStringAppend(&set_magicked_imfile, "\n, chipProcessedImfile.magicked = IF(chipProcessedImfile.magicked = 0, 0, -1)," 1438 " chipRun.magicked = IF(chipRun.magicked = 0, 0, -1)"); 1429 1439 } 1430 1440 … … 1440 1450 } 1441 1451 psFree(query); 1452 psFree(set_magicked_imfile); 1453 psFree(set_magicked_run); 1442 1454 if (psDBAffectedRows(config->dbh) < 1) { 1443 1455 psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row"); … … 1757 1769 return true; 1758 1770 } 1771 1772 static bool listrunMode(pxConfig *config) 1773 { 1774 PS_ASSERT_PTR_NON_NULL(config, NULL); 1775 1776 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 1777 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 1778 PXOPT_LOOKUP_BOOL(pstamp_order, config->args, "-pstamp_order", false); 1779 1780 psMetadata *where = psMetadataAlloc(); 1781 pxchipGetSearchArgs (config, where); // chipRun, chipProcessedImfile, rawExp 1782 PXOPT_COPY_S64(config->args, where, "-chip_id", "chipRun.chip_id", "=="); 1783 PXOPT_COPY_STR(config->args, where, "-reduction", "chipRun.reduction", "=="); 1784 PXOPT_COPY_STR(config->args, where, "-state", "chipRun.state", "=="); 1785 pxAddLabelSearchArgs (config, where, "-label", "chipRun.label", "LIKE"); 1786 pxAddLabelSearchArgs (config, where, "-data_group", "chipRun.data_group", "LIKE"); 1787 pxAddLabelSearchArgs (config, where, "-dist_group", "chipRun.dist_group", "LIKE"); 1788 PXOPT_COPY_S64(config->args, where, "-magicked", "chipRun.magicked", "=="); 1789 1790 psString where2 = NULL; 1791 pxmagicAddWhere(config, &where2, "chipRun"); 1792 // add cuts on ra and decl if supplied 1793 if (!pxspaceAddWhere(config, &where2, "rawExp")) { 1794 psError(psErrorCodeLast(), false, "pxSpaceAddWhere failed"); 1795 return false; 1796 } 1797 1798 psString query = pxDataGet("chiptool_listrun.sql"); 1799 if (!query) { 1800 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1801 return false; 1802 } 1803 1804 if (psListLength(where->list)) { 1805 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1806 psStringAppend(&query, " WHERE %s %s", whereClause, where2 ? where2 : ""); 1807 psFree(whereClause); 1808 } else if (psMetadataLookupBool(NULL, config->args, "-all") || where2) { 1809 psStringAppend(&query, " WHERE chipRun.chip_id IS NOT NULL %s", where2 ? where2 : ""); 1810 } else { 1811 psFree(where); 1812 psError(PXTOOLS_ERR_CONFIG, false, "search parameters (or -all) are required"); 1813 return false; 1814 } 1815 psFree(where); 1816 1817 if (pstamp_order) { 1818 // put runs in order of exposure id with newest chip Runs first 1819 // The postage stamp parser depends on this behavior 1820 psStringAppend(&query, "\nORDER by exp_id, chip_id DESC"); 1821 } 1822 1823 // treat limit == 0 as "no limit" 1824 if (limit) { 1825 psString limitString = psDBGenerateLimitSQL(limit); 1826 psStringAppend(&query, " %s", limitString); 1827 psFree(limitString); 1828 } 1829 1830 if (!p_psDBRunQuery(config->dbh, query)) { 1831 psError(PS_ERR_UNKNOWN, false, "database error"); 1832 psFree(query); 1833 return false; 1834 } 1835 psFree(query); 1836 1837 psArray *output = p_psDBFetchResult(config->dbh); 1838 if (!output) { 1839 psError(PS_ERR_UNKNOWN, false, "database error"); 1840 return false; 1841 } 1842 if (!psArrayLength(output)) { 1843 psTrace("chiptool", PS_LOG_INFO, "no rows found"); 1844 psFree(output); 1845 return true; 1846 } 1847 1848 // negative simple so the default is true 1849 if (!ippdbPrintMetadatas(stdout, output, "chipRun", !simple)) { 1850 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 1851 psFree(output); 1852 return false; 1853 } 1854 1855 psFree(output); 1856 1857 return true; 1858 } -
trunk/ippTools/src/chiptoolConfig.c
r27391 r27738 196 196 psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-all", 0, "list everything without search terms", false); 197 197 psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-faulted", 0, "only return imfiles with a fault status set", false); 198 psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-allfiles", 0, "only all matching imfiles regardless of fault status", false); 198 199 psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 199 200 … … 216 217 psMetadataAddS16(updateprocessedimfileArgs, PS_LIST_TAIL, "-fault", 0, "set fault code (required)", 0); 217 218 psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-set_state", 0, "set state", NULL); 219 220 // -processedExp 221 psMetadata *listrunArgs = psMetadataAlloc(); 222 pxchipSetSearchArgs(listrunArgs); 223 psMetadataAddS64(listrunArgs, PS_LIST_TAIL, "-chip_id", 0, "search by chip ID", 0); 224 psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-reduction", 0, "search by reduction class", NULL); 225 psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by chipRun label (LIKE comparison)", NULL); 226 psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-state", 0, "search by chipRun state", NULL); 227 psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-data_group", PS_META_DUPLICATE_OK, "search by chipRun data_group (LIKE comparison)", NULL); 228 psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-dist_group", PS_META_DUPLICATE_OK, "search by chipRun dist_group (LIKE comparison)", NULL); 229 pxmagicAddArguments(listrunArgs); 230 231 psMetadataAddBool(listrunArgs, PS_LIST_TAIL, "-pstamp_order", 0, "order results for postage stamp server", false); 232 psMetadataAddU64(listrunArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 233 psMetadataAddBool(listrunArgs, PS_LIST_TAIL, "-all", 0, "list everything without search terms", false); 234 psMetadataAddBool(listrunArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 235 pxspaceAddArguments(listrunArgs); 236 218 237 // -block 219 238 psMetadata *blockArgs = psMetadataAlloc(); … … 328 347 PXOPT_ADD_MODE("-revertprocessedimfile","undo a processed imfile", CHIPTOOL_MODE_REVERTPROCESSEDIMFILE,revertprocessedimfileArgs); 329 348 PXOPT_ADD_MODE("-runstate", "list the states of chip run", CHIPTOOL_MODE_RUNSTATE, runstateArgs); 349 PXOPT_ADD_MODE("-listrun", "list chipRuns", CHIPTOOL_MODE_LISTRUN, listrunArgs); 330 350 PXOPT_ADD_MODE("-advanceexp", "advance completed exposures", CHIPTOOL_MODE_ADVANCEEXP, advanceexpArgs); 331 351 PXOPT_ADD_MODE("-block", "set a label block", CHIPTOOL_MODE_BLOCK, blockArgs);
Note:
See TracChangeset
for help on using the changeset viewer.
