Changeset 14112
- Timestamp:
- Jul 10, 2007, 2:34:45 PM (19 years ago)
- Location:
- trunk/ippTools
- Files:
-
- 1 added
- 4 edited
-
share/Makefile.am (modified) (1 diff)
-
share/stacktool_revertsumskyfile.sql (added)
-
src/stacktool.c (modified) (3 diffs)
-
src/stacktool.h (modified) (1 diff)
-
src/stacktoolConfig.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/share/Makefile.am
r14108 r14112 37 37 stacktool_sumskyfile.sql \ 38 38 stacktool_tosum.sql \ 39 stacktool_revertsumskyfile.sql \ 39 40 warptool_exp.sql \ 40 41 warptool_imfile.sql \ -
trunk/ippTools/src/stacktool.c
r14110 r14112 38 38 static bool addsumskyfileMode(pxConfig *config); 39 39 static bool sumskyfileMode(pxConfig *config); 40 static bool revertsumskyfileMode(pxConfig *config); 40 41 41 42 static bool setstackRunState(pxConfig *config, const char *stack_id, const char *state); … … 66 67 MODECASE(STACKTOOL_MODE_ADDSUMSKYFILE, addsumskyfileMode); 67 68 MODECASE(STACKTOOL_MODE_SUMSKYFILE, sumskyfileMode); 69 MODECASE(STACKTOOL_MODE_REVERTSUMSKYFILE, revertsumskyfileMode); 68 70 default: 69 71 psAbort("invalid option (this should not happen)"); … … 666 668 667 669 670 static bool revertsumskyfileMode(pxConfig *config) 671 { 672 PS_ASSERT_PTR_NON_NULL(config, false); 673 674 psString query = pxDataGet("stacktool_revertsumskyfile.sql"); 675 if (!query) { 676 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 677 return false; 678 } 679 680 if (config->where) { 681 psString whereClause = psDBGenerateWhereConditionSQL(config->where, "stackSumSkyfile"); 682 psStringAppend(&query, " AND %s", whereClause); 683 psFree(whereClause); 684 } 685 686 if (!p_psDBRunQuery(config->dbh, query)) { 687 psError(PS_ERR_UNKNOWN, false, "database error"); 688 psFree(query); 689 return false; 690 } 691 psFree(query); 692 693 if (psDBAffectedRows(config->dbh) < 1) { 694 psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row"); 695 return false; 696 } 697 698 return true; 699 } 700 701 668 702 static bool setstackRunState(pxConfig *config, const char *stack_id, const char *state) 669 703 { -
trunk/ippTools/src/stacktool.h
r12025 r14112 32 32 STACKTOOL_MODE_ADDSUMSKYFILE, 33 33 STACKTOOL_MODE_SUMSKYFILE, 34 STACKTOOL_MODE_REVERTSUMSKYFILE, 34 35 } stacktoolMode; 35 36 -
trunk/ippTools/src/stacktoolConfig.c
r14110 r14112 121 121 "set fault code", 0); 122 122 123 124 123 // -sumskyfile 125 124 psMetadata *sumskyfileArgs= psMetadataAlloc(); … … 133 132 "use the simple output format", false); 134 133 134 // -revertsumskyfile 135 psMetadata *revertsumskyfileArgs= psMetadataAlloc(); 136 psMetadataAddStr(revertsumskyfileArgs, PS_LIST_TAIL, "-stack_id", 0, 137 "search by stack ID (required)", NULL); 138 psMetadataAddS16(revertsumskyfileArgs, PS_LIST_TAIL, "-code", 0, 139 "search by fault code", 0); 140 135 141 psFree(now); 136 142 … … 145 151 PXTOOL_ADD_MODE("-addsumskyfile", "", STACKTOOL_MODE_ADDSUMSKYFILE, addsumskyfileArgs); 146 152 PXTOOL_ADD_MODE("-sumskyfile", "", STACKTOOL_MODE_SUMSKYFILE, sumskyfileArgs); 153 PXTOOL_ADD_MODE("-revertsumskyfile","", STACKTOOL_MODE_REVERTSUMSKYFILE, revertsumskyfileArgs); 147 154 148 155 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) { … … 199 206 } 200 207 } 208 209 { 210 psString str = NULL; 211 bool status = false; 212 if ((str = psMetadataLookupStr(&status, config->args, "-stack_id"))) { 213 if (!psMetadataAddS64(config->where, PS_LIST_TAIL, "stack_id", 0, "==", (psS64)atoll(str))) { 214 psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id"); 215 psFree(config); 216 return NULL; 217 } 218 } 219 } 220 201 221 addWhereStr(skycell_id); 202 222 addWhereStr(tess_id); 203 addWhereStr(exp_id); 223 224 // convert '-code' to 'fault' 225 { 226 psS16 fault = 0; 227 bool status = false; 228 if ((fault = psMetadataLookupS16(&status, config->args, "-code"))) { 229 if (!psMetadataAddS16(config->where, PS_LIST_TAIL, "fault", 0, "==", fault)) { 230 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); 231 psFree(config); 232 return NULL; 233 } 234 } 235 } 204 236 205 237 if (config->where->list->n < 1) {
Note:
See TracChangeset
for help on using the changeset viewer.
