Changeset 26960
- Timestamp:
- Feb 16, 2010, 2:52:29 PM (16 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 3 edited
-
magicdstool.c (modified) (3 diffs)
-
magicdstool.h (modified) (1 diff)
-
magicdstoolConfig.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/magicdstool.c
r26942 r26960 39 39 static bool advancerunMode(pxConfig *config); 40 40 static bool revertdestreakedfileMode(pxConfig *config); 41 static bool clearstatefaultsMode(pxConfig *config); 41 42 static bool getskycellsMode(pxConfig *config); 42 43 static bool toremoveMode(pxConfig *config); … … 72 73 MODECASE(MAGICDSTOOL_MODE_ADVANCERUN, advancerunMode); 73 74 MODECASE(MAGICDSTOOL_MODE_REVERTDESTREAKEDFILE,revertdestreakedfileMode); 75 MODECASE(MAGICDSTOOL_MODE_CLEARSTATEFAULTS, clearstatefaultsMode); 74 76 MODECASE(MAGICDSTOOL_MODE_GETSKYCELLS, getskycellsMode); 75 77 MODECASE(MAGICDSTOOL_MODE_TOREMOVE, toremoveMode); … … 996 998 return true; 997 999 } 1000 static bool clearstatefaultsMode(pxConfig *config) 1001 { 1002 PS_ASSERT_PTR_NON_NULL(config, false); 1003 1004 psMetadata *where = psMetadataAlloc(); 1005 // new state 1006 PXOPT_LOOKUP_STR(new_state, config->args, "-set_state", false, false); 1007 // old state (required) 1008 PXOPT_LOOKUP_STR(state, config->args, "-state", true, false); 1009 1010 PXOPT_COPY_STR(config->args, where, "-state", "state", "=="); 1011 PXOPT_COPY_S64(config->args, where, "-magic_ds_id", "magicDSRun.magic_ds_id", "=="); 1012 PXOPT_COPY_S16(config->args, where, "-fault", "fault", "=="); 1013 pxAddLabelSearchArgs (config, where, "-label", "label", "=="); 1014 1015 psString query = pxDataGet("magicdstool_clearstatefaults.sql"); 1016 1017 if (psListLength(where->list)) { 1018 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1019 psStringAppend(&query, " WHERE %s", whereClause); 1020 psFree(whereClause); 1021 } else { 1022 psError(PS_ERR_UNKNOWN, true, "search arguments are required"); 1023 return false; 1024 } 1025 psFree(where); 1026 1027 if (!new_state) { 1028 if (!strcmp(state, "failed_revert")) { 1029 new_state = "new"; 1030 } else if (!strcmp(state, "failed_cleanup")) { 1031 new_state = "goto_cleaned"; 1032 } else { 1033 psError(PS_ERR_UNKNOWN, true, "unexpected value for state: %s", state); 1034 return false; 1035 } 1036 } 1037 if (!p_psDBRunQueryF(config->dbh, query, new_state)) { 1038 psError(PS_ERR_UNKNOWN, false, "failed to revert"); 1039 psFree(query); 1040 return false; 1041 } 1042 psFree(query); 1043 return true; 1044 } 998 1045 999 1046 static bool completedrevertMode(pxConfig *config) -
trunk/ippTools/src/magicdstool.h
r26912 r26960 32 32 MAGICDSTOOL_MODE_ADVANCERUN, 33 33 MAGICDSTOOL_MODE_REVERTDESTREAKEDFILE, 34 MAGICDSTOOL_MODE_CLEARSTATEFAULTS, 34 35 MAGICDSTOOL_MODE_GETSKYCELLS, 35 36 MAGICDSTOOL_MODE_TOREMOVE, -
trunk/ippTools/src/magicdstoolConfig.c
r26912 r26960 138 138 psMetadataAddStr(revertdestreakedfileArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "define label", NULL); 139 139 140 // -clearstatefaults 141 psMetadata *clearstatefaultsArgs = psMetadataAlloc(); 142 psMetadataAddStr(clearstatefaultsArgs, PS_LIST_TAIL, "-set_state", 0, "new value for state", NULL); 143 psMetadataAddStr(clearstatefaultsArgs, PS_LIST_TAIL, "-state", 0, "search by state (required)", NULL); 144 psMetadataAddS64(clearstatefaultsArgs, PS_LIST_TAIL, "-magic_ds_id", 0, "search by magictool de-streak ID", 0); 145 psMetadataAddS16(clearstatefaultsArgs, PS_LIST_TAIL, "-fault", 0, "search by fault code", 0); 146 psMetadataAddStr(clearstatefaultsArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by label", NULL); 147 140 148 // -getskycells 141 149 psMetadata *getskycellsArgs = psMetadataAlloc(); … … 201 209 PXOPT_ADD_MODE("-revertdestreakedfile", " revert a faulted de-streaked file", 202 210 MAGICDSTOOL_MODE_REVERTDESTREAKEDFILE, revertdestreakedfileArgs); 211 PXOPT_ADD_MODE("-clearstatefaults", " clear magicDSRuns in fault state", 212 MAGICDSTOOL_MODE_CLEARSTATEFAULTS, clearstatefaultsArgs); 203 213 PXOPT_ADD_MODE("-getskycells", "get skycell files ", 204 214 MAGICDSTOOL_MODE_GETSKYCELLS, getskycellsArgs);
Note:
See TracChangeset
for help on using the changeset viewer.
