Changeset 29248 for trunk/ippTools/src/pstamptool.c
- Timestamp:
- Sep 28, 2010, 10:42:54 AM (16 years ago)
- File:
-
- 1 edited
-
trunk/ippTools/src/pstamptool.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/pstamptool.c
r29143 r29248 46 46 static bool pendingjobMode(pxConfig *config); 47 47 static bool updatejobMode(pxConfig *config); 48 static bool stopdependentjobMode(pxConfig *config); 48 49 static bool revertjobMode(pxConfig *config); 49 50 static bool addprojectMode(pxConfig *config); … … 89 90 MODECASE(PSTAMPTOOL_MODE_PENDINGJOB, pendingjobMode); 90 91 MODECASE(PSTAMPTOOL_MODE_UPDATEJOB, updatejobMode); 92 MODECASE(PSTAMPTOOL_MODE_STOPDEPENDENTJOB, stopdependentjobMode); 91 93 MODECASE(PSTAMPTOOL_MODE_REVERTJOB, revertjobMode); 92 94 MODECASE(PSTAMPTOOL_MODE_ADDPROJECT, addprojectMode); … … 925 927 psU64 affected = psDBAffectedRows(config->dbh); 926 928 psLogMsg("pstamptool", PS_LOG_INFO, "Updated %" PRIu64 " pstampJobs", affected); 929 930 return true; 931 } 932 // Terminate jobs which have dependents setting both the pstampDependent and pstampJob.fault 933 static bool stopdependentjobMode(pxConfig *config) 934 { 935 PS_ASSERT_PTR_NON_NULL(config, false); 936 937 PXOPT_LOOKUP_S32(fault, config->args, "-set_fault", true, false); 938 939 psMetadata *where = psMetadataAlloc(); 940 941 PXOPT_COPY_S64(config->args, where, "-req_id", "req_id", "=="); 942 PXOPT_COPY_S64(config->args, where, "-job_id", "job_id", "=="); 943 PXOPT_COPY_S64(config->args, where, "-dep_id", "dep_id", "=="); 944 PXOPT_COPY_S32(config->args, where, "-fault", "pstampDependent.fault", "=="); 945 946 // XXX: How about selecting by pstampRequest.label? No. That is too dangerous by itself. 947 948 psString query = pxDataGet("pstamptool_stopdependentjob.sql"); 949 950 if (psListLength(where->list)) { 951 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 952 psStringAppend(&query, " AND %s", whereClause); 953 psFree(whereClause); 954 } else { 955 psFree(where); 956 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 957 return false; 958 } 959 psFree(where); 960 961 if (!p_psDBRunQueryF(config->dbh, query, fault, fault)) { 962 psError(PS_ERR_UNKNOWN, false, "database error"); 963 psFree(query); 964 return false; 965 } 966 psFree(query); 967 968 psU64 affected = psDBAffectedRows(config->dbh); 969 psLogMsg("pstamptool", PS_LOG_INFO, "Updated %" PRIu64 " pstampJobs and pstampDependents", affected); 927 970 928 971 return true; … … 1327 1370 PXOPT_COPY_S64(config->args, where, "-fault", "pstampDependent.fault", "=="); 1328 1371 PXOPT_COPY_S64(config->args, where, "-dep_id", "dep_id", "=="); 1372 PXOPT_COPY_S64(config->args, where, "-job_id", "job_id", "=="); 1373 PXOPT_COPY_S64(config->args, where, "-req_id", "req_id", "=="); 1329 1374 pxAddLabelSearchArgs(config, where, "-label", "pstampRequest.label", "=="); 1330 1375
Note:
See TracChangeset
for help on using the changeset viewer.
