Changeset 27171
- Timestamp:
- Mar 3, 2010, 4:37:05 PM (16 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 2 edited
-
pstamptool.c (modified) (7 diffs)
-
pstamptoolConfig.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/pstamptool.c
r26981 r27171 116 116 PS_ASSERT_PTR_NON_NULL(config, false); 117 117 118 PXOPT_LOOKUP_STR(uri, config->args, "-uri", true, false); 119 PXOPT_LOOKUP_STR(outProduct, config->args, "-out_product", true, false); 120 PXOPT_LOOKUP_STR(lastFileset, config->args, "-last_fileset", false, false); 121 PXOPT_LOOKUP_STR(state, config->args, "-state", false, false); 118 PXOPT_LOOKUP_STR(uri, config->args, "-set_uri", true, false); 119 PXOPT_LOOKUP_STR(outProduct, config->args, "-set_out_product", true, false); 120 PXOPT_LOOKUP_STR(lastFileset, config->args, "-set_last_fileset", false, false); 121 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); 122 PXOPT_LOOKUP_STR(label, config->args, "-set_label", false, false); 123 PXOPT_LOOKUP_S32(pollInterval, config->args, "-set_poll_interval",false, false); 122 124 123 125 if (!pstampDataStoreInsert(config->dbh, … … 125 127 state, 126 128 lastFileset, 129 NULL, // timestamp 130 label, // label 127 131 outProduct, 128 uri 132 uri, 133 pollInterval 129 134 )) { 130 135 psError(PS_ERR_UNKNOWN, false, "database error"); … … 189 194 190 195 PXOPT_LOOKUP_S64(ds_id, config->args, "-ds_id", true, false); 191 PXOPT_LOOKUP_STR(lastFileset, config->args, "-last_fileset", false, false); 192 PXOPT_LOOKUP_STR(state, config->args, "-state", false, false); 193 194 if (!state && !lastFileset) { 196 PXOPT_LOOKUP_STR(lastFileset, config->args, "-set_last_fileset", false, false); 197 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); 198 PXOPT_LOOKUP_STR(label, config->args, "-set_label", false, false); 199 PXOPT_LOOKUP_S32(pollInterval, config->args, "-set_poll_interval", false, false); 200 PXOPT_LOOKUP_BOOL(update_timestamp, config->args, "-update_timestamp", false); 201 202 if (!state && !lastFileset && !pollInterval && !update_timestamp && !label) { 195 203 psError(PS_ERR_UNKNOWN, true, "at least one of -last_fileset or -state is required"); 196 204 return false; 197 205 } 198 206 199 char *query = psStringCopy ("UPDATE pstampDataStore SET"); 200 bool needComma = false; 207 char *query = psStringCopy ("UPDATE pstampDataStore SET timestamp = CURRENT_TIMESTAMP() "); 201 208 202 209 if (lastFileset) { 203 psStringAppend(&query, " lastFileset = '%s'", lastFileset); 204 needComma = true; 210 psStringAppend(&query, " , lastFileset = '%s'", lastFileset); 205 211 } 206 212 207 213 if (state) { 208 psStringAppend(&query, "%s state = '%s'", needComma ? "," : " ", state); 209 needComma = true; // be ready in case we add another field 214 psStringAppend(&query, ", state = '%s'", state); 215 } 216 217 if (label) { 218 psStringAppend(&query, ", label = '%s'", label); 219 } 220 221 if (pollInterval) { 222 psStringAppend(&query, ", pollInterval = %d", pollInterval); 210 223 } 211 224 … … 265 278 psMetadata *where = psMetadataAlloc(); 266 279 PXOPT_COPY_S64(config->args, where, "-req_id", "req_id", "=="); 280 pxAddLabelSearchArgs(config, where, "-label", "label", "LIKE"); 267 281 268 282 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); … … 387 401 PS_ASSERT_PTR_NON_NULL(config, false); 388 402 403 psMetadata *where = psMetadataAlloc(); 404 pxAddLabelSearchArgs(config, where, "-label", "label", "LIKE"); 405 389 406 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 390 407 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 391 408 392 409 psString query = pxDataGet("pstamptool_completedreq.sql"); 410 411 if (psListLength(where->list)) { 412 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 413 psStringAppend(&query, " AND %s", whereClause); 414 psFree(whereClause); 415 } 416 psFree(where); 393 417 394 418 // treat limit == 0 as "no limit" … … 674 698 PXOPT_COPY_S64(config->args, where, "-job_id", "job_id", "=="); 675 699 PXOPT_COPY_S64(config->args, where, "-req_id", "req_id", "=="); 700 pxAddLabelSearchArgs(config, where, "-label", "label", "LIKE"); 701 676 702 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 677 703 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); … … 685 711 // use psDBGenerateWhereSQL because the SQL yields an intermediate table 686 712 if (psListLength(where->list)) { 687 psString whereClause = psDBGenerateWhereConditionSQL(where, "pstampJob");713 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 688 714 psStringAppend(&query, " AND %s", whereClause); 689 715 psFree(whereClause); -
trunk/ippTools/src/pstamptoolConfig.c
r27082 r27171 47 47 psMetadataAddStr(adddatastoreArgs, PS_LIST_TAIL, "-uri", 0, "define storage uri (required)", NULL); 48 48 psMetadataAddStr(adddatastoreArgs, PS_LIST_TAIL, "-out_product", 0, "define output product name (required)", NULL); 49 psMetadataAddStr(adddatastoreArgs, PS_LIST_TAIL, "-last_fileset", 0, "define last fileset seen", NULL); 50 psMetadataAddStr(adddatastoreArgs, PS_LIST_TAIL, "-state", 0, "define datastore state", "enabled"); 49 psMetadataAddStr(adddatastoreArgs, PS_LIST_TAIL, "-set_last_fileset", 0, "define last fileset seen", NULL); 50 psMetadataAddStr(adddatastoreArgs, PS_LIST_TAIL, "-set_state", 0, "define datastore state", "enabled"); 51 psMetadataAddStr(adddatastoreArgs, PS_LIST_TAIL, "-set_label", 0, "define datastore label", NULL); 52 psMetadataAddS32(adddatastoreArgs, PS_LIST_TAIL, "-set_poll_interval", 0, "define datastore poll interval (seconds)", 60); 51 53 52 54 // -datastore … … 58 60 psMetadata *moddatastoreArgs = psMetadataAlloc(); 59 61 psMetadataAddS64(moddatastoreArgs, PS_LIST_TAIL, "-ds_id", 0, "define ds_id", 0); 60 psMetadataAddStr(moddatastoreArgs, PS_LIST_TAIL, "-last_fileset", 0, "set last_fileset seen", NULL); 61 psMetadataAddStr(moddatastoreArgs, PS_LIST_TAIL, "-state", 0, "set state", NULL); 62 psMetadataAddStr(moddatastoreArgs, PS_LIST_TAIL, "-set_last_fileset", 0, "set last_fileset seen", NULL); 63 psMetadataAddStr(moddatastoreArgs, PS_LIST_TAIL, "-set_state", 0, "set state", NULL); 64 psMetadataAddStr(moddatastoreArgs, PS_LIST_TAIL, "-set_label", 0, "set label", NULL); 65 psMetadataAddS32(moddatastoreArgs, PS_LIST_TAIL, "-set_poll_interval", 0, "define datastore poll interval (seconds)", 0); 66 psMetadataAddBool(moddatastoreArgs, PS_LIST_TAIL, "-update_timestamp", 0, "update the timestamp", false); 67 psMetadataAddStr(moddatastoreArgs, PS_LIST_TAIL, "-state", 0, "search by state", NULL); 62 68 63 69 // -addreq … … 71 77 psMetadata *pendingreqArgs = psMetadataAlloc(); 72 78 psMetadataAddS64(pendingreqArgs, PS_LIST_TAIL, "-req_id", 0, "define req_id", 0); 79 psMetadataAddStr(pendingreqArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by pstampRequest label (LIKE comparision)", NULL); 73 80 psMetadataAddU64(pendingreqArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 74 81 psMetadataAddBool(pendingreqArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); … … 84 91 // -completedreq 85 92 psMetadata *completedreqArgs = psMetadataAlloc(); 93 psMetadataAddStr(completedreqArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by pstampJob label (LIKE comparision)", NULL); 86 94 psMetadataAddU64(completedreqArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 87 95 psMetadataAddBool(completedreqArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); … … 127 135 psMetadataAddS64(pendingjobArgs, PS_LIST_TAIL, "-job_id", 0, "define job", 0); 128 136 psMetadataAddS64(pendingjobArgs, PS_LIST_TAIL, "-req_id", 0, "define request", 0); 137 psMetadataAddStr(pendingjobArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by pstampJob label (LIKE comparision)", NULL); 129 138 psMetadataAddU64(pendingjobArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 130 139 psMetadataAddBool(pendingjobArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false);
Note:
See TracChangeset
for help on using the changeset viewer.
