Changeset 18377 for trunk/ippTools/src/pstamptool.c
- Timestamp:
- Jun 30, 2008, 9:54:05 AM (18 years ago)
- File:
-
- 1 edited
-
trunk/ippTools/src/pstamptool.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/pstamptool.c
r18244 r18377 35 35 static bool moddatastoreMode(pxConfig *config); 36 36 static bool addReqMode(pxConfig *config); 37 static bool completedReqMode(pxConfig *config); 37 38 static bool listReqMode(pxConfig *config); 38 39 static bool pendingReqMode(pxConfig *config); … … 66 67 MODECASE(PSTAMPTOOL_MODE_MODDATASTORE, moddatastoreMode); 67 68 MODECASE(PSTAMPTOOL_MODE_ADDREQ, addReqMode); 69 MODECASE(PSTAMPTOOL_MODE_COMPLETEDREQ, completedReqMode); 68 70 MODECASE(PSTAMPTOOL_MODE_LISTREQ, listReqMode); 69 71 MODECASE(PSTAMPTOOL_MODE_PENDINGREQ, pendingReqMode); … … 433 435 return true; 434 436 } 437 static bool completedReqMode(pxConfig *config) 438 { 439 PS_ASSERT_PTR_NON_NULL(config, false); 440 441 bool status = false; 442 psU64 limit = psMetadataLookupU64(&status, config->args, "-limit"); 443 if (!status) { 444 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -limit"); 445 return false; 446 } 447 448 psString query = 449 "SELECT * FROM pstampRequest WHERE state = 'run' AND " 450 "(SELECT count(*) FROM pstampJob WHERE pstampJob.req_id = pstampRequest.req_id " 451 " AND pstampJob.state != 'stop') = 0" ; 452 453 // treat limit == 0 as "no limit" 454 if (limit) { 455 psString limitString = psDBGenerateLimitSQL(limit); 456 psStringAppend(&query, " %s", limitString); 457 psFree(limitString); 458 } 459 460 if (!p_psDBRunQuery(config->dbh, query)) { 461 psError(PS_ERR_UNKNOWN, false, "database error"); 462 psFree(query); 463 return false; 464 } 465 466 psArray *output = p_psDBFetchResult(config->dbh); 467 if (!output) { 468 psError(PS_ERR_UNKNOWN, false, "database error"); 469 return false; 470 } 471 472 if (!psArrayLength(output)) { 473 psTrace("pstamptool", PS_LOG_INFO, "no rows found"); 474 psFree(output); 475 return true; 476 } 477 478 bool simple = false; 479 { 480 bool status = false; 481 simple = psMetadataLookupBool(&status, config->args, "-simple"); 482 if (!status) { 483 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -simple"); 484 psFree(output); 485 return false; 486 } 487 } 488 489 // negative simple so the default is true 490 if (!ippdbPrintMetadatas(stdout, output, "pstampRequest", !simple)) { 491 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 492 psFree(output); 493 return false; 494 } 495 496 psFree(output); 497 498 return true; 499 } 500 435 501 static bool listReqMode(pxConfig *config) 436 502 {
Note:
See TracChangeset
for help on using the changeset viewer.
