Changeset 11002
- Timestamp:
- Jan 9, 2007, 3:59:08 PM (19 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 1 added
- 6 edited
-
Makefile.am (modified) (1 diff)
-
chiptool.c (modified) (5 diffs)
-
chiptool.h (modified) (1 diff)
-
chiptoolConfig.c (modified) (3 diffs)
-
pxfault.c (added)
-
pxtools.h (modified) (1 diff)
-
regtool.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/Makefile.am
r10642 r11002 32 32 libpxtools_la_SOURCES = \ 33 33 pxconfig.c \ 34 pxfault.c \ 34 35 pxframes.c \ 35 36 pxtables.c \ -
trunk/ippTools/src/chiptool.c
r10943 r11002 33 33 static bool pendingimfileMode(pxConfig *config); 34 34 static bool addprocessedimfileMode(pxConfig *config); 35 static bool faultimfileMode(pxConfig *config); 35 36 static bool blockMode(pxConfig *config); 36 37 static bool maskedMode(pxConfig *config); … … 58 59 MODECASE(P2TOOL_MODE_PENDINGIMFILE, pendingimfileMode); 59 60 MODECASE(P2TOOL_MODE_ADDPROCESSEDIMFILE, addprocessedimfileMode); 61 MODECASE(P2TOOL_MODE_FAULTIMFILE, faultimfileMode); 60 62 MODECASE(P2TOOL_MODE_BLOCK, blockMode); 61 63 MODECASE(P2TOOL_MODE_MASKED, maskedMode); … … 174 176 PS_ASSERT_PTR_NON_NULL(config, NULL); 175 177 178 bool status = false; 179 psU64 limit = psMetadataLookupU64(&status, config->args, "-limit"); 180 if (!status) { 181 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -limit"); 182 return false; 183 } 184 185 bool faulted = psMetadataLookupU64(&status, config->args, "-faulted"); 186 if (!status) { 187 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -faulted"); 188 return false; 189 } 190 176 191 // XXX does this need to be constrained so that it won't return any results 177 192 // if a match p2PendingExp hasn't been registered? … … 197 212 } 198 213 214 if (faulted) { 215 // list only faulted rows 216 psStringAppend(&query, " %s", "AND p2PendingImfile.fault != 0"); 217 } else { 218 // don't list faulted rows 219 psStringAppend(&query, " %s", "AND p2PendingImfile.fault = 0"); 220 } 221 222 // treat limit == 0 as "no limit" 223 if (limit) { 224 psString limitString = psDBGenerateLimitSQL(limit); 225 psStringAppend(&query, " %s", limitString); 226 psFree(limitString); 227 } 228 199 229 if (!p_psDBRunQuery(config->dbh, query)) { 200 230 psError(PS_ERR_UNKNOWN, false, "database error"); … … 401 431 return true; 402 432 } 433 434 435 static bool faultimfileMode(pxConfig *config) 436 { 437 PS_ASSERT_PTR_NON_NULL(config, false); 438 439 bool status = false; 440 psS8 code = psMetadataLookupS8(&status, config->args, "-code"); 441 if (!status) { 442 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -code"); 443 return false; 444 } 445 446 if (!pxSetFaultCode(config->dbh, "p2PendingImfile", config->where, code)) { 447 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 448 return false; 449 } 450 451 return true; 452 } 453 403 454 404 455 static bool blockMode(pxConfig *config) -
trunk/ippTools/src/chiptool.h
r9765 r11002 29 29 P2TOOL_MODE_PENDINGIMFILE, 30 30 P2TOOL_MODE_ADDPROCESSEDIMFILE, 31 P2TOOL_MODE_FAULTIMFILE, 31 32 P2TOOL_MODE_BLOCK, 32 33 P2TOOL_MODE_MASKED, -
trunk/ippTools/src/chiptoolConfig.c
r10440 r11002 59 59 psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-uri", 0, 60 60 "define URL", NULL); 61 psMetadataAddU64(pendingimfileArgs, PS_LIST_TAIL, "-limit", 0, 62 "limit result set to N items", 0); 63 psMetadataAddBool(pendingimfileArgs, PS_LIST_TAIL, "-faulted", 0, 64 "only return imfiles with a fault status set", false); 61 65 psMetadataAddBool(pendingimfileArgs, PS_LIST_TAIL, "-simple", 0, 62 66 "use the simple output format", false); … … 83 87 "define banana 2", NULL); 84 88 89 // -faultimfile 90 psMetadata *faultimfileArgs = psMetadataAlloc(); 91 psMetadataAddStr(faultimfileArgs, PS_LIST_TAIL, "-exp_tag", 0, 92 "search by exposure ID", NULL); 93 psMetadataAddStr(faultimfileArgs, PS_LIST_TAIL, "-class", 0, 94 "search by class", NULL); 95 psMetadataAddStr(faultimfileArgs, PS_LIST_TAIL, "-class_id", 0, 96 "search by class ID", NULL); 97 psMetadataAddS8(faultimfileArgs, PS_LIST_TAIL, "-code", 0, 98 "set fault code (required)", 0); 99 100 85 101 // -block 86 102 psMetadata *blockArgs = psMetadataAlloc(); … … 121 137 PXTOOL_MODE("-pendingimfile", P2TOOL_MODE_PENDINGIMFILE, pendingimfileArgs); 122 138 PXTOOL_MODE("-addprocessedimfile",P2TOOL_MODE_ADDPROCESSEDIMFILE,addprocessedimfileArgs); 139 PXTOOL_MODE("-faultimfile", P2TOOL_MODE_FAULTIMFILE, faultimfileArgs); 123 140 PXTOOL_MODE("-block", P2TOOL_MODE_BLOCK, blockArgs); 124 141 PXTOOL_MODE("-masked", P2TOOL_MODE_MASKED, maskedArgs); -
trunk/ippTools/src/pxtools.h
r10953 r11002 69 69 bool rawScienceFrameInsert(pxConfig *config, rawScienceFrame *frame); 70 70 71 bool pxSetFaultCode(psDB *dbh, const char *tableName, psMetadata *where, psS8 code); 72 71 73 #endif // PXTOOLS_H -
trunk/ippTools/src/regtool.c
r10988 r11002 41 41 static rawImfileRow *newToRawImfile(pxConfig *config, newImfileRow *exp); 42 42 //static psU32 mapCodeStrToInt(const char *codeStr); 43 static bool setFaultCode(psDB *dbh, const char *tableName, psMetadata *where, psS8 code);44 43 45 44 … … 281 280 } 282 281 283 if (! setFaultCode(config->dbh, "newExp", config->where, code)) {282 if (!pxSetFaultCode(config->dbh, "newExp", config->where, code)) { 284 283 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 285 284 return false; … … 300 299 } 301 300 302 if (! setFaultCode(config->dbh, "newImfile", config->where, code)) {301 if (!pxSetFaultCode(config->dbh, "newImfile", config->where, code)) { 303 302 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 304 return false;305 }306 307 return true;308 }309 310 311 static bool setFaultCode(psDB *dbh, const char *tableName, psMetadata *where, psS8 code)312 {313 PS_ASSERT_PTR_NON_NULL(dbh, false);314 PS_ASSERT_PTR_NON_NULL(tableName, false);315 PS_ASSERT_PTR_NON_NULL(where, false);316 317 #if 0318 // map code string to numeric fault code319 psU32 code = mapCodeStrToInt(codeStr);320 if (code == (psU32)-1) {321 psError(PS_ERR_UNKNOWN, false, "error resolving error code");322 return false;323 }324 #endif325 326 // update the database327 psMetadata *values = psMetadataAlloc();328 if (!psMetadataAddS8(values, PS_LIST_HEAD, "fault", 0, NULL, code)) {329 psError(PS_ERR_UNKNOWN, false, "failed to add metadata item fault");330 psFree(values);331 return false;332 }333 psFree(values);334 335 long rowsAffected = psDBUpdateRows(dbh, tableName, where, values);336 if (rowsAffected < 0) {337 // database error338 psError(PS_ERR_UNKNOWN, false, "database error");339 return false;340 }341 if (rowsAffected < 1) {342 // we didn't do anything343 psError(PS_ERR_UNKNOWN, false, "zero rows were affected - either the search criteria didn't match any rows or the field already had the value being set.");344 303 return false; 345 304 } … … 839 798 exp->exp_tag, 840 799 "my recipe", 841 0xff, // XXX calc version number 842 0xff, // XXX calc version number 843 label 800 0xff, // XXX calc version number 801 0xff, // XXX calc version number 802 label, 803 0 // fault code 844 804 ); 845 805 … … 855 815 "my recipe", 856 816 0xff, // XXX calc version number 857 0xff // XXX calc version number 817 0xff, // XXX calc version number 818 0 // fault code 858 819 ); 859 820 }
Note:
See TracChangeset
for help on using the changeset viewer.
