Changeset 14242
- Timestamp:
- Jul 16, 2007, 3:23:56 PM (19 years ago)
- Location:
- trunk/ippTools
- Files:
-
- 2 added
- 4 edited
-
share/Makefile.am (modified) (1 diff)
-
share/dettool_normalizedstat.sql (added)
-
share/dettool_revertnormalizedstat.sql (added)
-
src/dettool.c (modified) (3 diffs)
-
src/dettool.h (modified) (1 diff)
-
src/dettoolConfig.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/share/Makefile.am
r14241 r14242 14 14 detselect_select.sql \ 15 15 dettool_find_completed_runs.sql \ 16 dettool_normalizedstat.sql 16 17 dettool_raw.sql \ 17 dettool_ start_new_iteration.sql \18 dettool_revertnormalizedstat.sql \ 18 19 dettool_revertprocessedexp.sql \ 19 20 dettool_revertprocessedimfile.sql \ 20 21 dettool_revertstacked.sql \ 22 dettool_start_new_iteration.sql \ 21 23 dettool_todetrunsummary.sql \ 22 24 dettool_tonormalizedexp.sql \ -
trunk/ippTools/src/dettool.c
r14241 r14242 51 51 static bool processedexpMode(pxConfig *config); 52 52 static bool revertprocessedexpMode(pxConfig *config); 53 // stacked 53 // stacked[imfile] 54 54 static bool tostackedMode(pxConfig *config); 55 55 static bool addstackedMode(pxConfig *config); 56 56 static bool stackedMode(pxConfig *config); 57 57 static bool revertstackedMode(pxConfig *config); 58 58 // normalizedstat 59 static bool tonormalizedstatMode(pxConfig *config); 60 static bool addnormalizedstatMode(pxConfig *config); 61 static bool normalizedstatMode(pxConfig *config); 62 static bool revertnormalizedstatMode(pxConfig *config); 63 // normalizedimfile 59 64 static bool tonormalizeMode(pxConfig *config); 60 static bool addnormalizedstatMode(pxConfig *config);61 static bool tonormalizedstatMode(pxConfig *config);62 65 static bool addnormalizedimfileMode(pxConfig *config); 63 66 static bool tonormalizedexpMode(pxConfig *config); … … 135 138 MODECASE(DETTOOL_MODE_STACKED, stackedMode); 136 139 MODECASE(DETTOOL_MODE_REVERTSTACKED, revertstackedMode); 137 140 // normalizedstat 141 MODECASE(DETTOOL_MODE_TONORMALIZEDSTAT, tonormalizedstatMode); 142 MODECASE(DETTOOL_MODE_ADDNORMALIZEDSTAT,addnormalizedstatMode); 143 MODECASE(DETTOOL_MODE_NORMALIZEDSTAT, normalizedstatMode); 144 MODECASE(DETTOOL_MODE_REVERTNORMALIZEDSTAT, revertnormalizedstatMode); 145 // normalizedimfile 138 146 MODECASE(DETTOOL_MODE_TONORMALIZE, tonormalizeMode); 139 MODECASE(DETTOOL_MODE_ADDNORMALIZEDSTAT,addnormalizedstatMode);140 MODECASE(DETTOOL_MODE_TONORMALIZEDSTAT, tonormalizedstatMode);141 147 MODECASE(DETTOOL_MODE_ADDNORMALIZEDIMFILE,addnormalizedimfileMode); 142 148 MODECASE(DETTOOL_MODE_NORMALIZEDIMFILE, normalizedimfileMode); … … 3520 3526 code 3521 3527 ); 3528 } 3529 3530 3531 static bool normalizedstatMode(pxConfig *config) 3532 { 3533 PS_ASSERT_PTR_NON_NULL(config, false); 3534 3535 bool status = false; 3536 psU64 limit = psMetadataLookupU64(&status, config->args, "-limit"); 3537 if (!status) { 3538 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -limit"); 3539 return false; 3540 } 3541 3542 bool faulted = psMetadataLookupU64(&status, config->args, "-faulted"); 3543 if (!status) { 3544 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -faulted"); 3545 return false; 3546 } 3547 3548 psString query = pxDataGet("dettool_normalizedstat.sql"); 3549 if (!query) { 3550 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 3551 return false; 3552 } 3553 3554 if (faulted) { 3555 // list only faulted rows 3556 psStringAppend(&query, " %s", "WHERE fault != 0"); 3557 } else { 3558 // don't list faulted rows 3559 psStringAppend(&query, " %s", "WHERE fault = 0"); 3560 } 3561 3562 if (config->where) { 3563 psString whereClause = psDBGenerateWhereConditionSQL(config->where, NULL); 3564 psStringAppend(&query, " AND %s", whereClause); 3565 psFree(whereClause); 3566 } 3567 3568 // treat limit == 0 as "no limit" 3569 if (limit) { 3570 psString limitString = psDBGenerateLimitSQL(limit); 3571 psStringAppend(&query, " %s", limitString); 3572 psFree(limitString); 3573 } 3574 3575 if (!p_psDBRunQuery(config->dbh, query)) { 3576 psError(PS_ERR_UNKNOWN, false, "database error"); 3577 psFree(query); 3578 return false; 3579 } 3580 psFree(query); 3581 3582 psArray *output = p_psDBFetchResult(config->dbh); 3583 if (!output) { 3584 psError(PS_ERR_UNKNOWN, false, "database error"); 3585 return false; 3586 } 3587 if (!psArrayLength(output)) { 3588 psTrace("dettool", PS_LOG_INFO, "no rows found"); 3589 psFree(output); 3590 return true; 3591 } 3592 3593 bool simple = false; 3594 { 3595 bool status = false; 3596 simple = psMetadataLookupBool(&status, config->args, "-simple"); 3597 if (!status) { 3598 psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -simple"); 3599 psFree(output); 3600 return false; 3601 } 3602 } 3603 3604 // negative simple so the default is true 3605 if (!ippdbPrintMetadatas(stdout, output, "detNormalizedStatImfile", !simple)) { 3606 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 3607 psFree(output); 3608 return false; 3609 } 3610 3611 psFree(output); 3612 3613 return true; 3614 } 3615 3616 static bool revertnormalizedstatMode(pxConfig *config) 3617 { 3618 PS_ASSERT_PTR_NON_NULL(config, false); 3619 3620 psString query = pxDataGet("dettool_revertnormalizedstat.sql"); 3621 if (!query) { 3622 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 3623 return false; 3624 } 3625 3626 if (config->where) { 3627 psString whereClause = psDBGenerateWhereConditionSQL(config->where, "detNormalizedStatImfile"); 3628 psStringAppend(&query, " AND %s", whereClause); 3629 psFree(whereClause); 3630 } 3631 3632 if (!p_psDBRunQuery(config->dbh, query)) { 3633 psError(PS_ERR_UNKNOWN, false, "database error"); 3634 psFree(query); 3635 return false; 3636 } 3637 psFree(query); 3638 3639 if (psDBAffectedRows(config->dbh) < 1) { 3640 psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row"); 3641 return false; 3642 } 3643 3644 return true; 3522 3645 } 3523 3646 -
trunk/ippTools/src/dettool.h
r14241 r14242 45 45 DETTOOL_MODE_STACKED, 46 46 DETTOOL_MODE_REVERTSTACKED, 47 DETTOOL_MODE_TONORMALIZEDSTAT, 48 DETTOOL_MODE_ADDNORMALIZEDSTAT, 49 DETTOOL_MODE_NORMALIZEDSTAT, 50 DETTOOL_MODE_REVERTNORMALIZEDSTAT, 47 51 DETTOOL_MODE_TONORMALIZE, 48 DETTOOL_MODE_ADDNORMALIZEDSTAT,49 DETTOOL_MODE_TONORMALIZEDSTAT,50 52 DETTOOL_MODE_ADDNORMALIZEDIMFILE, 51 53 DETTOOL_MODE_NORMALIZEDIMFILE, -
trunk/ippTools/src/dettoolConfig.c
r14241 r14242 542 542 "set fault code", 0); 543 543 544 // -normalizedstat 545 psMetadata *normalizedstatArgs = psMetadataAlloc(); 546 psMetadataAddStr(normalizedstatArgs, PS_LIST_TAIL, "-det_id", 0, 547 "search by detrend ID", NULL); 548 psMetadataAddS32(normalizedstatArgs, PS_LIST_TAIL, "-iteration", 0, 549 "search by iteration number", 0); 550 psMetadataAddStr(normalizedstatArgs, PS_LIST_TAIL, "-class_id", 0, 551 "search by class ID", NULL); 552 psMetadataAddU64(normalizedstatArgs, PS_LIST_TAIL, "-limit", 0, 553 "limit result set to N items", 0); 554 psMetadataAddBool(normalizedstatArgs, PS_LIST_TAIL, "-faulted", 0, 555 "only return imfiles with a fault status set", false); 556 psMetadataAddBool(normalizedstatArgs, PS_LIST_TAIL, "-simple", 0, 557 "use the simple output format", false); 558 559 // -revertnormalizedstat 560 psMetadata *revertnormalizedstatArgs= psMetadataAlloc(); 561 psMetadataAddStr(revertnormalizedstatArgs, PS_LIST_TAIL, "-det_id", 0, 562 "search by detrend ID (required)", NULL); 563 psMetadataAddS32(revertnormalizedstatArgs, PS_LIST_TAIL, "-iteration", 0, 564 "search by iteration number", 0); 565 psMetadataAddStr(revertnormalizedstatArgs, PS_LIST_TAIL, "-class_id", 0, 566 "search by class ID", NULL); 567 psMetadataAddS16(revertnormalizedstatArgs, PS_LIST_TAIL, "-code", 0, 568 "search by fault code", 0); 569 544 570 // -tonormstat 545 571 psMetadata *tonormstatArgs = psMetadataAlloc(); … … 977 1003 PXTOOL_ADD_MODE("-tonormalize", "", DETTOOL_MODE_TONORMALIZE, tonormalizeArgs); 978 1004 PXTOOL_ADD_MODE("-addnormalizedstat", "", DETTOOL_MODE_ADDNORMALIZEDSTAT, addnormstatArgs); 1005 PXTOOL_ADD_MODE("-normalizedstat", "", DETTOOL_MODE_NORMALIZEDSTAT, normalizedstatArgs); 1006 PXTOOL_ADD_MODE("-revertnormalizedstat", "", DETTOOL_MODE_REVERTNORMALIZEDSTAT, revertnormalizedstatArgs); 1007 979 1008 PXTOOL_ADD_MODE("-tonormalizedstat", "", DETTOOL_MODE_TONORMALIZEDSTAT, tonormstatArgs); 980 1009 PXTOOL_ADD_MODE("-addnormalizedimfile", "", DETTOOL_MODE_ADDNORMALIZEDIMFILE,addnormalizedimfileArgs);
Note:
See TracChangeset
for help on using the changeset viewer.
