Changeset 37283 for tags/ipp-pv3-20140717
- Timestamp:
- Aug 21, 2014, 7:27:10 PM (12 years ago)
- Location:
- tags/ipp-pv3-20140717/ippTools
- Files:
-
- 4 edited
-
share/Makefile.am (modified) (1 diff)
-
src/remotetool.c (modified) (4 diffs)
-
src/remotetool.h (modified) (2 diffs)
-
src/remotetoolConfig.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tags/ipp-pv3-20140717/ippTools/share/Makefile.am
r36981 r37283 509 509 remotetool_definebyquery_stack.sql \ 510 510 remotetool_dropcomponent.sql \ 511 remotetool_listcomponent.sql \ 512 remotetool_doneprep.sql \ 511 513 remotetool_updatepoll.sql -
tags/ipp-pv3-20140717/ippTools/src/remotetool.c
r37277 r37283 21 21 static bool listrunMode(pxConfig *config); 22 22 static bool listcomponentMode(pxConfig *config); 23 24 // list remoteRuns with all remoteComponents in state 'prep_done' or 'prep_fail' 25 static bool doneprepMode(pxConfig *config); 23 26 24 27 // Update … … 50 53 MODECASE(REMOTETOOL_MODE_DEFINEBYQUERY, definebyqueryMode); 51 54 MODECASE(REMOTETOOL_MODE_LISTRUN, listrunMode); 55 MODECASE(REMOTETOOL_MODE_DONEPREP, doneprepMode); 52 56 MODECASE(REMOTETOOL_MODE_LISTCOMPONENT, listcomponentMode); 53 57 MODECASE(REMOTETOOL_MODE_DROPCOMPONENT, dropcomponentMode); … … 281 285 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 282 286 283 284 287 psArray *remRuns = NULL; 285 288 remRuns = psDBSelectRows(config->dbh, "remoteRun", where, limit); … … 300 303 301 304 PXOPT_COPY_S64(config->args, where, "-remote_id", "remote_id", "=="); 305 PXOPT_COPY_S64(config->args, where, "-stage_id", "stage_id", "=="); 306 PXOPT_COPY_S64(config->args, where, "-jobs", "jobs", "=="); 307 308 PXOPT_COPY_STR(config->args, where, "-state", "remoteComponent.state", "=="); 309 PXOPT_COPY_STR(config->args, where, "-label", "remoteRun.label", "=="); 310 302 311 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 303 304 psArray *remComps = NULL; 305 remComps = psDBSelectRows(config->dbh, "remoteComponent", where, 0); 306 307 if (!ippdbPrintMetadatas(stdout, remComps, "remoteComponent", !simple)) { 312 PXOPT_LOOKUP_S16(limit, config->args, "-limit", false, false); 313 314 psString query = pxDataGet("remotetool_listcomponent.sql"); 315 if (!query) { 316 psError(PXTOOLS_ERR_SYS,false, "failed to retreive SQL statement"); 317 return(false); 318 } 319 320 if (psListLength(where->list)) { 321 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 322 psStringAppend(&query, " WHERE %s", whereClause); 323 psFree(whereClause); 324 } 325 psFree(where); 326 327 if (limit) { 328 psString limitString = psDBGenerateLimitSQL(limit); 329 psStringAppend(&query, " %s", limitString); 330 psFree(limitString); 331 } 332 333 if (!p_psDBRunQuery(config->dbh, query)) { 334 psError(PS_ERR_UNKNOWN, false, "database error"); 335 psFree(query); 336 return false; 337 } 338 psFree(query); 339 340 psArray *output = p_psDBFetchResult(config->dbh); 341 if (!output) { 342 psError(PS_ERR_UNKNOWN, false, "database error"); 343 return false; 344 } 345 if (!psArrayLength(output)) { 346 psTrace("remotetool", PS_LOG_INFO, "no rows found"); 347 psFree(output); 348 return true; 349 } 350 351 if (!ippdbPrintMetadatas(stdout, output, "remoteComponent", !simple)) { 308 352 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 309 psFree(remComps); 310 return false; 311 } 312 psFree(remComps); 353 psFree(output); 354 return false; 355 } 356 psFree(output); 357 358 return true; 359 } 360 361 // List 362 static bool doneprepMode(pxConfig *config) 363 { 364 psMetadata *where = psMetadataAlloc(); 365 366 PXOPT_COPY_S64(config->args, where, "-remote_id", "remote_id", "=="); 367 PXOPT_COPY_S64(config->args, where, "-job_id", "job_id", "=="); 368 369 PXOPT_COPY_STR(config->args, where, "-stage", "stage", "=="); 370 PXOPT_COPY_STR(config->args, where, "-state", "remoteRun.state", "=="); 371 PXOPT_COPY_STR(config->args, where, "-label", "label", "=="); 372 373 PXOPT_LOOKUP_S16(limit, config->args, "-limit", false, false); 374 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 375 376 psString query = pxDataGet("remotetool_doneprep.sql"); 377 if (!query) { 378 psError(PXTOOLS_ERR_SYS,false, "failed to retreive SQL statement"); 379 return(false); 380 } 381 382 psString whereDone = NULL; 383 psString whereJobs = NULL; 384 if (psListLength(where->list)) { 385 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 386 psStringAppend(&whereDone, " \n AND %s", whereClause); 387 psStringAppend(&whereJobs, " \n WHERE %s", whereClause); 388 psFree(whereClause); 389 } 390 391 if (limit) { 392 psString limitString = psDBGenerateLimitSQL(limit); 393 psStringAppend(&query, " %s", limitString); 394 psFree(limitString); 395 } 396 397 // fprintf (stderr, "query: %s\n", query); 398 // fprintf (stderr, "whereDone: %s\n", whereDone); 399 // fprintf (stderr, "whereJobs: %s\n", whereJobs); 400 401 if (!p_psDBRunQueryF(config->dbh, query, whereDone, whereJobs)) { 402 psError(PS_ERR_UNKNOWN, false, "database error"); 403 psFree(whereDone); 404 psFree(whereJobs); 405 psFree(query); 406 return false; 407 } 408 psFree(whereDone); 409 psFree(whereJobs); 410 psFree(query); 411 412 psArray *output = p_psDBFetchResult(config->dbh); 413 if (!output) { 414 psError(PS_ERR_UNKNOWN, false, "database error"); 415 return false; 416 } 417 if (!psArrayLength(output)) { 418 psTrace("remotetool", PS_LOG_INFO, "no rows found"); 419 psFree(output); 420 return true; 421 } 422 423 if (!ippdbPrintMetadatas(stdout, output, "remoteRun", !simple)) { 424 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 425 psFree(output); 426 return false; 427 } 428 psFree(output); 313 429 314 430 return true; -
tags/ipp-pv3-20140717/ippTools/src/remotetool.h
r37277 r37283 12 12 REMOTETOOL_MODE_DEFINEBYQUERY, 13 13 REMOTETOOL_MODE_LISTRUN, 14 REMOTETOOL_MODE_DONEPREP, 14 15 REMOTETOOL_MODE_LISTCOMPONENT, 15 16 REMOTETOOL_MODE_DROPCOMPONENT, … … 17 18 REMOTETOOL_MODE_UPDATEPOLL, 18 19 REMOTETOOL_MODE_UPDATECOMPONENT, 19 REMOTETOOL_MODE_REVERTRUN, 20 REMOTETOOL_MODE_REVERTAUTH, 20 REMOTETOOL_MODE_REVERTRUN, 21 REMOTETOOL_MODE_REVERTAUTH, 21 22 } remotetoolMode; 22 23 -
tags/ipp-pv3-20140717/ippTools/src/remotetoolConfig.c
r37277 r37283 40 40 ADD_OPT(Bool, definebyqueryArgs, "-pretend", "pretend to do this.", 0); 41 41 ADD_OPT(Bool, definebyqueryArgs,"-simple", "simple print format",0); 42 42 43 43 // -listrun 44 44 psMetadata *listrunArgs = psMetadataAlloc(); … … 59 59 ADD_OPT(S16, listrunArgs, "-limit", "limit to number of runs to display", 0); 60 60 61 // -doneprep 62 psMetadata *doneprepArgs = psMetadataAlloc(); 63 ADD_OPT(S64, doneprepArgs, "-remote_id", "run to list", 0); 64 ADD_OPT(S64, doneprepArgs, "-job_id", "job_id", 0); 65 ADD_OPT(Str, doneprepArgs, "-stage", "stage to return", NULL); 66 ADD_OPT(Str, doneprepArgs, "-state", "state to return", NULL); 67 ADD_OPT(Str, doneprepArgs, "-label", "remRun label to use", NULL); 68 69 ADD_OPT(Bool, doneprepArgs, "-simple", "simple print format", false); 70 ADD_OPT(S16, doneprepArgs, "-limit", "limit to number of runs to display", 0); 71 61 72 // -listcomponents 62 psMetadata *listcomponentArgs = psMetadataAlloc(); 63 ADD_OPT(S64, listcomponentArgs, "-remote_id", "run to list", 0); 64 ADD_OPT(S16, listcomponentArgs, "-limit", "limit to number of runs to display", 0); 73 psMetadata *listcomponentArgs = psMetadataAlloc(); 74 ADD_OPT(S64, listcomponentArgs, "-remote_id", "run to list", 0); 75 ADD_OPT(S64, listcomponentArgs, "-stage_id", "run to list", 0); 76 ADD_OPT(S32, listcomponentArgs, "-jobs", "run to list", 0); 77 ADD_OPT(Str, listcomponentArgs, "-state", "run to list", NULL); 78 ADD_OPT(S16, listcomponentArgs, "-limit", "limit to number of runs to display", 0); 65 79 ADD_OPT(Bool, listcomponentArgs, "-simple", "simple print format", false); 80 ADD_OPT(Str, listcomponentArgs, "-label", "label to use", NULL); 66 81 67 82 // -dropcomponent … … 69 84 ADD_OPT(S64, dropcomponentArgs, "-remote_id", "run to update", 0); 70 85 ADD_OPT(S64, dropcomponentArgs, "-stage_id", "stage_id to remote", 0); 71 86 72 87 // -updaterun 73 88 psMetadata *updaterunArgs = psMetadataAlloc(); … … 83 98 psMetadata *updatepollArgs = psMetadataAlloc(); 84 99 ADD_OPT(S64, updatepollArgs, "-remote_id", "run to update", 0); 85 100 86 101 // -updatecomponent 87 102 psMetadata *updatecomponentArgs = psMetadataAlloc(); … … 97 112 ADD_OPT(Str, revertrunArgs, "-label", "remRun label to use", NULL); 98 113 ADD_OPT(S16, revertrunArgs, "-fault", "fault code", 0); 99 114 100 115 // -revertauth 101 116 psMetadata *revertauthArgs = psMetadataAlloc(); … … 108 123 PXOPT_ADD_MODE("-definebyquery", "", REMOTETOOL_MODE_DEFINEBYQUERY, definebyqueryArgs); 109 124 PXOPT_ADD_MODE("-listrun", "", REMOTETOOL_MODE_LISTRUN, listrunArgs); 125 PXOPT_ADD_MODE("-doneprep", "", REMOTETOOL_MODE_DONEPREP, doneprepArgs); 110 126 PXOPT_ADD_MODE("-listcomponent", "", REMOTETOOL_MODE_LISTCOMPONENT, listcomponentArgs); 111 127 PXOPT_ADD_MODE("-dropcomponent", "", REMOTETOOL_MODE_DROPCOMPONENT, dropcomponentArgs);
Note:
See TracChangeset
for help on using the changeset viewer.
