Changeset 29416
- Timestamp:
- Oct 14, 2010, 2:23:39 PM (16 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 9 edited
-
chiptool.c (modified) (4 diffs)
-
chiptool.h (modified) (1 diff)
-
chiptoolConfig.c (modified) (2 diffs)
-
difftool.c (modified) (3 diffs)
-
difftool.h (modified) (1 diff)
-
difftoolConfig.c (modified) (2 diffs)
-
warptool.c (modified) (3 diffs)
-
warptool.h (modified) (1 diff)
-
warptoolConfig.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/chiptool.c
r28716 r29416 50 50 static bool pendingcleanuprunMode(pxConfig *config); 51 51 static bool pendingcleanupimfileMode(pxConfig *config); 52 static bool revertcleanupMode(pxConfig *config); 52 53 static bool donecleanupMode(pxConfig *config); 53 54 static bool runMode(pxConfig *config); … … 94 95 MODECASE(CHIPTOOL_MODE_PENDINGCLEANUPRUN, pendingcleanuprunMode); 95 96 MODECASE(CHIPTOOL_MODE_PENDINGCLEANUPIMFILE, pendingcleanupimfileMode); 97 MODECASE(CHIPTOOL_MODE_REVERTCLEANUP, revertcleanupMode); 96 98 MODECASE(CHIPTOOL_MODE_DONECLEANUP, donecleanupMode); 97 99 MODECASE(CHIPTOOL_MODE_RUN, runMode); … … 859 861 } 860 862 psString query_update = pxDataGet("chiptool_revertupdatedimfile.sql"); 861 if (!query ) {863 if (!query_update) { 862 864 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 863 865 psFree(where); 864 866 return false; 865 867 } 868 866 869 867 870 if (where && psListLength(where->list)) { … … 886 889 } 887 890 psFree(query_update); 891 892 return true; 893 } 894 static bool revertcleanupMode(pxConfig *config) 895 { 896 PS_ASSERT_PTR_NON_NULL(config, false); 897 898 psMetadata *where = psMetadataAlloc(); 899 PXOPT_COPY_S64(config->args, where, "-chip_id", "chipRun.chip_id", "=="); 900 pxAddLabelSearchArgs (config, where, "-label", "chipRun.label", "LIKE"); 901 pxAddLabelSearchArgs (config, where, "-data_group", "chipRun.data_group", "LIKE"); 902 PXOPT_LOOKUP_STR(state, config->args, "-state", false, false); 903 904 char* newState = NULL; 905 if (!state) { 906 state = "error_cleaned"; 907 } 908 if (!strcmp(state, "error_cleaned")) { 909 newState = "goto_cleaned"; 910 } else if (!strcmp(state, "error_purged")) { 911 newState = "goto_purged"; 912 } else if (!strcmp(state, "error_scrubbed")) { 913 newState = "goto_scrubbed"; 914 } else { 915 psError(PXTOOLS_ERR_CONFIG, true, "-state must be either error_cleaned, error_purged, or error_scrubbed"); 916 return false; 917 } 918 919 if (!psListLength(where->list)) { 920 psFree(where); 921 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 922 return false; 923 } 924 925 psString query = pxDataGet("chiptool_revertcleanup.sql"); 926 if (!query) { 927 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 928 psFree(where); 929 return false; 930 } 931 932 if (where && psListLength(where->list)) { 933 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 934 psStringAppend(&query, " AND %s", whereClause); 935 psFree(whereClause); 936 } 937 938 psFree(where); 939 940 if (!p_psDBRunQueryF(config->dbh, query, newState, state, state)) { 941 psError(PS_ERR_UNKNOWN, false, "database error"); 942 psFree(query); 943 return false; 944 } 945 psFree(query); 888 946 889 947 return true; -
trunk/ippTools/src/chiptool.h
r27742 r29416 42 42 CHIPTOOL_MODE_PENDINGCLEANUPRUN, 43 43 CHIPTOOL_MODE_PENDINGCLEANUPIMFILE, 44 CHIPTOOL_MODE_REVERTCLEANUP, 44 45 CHIPTOOL_MODE_DONECLEANUP, 45 46 CHIPTOOL_MODE_RUN, -
trunk/ippTools/src/chiptoolConfig.c
r28716 r29416 290 290 psMetadataAddU64(donecleanupArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 291 291 292 // -revertcleanup 293 psMetadata *revertcleanupArgs = psMetadataAlloc(); 294 psMetadataAddS64(revertcleanupArgs, PS_LIST_TAIL, "-chip_id", 0, "search by chip ID", 0); 295 psMetadataAddStr(revertcleanupArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by chipRun label (LIKE comparison)", NULL); 296 psMetadataAddStr(revertcleanupArgs, PS_LIST_TAIL, "-data_group", PS_META_DUPLICATE_OK, "search by chipRun data_group (LIKE comparison)", NULL); 297 psMetadataAddStr(revertcleanupArgs, PS_LIST_TAIL, "-state", 0, "search by current state", NULL); 298 psMetadataAddS16(revertcleanupArgs, PS_LIST_TAIL, "-fault", 0, "search by fault code", 0); 299 292 300 // -run 293 301 psMetadata *runArgs = psMetadataAlloc(); … … 371 379 PXOPT_ADD_MODE("-pendingcleanupimfile", "show runs that need to be cleaned up", CHIPTOOL_MODE_PENDINGCLEANUPIMFILE, pendingcleanupimfileArgs); 372 380 PXOPT_ADD_MODE("-donecleanup", "show runs that have been cleaned", CHIPTOOL_MODE_DONECLEANUP, donecleanupArgs); 381 PXOPT_ADD_MODE("-revertcleanup", "show runs that have been cleaned", CHIPTOOL_MODE_REVERTCLEANUP, revertcleanupArgs); 373 382 PXOPT_ADD_MODE("-run", "show runs", CHIPTOOL_MODE_RUN, runArgs); 374 383 PXOPT_ADD_MODE("-tocleanedimfile", "set imfile state to cleaned", CHIPTOOL_MODE_TOCLEANEDIMFILE, tocleanedimfileArgs); -
trunk/ippTools/src/difftool.c
r29365 r29416 48 48 static bool pendingcleanuprunMode(pxConfig *config); 49 49 static bool pendingcleanupskyfileMode(pxConfig *config); 50 static bool revertcleanupMode(pxConfig *config); 50 51 static bool donecleanupMode(pxConfig *config); 51 52 static bool updatediffskyfileMode(pxConfig *config); … … 100 101 MODECASE(DIFFTOOL_MODE_PENDINGCLEANUPRUN, pendingcleanuprunMode); 101 102 MODECASE(DIFFTOOL_MODE_PENDINGCLEANUPSKYFILE, pendingcleanupskyfileMode); 103 MODECASE(DIFFTOOL_MODE_REVERTCLEANUP, revertcleanupMode); 102 104 MODECASE(DIFFTOOL_MODE_DONECLEANUP, donecleanupMode); 103 105 MODECASE(DIFFTOOL_MODE_UPDATEDIFFSKYFILE, updatediffskyfileMode); … … 2531 2533 2532 2534 2535 static bool revertcleanupMode(pxConfig *config) 2536 { 2537 PS_ASSERT_PTR_NON_NULL(config, false); 2538 2539 psMetadata *where = psMetadataAlloc(); 2540 PXOPT_COPY_S64(config->args, where, "-diff_id", "diffSkyfile.diff_id", "=="); 2541 pxAddLabelSearchArgs (config, where, "-label", "diffRun.label", "LIKE"); 2542 pxAddLabelSearchArgs (config, where, "-data_group", "diffRun.data_group", "LIKE"); 2543 2544 PXOPT_LOOKUP_STR(state, config->args, "-state", false, false); 2545 2546 if (!psListLength(where->list)) { 2547 psFree(where); 2548 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 2549 return false; 2550 } 2551 if (!state) { 2552 state = "error_cleaned"; 2553 } 2554 char *newState = NULL; 2555 if (!strcmp(state, "error_cleaned")) { 2556 newState = "goto_cleaned"; 2557 } else if (!strcmp(state, "error_purged")) { 2558 newState = "goto_purged"; 2559 } else if (!strcmp(state, "error_scrubbed")) { 2560 newState = "goto_scrubbed"; 2561 } else { 2562 psError(PXTOOLS_ERR_CONFIG, true, "-state must be either error_cleaned, error_purged, or error_scrubbed"); 2563 return false; 2564 } 2565 2566 psString query = pxDataGet("difftool_revertcleanup.sql"); 2567 if (!query) { 2568 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 2569 return false; 2570 } 2571 2572 if (psListLength(where->list)) { 2573 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 2574 psStringAppend(&query, " AND %s", whereClause); 2575 psFree(whereClause); 2576 } 2577 psFree(where); 2578 2579 if (!p_psDBRunQueryF(config->dbh, query, newState, state, state)) { 2580 psError(PS_ERR_UNKNOWN, false, "database error"); 2581 psFree(query); 2582 return false; 2583 } 2584 psFree(query); 2585 2586 int numDeleted = psDBAffectedRows(config->dbh); 2587 2588 psLogMsg("difftool", PS_LOG_INFO, "Reverted %d diffRuns and diffSkyfiles", numDeleted); 2589 2590 return true; 2591 } 2533 2592 static bool donecleanupMode(pxConfig *config) 2534 2593 { -
trunk/ippTools/src/difftool.h
r29299 r29416 42 42 DIFFTOOL_MODE_PENDINGCLEANUPRUN, 43 43 DIFFTOOL_MODE_PENDINGCLEANUPSKYFILE, 44 DIFFTOOL_MODE_REVERTCLEANUP, 44 45 DIFFTOOL_MODE_DONECLEANUP, 45 46 DIFFTOOL_MODE_UPDATEDIFFSKYFILE, -
trunk/ippTools/src/difftoolConfig.c
r29335 r29416 390 390 psMetadataAddU64(pendingcleanupskyfileArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 391 391 392 // -revertcleanup 393 psMetadata *revertcleanupArgs = psMetadataAlloc(); 394 psMetadataAddS64(revertcleanupArgs, PS_LIST_TAIL, "-diff_id", 0, "search by difftool ID", 0); 395 psMetadataAddStr(revertcleanupArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by diffRun label", NULL); 396 psMetadataAddStr(revertcleanupArgs, PS_LIST_TAIL, "-data_group", PS_META_DUPLICATE_OK, "search by diffRun data_group", NULL); 397 psMetadataAddStr(revertcleanupArgs, PS_LIST_TAIL, "-state", 0, "search by state", NULL); 398 399 392 400 // -donecleanup 393 401 psMetadata *donecleanupArgs = psMetadataAlloc(); … … 464 472 PXOPT_ADD_MODE("-pendingcleanuprun", "show runs that need to be cleaned up", DIFFTOOL_MODE_PENDINGCLEANUPRUN, pendingcleanuprunArgs); 465 473 PXOPT_ADD_MODE("-pendingcleanupskyfile", "show runs that need to be cleaned up", DIFFTOOL_MODE_PENDINGCLEANUPSKYFILE, pendingcleanupskyfileArgs); 474 PXOPT_ADD_MODE("-revertcleanup", "revert cleanup runs with errors", DIFFTOOL_MODE_REVERTCLEANUP, revertcleanupArgs); 466 475 PXOPT_ADD_MODE("-donecleanup", "show runs that have been cleaned", DIFFTOOL_MODE_DONECLEANUP, donecleanupArgs); 467 476 PXOPT_ADD_MODE("-updatediffskyfile", "update fault code for a diffskyfile", DIFFTOOL_MODE_UPDATEDIFFSKYFILE, updatediffskyfileArgs); -
trunk/ippTools/src/warptool.c
r28375 r29416 52 52 static bool pendingcleanuprunMode(pxConfig *config); 53 53 static bool pendingcleanupwarpMode(pxConfig *config); 54 static bool revertcleanupMode(pxConfig *config); 54 55 static bool donecleanupMode(pxConfig *config); 55 56 static bool tocleanedskyfileMode(pxConfig *config); … … 107 108 MODECASE(WARPTOOL_MODE_PENDINGCLEANUPRUN, pendingcleanuprunMode); 108 109 MODECASE(WARPTOOL_MODE_PENDINGCLEANUPSKYFILE, pendingcleanupwarpMode); 110 MODECASE(WARPTOOL_MODE_REVERTCLEANUP, revertcleanupMode); 109 111 MODECASE(WARPTOOL_MODE_DONECLEANUP, donecleanupMode); 110 112 MODECASE(WARPTOOL_MODE_TOCLEANEDSKYFILE, tocleanedskyfileMode); … … 1805 1807 1806 1808 1809 static bool revertcleanupMode(pxConfig *config) 1810 { 1811 PS_ASSERT_PTR_NON_NULL(config, false); 1812 1813 psMetadata *where = psMetadataAlloc(); 1814 PXOPT_COPY_S64(config->args, where, "-warp_id", "warpSkyfile.warp_id", "=="); 1815 pxAddLabelSearchArgs (config, where, "-label", "warpRun.label", "LIKE"); 1816 pxAddLabelSearchArgs (config, where, "-data_group", "warpRun.data_group", "LIKE"); 1817 1818 PXOPT_LOOKUP_STR(state, config->args, "-state", false, false); 1819 1820 if (!psListLength(where->list)) { 1821 psFree(where); 1822 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 1823 return false; 1824 } 1825 if (!state) { 1826 state = "error_cleaned"; 1827 } 1828 char *newState = NULL; 1829 if (!strcmp(state, "error_cleaned")) { 1830 newState = "goto_cleaned"; 1831 } else if (!strcmp(state, "error_purged")) { 1832 newState = "goto_purged"; 1833 } else if (!strcmp(state, "error_scrubbed")) { 1834 newState = "goto_scrubbed"; 1835 } else { 1836 psError(PXTOOLS_ERR_CONFIG, true, "-state must be either error_cleaned, error_purged, or error_scrubbed"); 1837 return false; 1838 } 1839 1840 psString query = pxDataGet("warptool_revertcleanup.sql"); 1841 if (!query) { 1842 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1843 return false; 1844 } 1845 1846 if (psListLength(where->list)) { 1847 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1848 psStringAppend(&query, " AND %s", whereClause); 1849 psFree(whereClause); 1850 } 1851 psFree(where); 1852 1853 if (!p_psDBRunQueryF(config->dbh, query, newState, state, state)) { 1854 psError(PS_ERR_UNKNOWN, false, "database error"); 1855 psFree(query); 1856 return false; 1857 } 1858 psFree(query); 1859 1860 int numDeleted = psDBAffectedRows(config->dbh); 1861 1862 psLogMsg("warptool", PS_LOG_INFO, "Reverted %d warpRuns and warpSkyfiles", numDeleted); 1863 1864 return true; 1865 } 1807 1866 static bool donecleanupMode(pxConfig *config) 1808 1867 { -
trunk/ippTools/src/warptool.h
r28375 r29416 48 48 WARPTOOL_MODE_PENDINGCLEANUPRUN, 49 49 WARPTOOL_MODE_PENDINGCLEANUPSKYFILE, 50 WARPTOOL_MODE_REVERTCLEANUP, 50 51 WARPTOOL_MODE_DONECLEANUP, 51 52 WARPTOOL_MODE_TOCLEANEDSKYFILE, -
trunk/ippTools/src/warptoolConfig.c
r28375 r29416 362 362 psMetadataAddU64(pendingcleanupskyfileArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 363 363 364 // -revertcleanup 365 psMetadata *revertcleanupArgs = psMetadataAlloc(); 366 psMetadataAddS64(revertcleanupArgs, PS_LIST_TAIL, "-warp_id", 0, "search by warptool ID", 0); 367 psMetadataAddStr(revertcleanupArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by warpRun label", NULL); 368 psMetadataAddStr(revertcleanupArgs, PS_LIST_TAIL, "-data_group", PS_META_DUPLICATE_OK, "search by warpRun data_group", NULL); 369 psMetadataAddStr(revertcleanupArgs, PS_LIST_TAIL, "-state", 0, "search by state", NULL); 370 364 371 // -donecleanup 365 372 psMetadata *donecleanupArgs = psMetadataAlloc(); … … 451 458 PXOPT_ADD_MODE("-pendingcleanuprun", "show runs that need to be cleaned up", WARPTOOL_MODE_PENDINGCLEANUPRUN, pendingcleanuprunArgs); 452 459 PXOPT_ADD_MODE("-pendingcleanupskyfile", "show runs that need to be cleaned up", WARPTOOL_MODE_PENDINGCLEANUPSKYFILE, pendingcleanupskyfileArgs); 460 PXOPT_ADD_MODE("-revertcleanup", "revert cleanup runs with errors", WARPTOOL_MODE_REVERTCLEANUP, revertcleanupArgs); 453 461 PXOPT_ADD_MODE("-donecleanup", "show runs that have been cleaned", WARPTOOL_MODE_DONECLEANUP, donecleanupArgs); 454 462 PXOPT_ADD_MODE("-tocleanedskyfile", "set skyfile as cleaned", WARPTOOL_MODE_TOCLEANEDSKYFILE, tocleanedskyfileArgs);
Note:
See TracChangeset
for help on using the changeset viewer.
