Changeset 12065
- Timestamp:
- Feb 26, 2007, 3:21:43 PM (19 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/dettool.c
r12058 r12065 35 35 static bool definebydetrunMode(pxConfig *config); 36 36 static bool runsMode(pxConfig *config); 37 static bool orphanrunMode(pxConfig *config); 37 38 static bool inputMode(pxConfig *config); 38 39 static bool rawMode(pxConfig *config); … … 106 107 MODECASE(DETTOOL_MODE_DEFINEBYDETRUN, definebydetrunMode); 107 108 MODECASE(DETTOOL_MODE_RUNS, runsMode); 109 MODECASE(DETTOOL_MODE_ORPHANRUN, orphanrunMode); 108 110 MODECASE(DETTOOL_MODE_INPUT, inputMode); 109 111 MODECASE(DETTOOL_MODE_RAW, rawMode); … … 1714 1716 1715 1717 psFree(runs); 1718 1719 return true; 1720 } 1721 1722 static bool orphanrunMode(pxConfig *config) 1723 { 1724 PS_ASSERT_PTR_NON_NULL(config, false); 1725 1726 psString query = psStringCopy( 1727 "SELECT\n" 1728 " detRun.*\n" 1729 " FROM detRun\n" 1730 " LEFT JOIN detRun as foo\n" 1731 " ON foo.parent = detRun.det_id\n" 1732 " WHERE" 1733 " detRun.state = 'stop'" 1734 " AND detRun.mode = 'master'" 1735 ); 1736 1737 if (config->where) { 1738 psString whereClause = psDBGenerateWhereConditionSQL(config->where, "detRun"); 1739 psStringAppend(&query, " AND %s", whereClause); 1740 psFree(whereClause); 1741 } 1742 1743 if (!p_psDBRunQuery(config->dbh, query)) { 1744 psError(PS_ERR_UNKNOWN, false, "database error"); 1745 psFree(query); 1746 return false; 1747 } 1748 psFree(query); 1749 1750 psArray *output = p_psDBFetchResult(config->dbh); 1751 if (!output) { 1752 psError(PS_ERR_UNKNOWN, false, "database error"); 1753 return false; 1754 } 1755 if (!psArrayLength(output)) { 1756 // XXX check psError here 1757 psError(PS_ERR_UNKNOWN, false, "no orphan detRun rows found"); 1758 psFree(output); 1759 return true; 1760 } 1761 1762 // convert det_id to a string externaly 1763 if (!convertDetIdToStr(output)) { 1764 psError(PS_ERR_UNKNOWN, false, "failed to convert det_id to a string"); 1765 psFree(output); 1766 return false; 1767 } 1768 1769 bool simple = false; 1770 { 1771 bool status = false; 1772 simple = psMetadataLookupBool(&status, config->args, "-simple"); 1773 if (!status) { 1774 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -simple"); 1775 psFree(output); 1776 return false; 1777 } 1778 } 1779 1780 // negative simple so the default is true 1781 if (!ippdbPrintMetadatas(stdout, output, "detRun", !simple)) { 1782 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 1783 psFree(output); 1784 return false; 1785 } 1786 1787 psFree(output); 1716 1788 1717 1789 return true; -
trunk/ippTools/src/dettool.h
r10223 r12065 30 30 DETTOOL_MODE_DEFINEBYDETRUN, 31 31 DETTOOL_MODE_RUNS, 32 DETTOOL_MODE_ORPHANRUN, 32 33 DETTOOL_MODE_INPUT, 33 34 DETTOOL_MODE_RAW, -
trunk/ippTools/src/dettoolConfig.c
r12058 r12065 108 108 psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-use_end", 0, 109 109 "end of detrend run applicable peroid", NULL); 110 psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-label", 0, 111 "define detrun label", NULL); 110 112 psMetadataAddBool(definebytagArgs, PS_LIST_TAIL, "-simple", 0, 111 113 "use the simple output format", false); … … 240 242 "use the simple output format", false); 241 243 244 // -orphanrun 245 psMetadata *orphanrunArgs = psMetadataAlloc(); 246 psMetadataAddStr(orphanrunArgs, PS_LIST_TAIL, "-det_type", 0, 247 "search for type of detrend run", NULL); 248 psMetadataAddBool(orphanrunArgs, PS_LIST_TAIL, "-simple", 0, 249 "use the simple output format", false); 250 242 251 // -input 243 252 psMetadata *inputArgs = psMetadataAlloc(); … … 787 796 PXTOOL_MODE("-raw", DETTOOL_MODE_RAW, rawArgs); 788 797 PXTOOL_MODE("-runs", DETTOOL_MODE_RUNS, runsArgs); 798 PXTOOL_MODE("-orphanrun", DETTOOL_MODE_ORPHANRUN , orphanrunArgs); 789 799 PXTOOL_MODE("-input", DETTOOL_MODE_INPUT, inputArgs); 790 800 PXTOOL_MODE("-toprocessedimfile", DETTOOL_MODE_TOPROCESSEDIMFILE, toprocessedimfileArgs);
Note:
See TracChangeset
for help on using the changeset viewer.
