Changeset 35213 for trunk/ippTools
- Timestamp:
- Feb 28, 2013, 3:29:26 PM (13 years ago)
- Location:
- trunk/ippTools
- Files:
-
- 6 added
- 7 edited
-
share/Makefile.am (modified) (1 diff)
-
share/pxadmin_create_tables.sql (modified) (3 diffs)
-
share/releasetool_definerelexp.sql (modified) (1 diff)
-
share/releasetool_definerelgroup_select_data_group.sql (added)
-
share/releasetool_definerelgroup_select_exp_data_group.sql (added)
-
share/releasetool_definerelgroup_select_exp_lap.sql (added)
-
share/releasetool_definerelgroup_select_lap.sql (added)
-
share/releasetool_listrelexp.sql (modified) (2 diffs)
-
share/releasetool_tocalibexp.sql (added)
-
share/reltool_pendinggroup.sql (added)
-
src/releasetool.c (modified) (17 diffs)
-
src/releasetool.h (modified) (1 diff)
-
src/releasetoolConfig.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/share/Makefile.am
r35196 r35213 464 464 sctool_list.sql \ 465 465 releasetool_listsurvey.sql \ 466 releasetool_tocalibexp.sql \ 466 467 releasetool_listrelease.sql \ 467 468 releasetool_listrelexp.sql \ 468 469 releasetool_definerelexp.sql \ 469 470 releasetool_definerelstack.sql \ 470 releasetool_definerelstack_with_skycal.sql 471 releasetool_definerelstack_with_skycal.sql \ 472 releasetool_definerelgroup_select_lap.sql \ 473 releasetool_definerelgroup_select_data_group.sql \ 474 releasetool_definerelgroup_select_exp_data_group.sql \ 475 releasetool_definerelgroup_select_exp_lap.sql 471 476 -
trunk/ippTools/share/pxadmin_create_tables.sql
r35196 r35213 2164 2164 rel_id INT(8) AUTO_INCREMENT, 2165 2165 surveyID INT(8), 2166 release Name VARCHAR(64),2166 release_name VARCHAR(64), 2167 2167 relase_state VARCHAR(16), -- active, pending, archive, drop 2168 2168 dataRelease INT(8), -- PSPS dataRelease 2169 2169 priority INT(8), 2170 2170 PRIMARY KEY(rel_id), 2171 KEY(release Name),2171 KEY(release_name), 2172 2172 KEY(state), 2173 2173 KEY(priority), … … 2181 2181 chip_id BIGINT, -- links to the runs that supplied the data 2182 2182 cam_id BIGINT, -- for this release 2183 group_id INT(8), -- id of relGroup that this exposure is contained in 2183 2184 state VARCHAR(16), -- released, pending, archive, drop 2184 2185 flags INT UNSIGNED, -- flags for relphot, relastro, ?? … … 2229 2230 ) ENGINE=innodb DEFAULT CHARSET=latin1; 2230 2231 2232 CREATE TABLE relGroup ( 2233 group_id INT(8) AUTO_INCREMENT, 2234 rel_id INT(8), 2235 group_type VARCHAR(16), 2236 lap_id BIGINT, 2237 group_name VARCHAR(16), 2238 state VARCHAR(16), -- new full 2239 label VARCHAR(64), 2240 exp_list_path VARCHAR(255), 2241 fault SMALLINT NOT NULL, 2242 registered DATETIME, 2243 PRIMARY KEY (group_id), 2244 KEY (rel_id, group_name), 2245 KEY (group_type), 2246 KEY (lap_id), 2247 KEY (group_name), 2248 KEY (state), 2249 KEY (label), 2250 KEY (fault), 2251 FOREIGN KEY(rel_id) REFERENCES ippRelease(rel_id) 2252 ) ENGINE=innodb DEFAULT CHARSET=latin1; 2253 2231 2254 2232 2255 -
trunk/ippTools/share/releasetool_definerelexp.sql
r34933 r35213 1 1 SELECT 2 2 ippRelease.rel_id, 3 ippRelease.release Name,3 ippRelease.release_name, 4 4 rawExp.exp_name, 5 5 rawExp.filter, -
trunk/ippTools/share/releasetool_listrelexp.sql
r35048 r35213 2 2 relexp_id, 3 3 relExp.state, 4 ippRelease.releaseName, 4 relExp.fault, 5 ippRelease.release_name, 5 6 ippRelease.release_state, 6 7 ippRelease.rel_id, … … 21 22 camProcessedExp.path_base as cam_path_base, 22 23 camProcessedExp.fwhm_major, 24 camProcessedExp.fwhm_minor, 23 25 warpRun.warp_id, 24 26 warpRun.state as warp_state, -
trunk/ippTools/src/releasetool.c
r35196 r35213 41 41 static bool listreleaseMode(pxConfig *config); 42 42 static bool definerelexpMode(pxConfig *config); 43 static bool tocalibexpMode(pxConfig *config); 43 44 static bool updaterelexpMode(pxConfig *config); 44 45 static bool listrelexpMode(pxConfig *config); … … 46 47 static bool updaterelstackMode(pxConfig *config); 47 48 static bool listrelstackMode(pxConfig *config); 49 static bool definerelgroupMode(pxConfig *config); 50 static bool pendingrelgroupMode(pxConfig *config); 51 static bool updaterelgroupMode(pxConfig *config); 52 static bool listrelgroupMode(pxConfig *config); 48 53 49 54 # define MODECASE(caseName, func) \ … … 69 74 MODECASE(RELEASETOOL_MODE_DEFINERELEASE, definereleaseMode); 70 75 MODECASE(RELEASETOOL_MODE_UPDATERELEASE, updatereleaseMode); 76 MODECASE(RELEASETOOL_MODE_TOCALIBEXP, tocalibexpMode); 71 77 MODECASE(RELEASETOOL_MODE_LISTRELEASE, listreleaseMode); 72 78 … … 78 84 MODECASE(RELEASETOOL_MODE_UPDATERELSTACK, updaterelstackMode); 79 85 MODECASE(RELEASETOOL_MODE_LISTRELSTACK, listrelstackMode); 86 87 MODECASE(RELEASETOOL_MODE_DEFINERELGROUP, definerelgroupMode); 88 MODECASE(RELEASETOOL_MODE_UPDATERELGROUP, updaterelgroupMode); 89 MODECASE(RELEASETOOL_MODE_PENDINGRELGROUP, pendingrelgroupMode); 90 MODECASE(RELEASETOOL_MODE_LISTRELGROUP, listrelgroupMode); 80 91 default: 81 92 psAbort("invalid option (this should not happen)"); … … 170 181 171 182 PXOPT_LOOKUP_S32(surveyID, config->args, "-set_surveyID", true, false); 172 PXOPT_LOOKUP_STR(release Name, config->args, "-set_releaseName", true, false);183 PXOPT_LOOKUP_STR(release_name, config->args, "-set_release_name", true, false); 173 184 PXOPT_LOOKUP_STR(release_state, config->args, "-set_release_state", true, false); 174 185 PXOPT_LOOKUP_S32(dataRelease, config->args, "-set_dataRelease", false, false); … … 178 189 0, // rel_id (auto_increment) 179 190 surveyID, 180 release Name,191 release_name, 181 192 release_state, 182 193 dataRelease, … … 194 205 PS_ASSERT_PTR_NON_NULL(config, false); 195 206 196 PXOPT_LOOKUP_STR(release Name, config->args, "-releaseName", false, false);207 PXOPT_LOOKUP_STR(release_name, config->args, "-release_name", false, false); 197 208 PXOPT_LOOKUP_S32(rel_id, config->args, "-rel_id", false, false); 198 209 199 if (!release Name && !rel_id) {200 psError(PXTOOLS_ERR_CONFIG, true, "either -release Name or -rel_id is required\n");210 if (!release_name && !rel_id) { 211 psError(PXTOOLS_ERR_CONFIG, true, "either -release_name or -rel_id is required\n"); 201 212 return false; 202 213 } … … 211 222 212 223 PXOPT_COPY_S32(config->args, where, "-rel_id", "rel_id", "=="); 213 PXOPT_COPY_STR(config->args, where, "-release Name", "releaseName", "==");224 PXOPT_COPY_STR(config->args, where, "-release_name", "release_name", "=="); 214 225 215 226 psString sep = ""; … … 253 264 254 265 PXOPT_COPY_STR(config->args, where, "-surveyName", "surveyName", "LIKE"); 255 PXOPT_COPY_STR(config->args, where, "-release Name", "releaseName", "LIKE");266 PXOPT_COPY_STR(config->args, where, "-release_name", "release_name", "LIKE"); 256 267 PXOPT_COPY_STR(config->args, where, "-release_state", "release_state", "=="); 257 268 PXOPT_COPY_S32(config->args, where, "-rel_id", "rel_id", "=="); … … 334 345 // insure that at least one of these is supplied to select the release 335 346 PXOPT_LOOKUP_S64(rel_id, config->args, "-rel_id", false, false); 336 PXOPT_LOOKUP_STR(release Name, config->args, "-releaseName", false, false);337 if (!rel_id && !release Name) {338 psError(PXTOOLS_ERR_CONFIG, true, "either -rel_id or -release Name is required");339 return false; 340 } 341 342 // limit query to the target release. (Note: this will select nothing of releaseName and rel_id don't match)347 PXOPT_LOOKUP_STR(release_name, config->args, "-release_name", false, false); 348 if (!rel_id && !release_name) { 349 psError(PXTOOLS_ERR_CONFIG, true, "either -rel_id or -release_name is required"); 350 return false; 351 } 352 353 // limit query to the target release. (Note: this will select nothing if release_name and rel_id don't match) 343 354 // note: we add these after above to insure that search args are supplied 344 PXOPT_COPY_STR(config->args, where, "-release Name", "ippRelease.releaseName", "==");355 PXOPT_COPY_STR(config->args, where, "-release_name", "ippRelease.release_name", "=="); 345 356 PXOPT_COPY_S32(config->args, where, "-rel_id", "ippRelease.rel_id", "=="); 346 357 … … 429 440 chip_id, 430 441 cam_id, 442 0, // group_id 431 443 state, 432 444 flags, … … 460 472 static bool updaterelexpMode(pxConfig *config) 461 473 { 462 psError(PS_ERR_UNKNOWN, true, "not yet implemented"); 463 return false; 474 PS_ASSERT_PTR_NON_NULL(config, false); 475 476 PXOPT_LOOKUP_STR(release_name, config->args, "-release_name", false, false); 477 PXOPT_LOOKUP_S32(rel_id, config->args, "-rel_id", false, false); 478 PXOPT_LOOKUP_S32(relexp_id, config->args, "-relexp_id", false, false); 479 480 if (!relexp_id && !release_name && !rel_id) { 481 psError(PXTOOLS_ERR_CONFIG, true, "at least one of -relexp_id, -release_name, and -rel_id is required\n"); 482 return false; 483 } 484 485 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); 486 PXOPT_LOOKUP_U32(flags, config->args, "-set_flags", false, false); 487 PXOPT_LOOKUP_STR(path_base, config->args, "-set_path_base", false, false); 488 PXOPT_LOOKUP_F32(zpt_obs, config->args, "-set_zpt_obs", false, false); 489 PXOPT_LOOKUP_F32(zpt_stdev,config->args, "-set_zpt_stdev", false, false); 490 PXOPT_LOOKUP_S16(fault, config->args, "-set_fault", false, false); 491 PXOPT_LOOKUP_BOOL(clearfault, config->args, "-clearfault", false); 492 if (!state && !flags && !path_base && !isfinite(zpt_obs) && !isfinite(zpt_stdev) && !fault && !clearfault) { 493 psError(PXTOOLS_ERR_CONFIG, true, "must set at least one column\n"); 494 return false; 495 } 496 497 if (fault && clearfault) { 498 psError(PXTOOLS_ERR_CONFIG, true, "cannot set and clear fault at same time\n"); 499 return false; 500 } 501 502 psMetadata *where = psMetadataAlloc(); 503 504 PXOPT_COPY_S64(config->args, where, "-exp_id", "relExp.exp_id", "=="); 505 PXOPT_COPY_S32(config->args, where, "-relexp_id", "relExp.relexp_id", "=="); 506 PXOPT_COPY_STR(config->args, where, "-exp_name", "rawExp.exp_name", "=="); 507 // make sure that we have enough parameters to identify the relExp to change 508 if (!psListLength(where->list)){ 509 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required\n"); 510 psFree(where); 511 return false; 512 } 513 514 PXOPT_COPY_S32(config->args, where, "-rel_id", "rel_id", "=="); 515 PXOPT_COPY_STR(config->args, where, "-release_name", "release_name", "=="); 516 517 psString sep = ""; 518 psString comma = ", "; 519 psString query = psStringCopy("UPDATE relExp JOIN ippRelease USING(rel_id) JOIN rawExp USING(exp_id) SET"); 520 if (state) { 521 psStringAppend(&query, "%s relExp.state = '%s'", sep, state); 522 sep = comma; 523 } 524 if (path_base) { 525 psStringAppend(&query, "%s relExp.path_base = '%s'", sep, path_base); 526 sep = comma; 527 } 528 if (flags) { 529 psStringAppend(&query, "%s relExp.flags = %d", sep, flags); 530 sep = comma; 531 } 532 if (isfinite(zpt_obs)) { 533 psStringAppend(&query, "%s relExp.zpt_obs = %f", sep, zpt_obs); 534 sep = comma; 535 } 536 if (isfinite(zpt_stdev)) { 537 psStringAppend(&query, "%s relExp.zpt_stdev = %f", sep, zpt_stdev); 538 sep = comma; 539 } 540 if (fault) { 541 psStringAppend(&query, "%s relExp.fault = %d", sep, fault); 542 sep = comma; 543 } 544 if (clearfault) { 545 psStringAppend(&query, "%s relExp.fault = 0", sep); 546 sep = comma; 547 } 548 549 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 550 psStringAppend(&query, " WHERE %s", whereClause); 551 psFree(whereClause); 552 553 if (!p_psDBRunQuery(config->dbh, query)) { 554 psError(PS_ERR_UNKNOWN, false, "database error"); 555 psFree(query); 556 return false; 557 } 558 559 psU64 affected = psDBAffectedRows(config->dbh); 560 psLogMsg("releasetool", PS_LOG_INFO, "Updated %" PRIu64 " ippReleases", affected); 561 562 563 psFree(query); 564 565 return true; 464 566 } 465 567 466 static bool listrelexpMode(pxConfig *config)568 static bool tocalibexpMode(pxConfig *config) 467 569 { 468 570 PS_ASSERT_PTR_NON_NULL(config, NULL); … … 470 572 psMetadata *where = psMetadataAlloc(); 471 573 472 PXOPT_COPY_STR(config->args, where, "-releaseName", "ippRelease.releaseName", "LIKE"); 574 PXOPT_COPY_S64(config->args, where, "-relexp_id", "relExp.relexp_id", "=="); 575 PXOPT_COPY_STR(config->args, where, "-release_name", "ippRelease.release_name", "LIKE"); 576 #ifdef notdef 577 PXOPT_COPY_S32(config->args, where, "-rel_id", "relExp.rel_id", "=="); 473 578 pxAddLabelSearchArgs(config, where, "-release_state","ippRelease.state", "=="); 474 579 PXOPT_COPY_STR(config->args, where, "-state", "relExp.state", "=="); … … 488 593 489 594 PXOPT_COPY_STR(config->args, where, "-surveyName", "survey.surveyName", "LIKE"); 595 596 PXOPT_LOOKUP_BOOL(priority_order, config->args, "-priority_order", false); 597 #endif 598 599 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 600 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 601 602 psString query = pxDataGet("releasetool_tocalibexp.sql"); 603 if (!query) { 604 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 605 return false; 606 } 607 608 psString where2 = NULL; 609 #ifdef notdef 610 if (!pxspaceAddWhere(config, &where2, "rawExp")) { 611 psError(psErrorCodeLast(), false, "pxspaceAddWhere failed"); 612 return false; 613 } 614 #endif 615 616 if (psListLength(where->list)) { 617 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 618 psStringAppend(&query, "\nAND %s", whereClause); 619 psFree(whereClause); 620 #ifdef notdef 621 } else if (where2) { 622 psStringAppend(&query, "\nAND "); 623 #endif 624 } else { 625 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required\n"); 626 psFree(where); 627 return false; 628 } 629 630 if (where2) { 631 psStringAppend(&query, "\n%s", where2); 632 psFree(where2); 633 } 634 635 if (limit) { 636 psString limitString = psDBGenerateLimitSQL(limit); 637 psStringAppend(&query, " %s", limitString); 638 psFree(limitString); 639 } 640 641 if (!p_psDBRunQuery(config->dbh, query)) { 642 psError(PS_ERR_UNKNOWN, false, "database error"); 643 psFree(query); 644 return false; 645 } 646 psFree(query); 647 648 psArray *output = p_psDBFetchResult(config->dbh); 649 if (!output) { 650 psError(PS_ERR_UNKNOWN, false, "database error"); 651 return false; 652 } 653 654 if (!psArrayLength(output)) { 655 psTrace("releasetool", PS_LOG_INFO, "no rows found"); 656 psFree(output); 657 return true; 658 } 659 660 if (!ippdbPrintMetadatas(stdout, output, "relExp", !simple)) { 661 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 662 psFree(output); 663 return false; 664 } 665 666 psFree(output); 667 668 return true; 669 } 670 static bool listrelexpMode(pxConfig *config) 671 { 672 PS_ASSERT_PTR_NON_NULL(config, NULL); 673 674 psMetadata *where = psMetadataAlloc(); 675 676 PXOPT_COPY_S64(config->args, where, "-relexp_id", "relExp.relexp_id", "=="); 677 PXOPT_COPY_STR(config->args, where, "-release_name", "ippRelease.release_name", "LIKE"); 678 pxAddLabelSearchArgs(config, where, "-release_state","ippRelease.state", "=="); 679 PXOPT_COPY_STR(config->args, where, "-state", "relExp.state", "=="); 680 PXOPT_COPY_STR(config->args, where, "-filter", "rawExp.filter", "LIKE"); 681 PXOPT_COPY_TIME(config->args, where, "-dateobs_begin","rawExp.dateobs", ">="); 682 PXOPT_COPY_TIME(config->args, where, "-dateobs_end", "rawExp.dateobs", "<="); 683 PXOPT_COPY_F32(config->args, where, "-fwhm_min", "camProcessedExp.fwhm_major", ">="); 684 PXOPT_COPY_F32(config->args, where, "-fwhm_max", "camProcessedExp.fwhm_major", "<="); 685 PXOPT_COPY_STR(config->args, where, "-exp_name", "rawExp.exp_name", "=="); 686 PXOPT_COPY_S64(config->args, where, "-exp_id", "relExp.exp_id", "=="); 687 PXOPT_COPY_S64(config->args, where, "-chip_id", "relExp.chip_id", "=="); 688 PXOPT_COPY_S64(config->args, where, "-cam_id", "relExp.cam_id", "=="); 689 PXOPT_COPY_S64(config->args, where, "-warp_id", "warpRun.warp_id", "=="); 690 PXOPT_COPY_STR(config->args, where, "-chip_data_group", "chipRun.data_group", "LIKE"); 691 PXOPT_COPY_STR(config->args, where, "-cam_data_group", "camRun.data_group", "LIKE"); 692 PXOPT_COPY_STR(config->args, where, "-warp_data_group", "warpRun.data_group", "LIKE"); 693 694 PXOPT_COPY_STR(config->args, where, "-surveyName", "survey.surveyName", "LIKE"); 490 695 PXOPT_COPY_S32(config->args, where, "-rel_id", "relExp.rel_id", "=="); 491 696 … … 594 799 // insure that at least one of these is supplied to select the release 595 800 PXOPT_LOOKUP_S64(rel_id, config->args, "-rel_id", false, false); 596 PXOPT_LOOKUP_STR(release Name, config->args, "-releaseName", false, false);597 if (!rel_id && !release Name) {598 psError(PXTOOLS_ERR_CONFIG, true, "either -rel_id or -release Name is required");599 return false; 600 } 601 602 // limit query to the target release. (Note: this will select nothing of releaseName and rel_id don't match)801 PXOPT_LOOKUP_STR(release_name, config->args, "-release_name", false, false); 802 if (!rel_id && !release_name) { 803 psError(PXTOOLS_ERR_CONFIG, true, "either -rel_id or -release_name is required"); 804 return false; 805 } 806 807 // limit query to the target release. (Note: this will select nothing if release_name and rel_id don't match) 603 808 // note: we add these after above to insure that search args are supplied 604 PXOPT_COPY_STR(config->args, where, "-release Name", "ippRelease.releaseName", "==");809 PXOPT_COPY_STR(config->args, where, "-release_name", "ippRelease.release_name", "=="); 605 810 PXOPT_COPY_S32(config->args, where, "-rel_id", "ippRelease.rel_id", "=="); 606 811 … … 752 957 psMetadata *where = psMetadataAlloc(); 753 958 754 PXOPT_COPY_STR(config->args, where, "-release Name", "ippRelease.releaseName", "LIKE");959 PXOPT_COPY_STR(config->args, where, "-release_name", "ippRelease.release_name", "LIKE"); 755 960 pxAddLabelSearchArgs(config, where, "-release_state","ippRelease.state", "=="); 756 961 PXOPT_COPY_STR(config->args, where, "-state", "relExp.state", "=="); … … 846 1051 } 847 1052 1053 static bool definerelgroupMode(pxConfig *config) 1054 { 1055 PS_ASSERT_PTR_NON_NULL(config, NULL); 1056 1057 PXOPT_LOOKUP_STR(group_type, config->args, "-set_group_type", true, false); 1058 PXOPT_LOOKUP_STR(group_name, config->args, "-set_group_name", true, false); 1059 PXOPT_LOOKUP_STR(label, config->args, "-set_label", true, false); 1060 1061 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); 1062 PXOPT_LOOKUP_STR(exp_list_path, config->args, "-set_exp_list_path", false, false); 1063 PXOPT_LOOKUP_S16(fault, config->args, "-set_fault", false, false); 1064 1065 psString query = NULL; 1066 1067 psMetadata *where = psMetadataAlloc(); 1068 1069 // select sql and paramters based on group type 1070 bool type_lap = false; 1071 if (!strcmp(group_type, "lap")) { 1072 type_lap = true; 1073 PXOPT_COPY_S64(config->args, where, "-select_seq_id", "lapRun.seq_id", "=="); 1074 PXOPT_COPY_S64(config->args, where, "-select_lap_id", "lapRun.lap_id", "=="); 1075 query = pxDataGet("releasetool_definerelgroup_select_lap.sql"); 1076 if (!query) { 1077 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1078 psFree(where); 1079 return false; 1080 } 1081 } else { 1082 if (!strcmp(group_type, "date")) { 1083 // group_type ok 1084 } else if (!strcmp(group_type, "data_group")) { 1085 // group_type ok 1086 } else { 1087 psError(PXTOOLS_ERR_CONFIG, true, "%s is not valid group_type", group_type); 1088 return false; 1089 } 1090 pxAddLabelSearchArgs (config, where, "-select_data_group", "camRun.data_group", "=="); 1091 query = pxDataGet("releasetool_definerelgroup_select_data_group.sql"); 1092 if (!query) { 1093 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1094 psFree(where); 1095 return false; 1096 } 1097 } 1098 1099 // Insure that at least one of the exposure selectors is supplied 1100 if (!psListLength(where->list)) { 1101 psFree(where); 1102 psError(PXTOOLS_ERR_CONFIG, false, "search arguments are required"); 1103 return false; 1104 } 1105 1106 // insure that at least one of these is supplied to select the release 1107 PXOPT_LOOKUP_S64(rel_id, config->args, "-rel_id", false, false); 1108 PXOPT_LOOKUP_STR(release_name, config->args, "-release_name", false, false); 1109 if (!rel_id && !release_name) { 1110 psError(PXTOOLS_ERR_CONFIG, true, "either -rel_id or -release_name is required"); 1111 return false; 1112 } 1113 1114 // limit query to the target release. (Note: this will select nothing if release_name and rel_id don't match) 1115 // note: we add these after above to insure that search args are supplied 1116 PXOPT_COPY_STR(config->args, where, "-release_name", "ippRelease.release_name", "=="); 1117 PXOPT_COPY_S32(config->args, where, "-rel_id", "ippRelease.rel_id", "=="); 1118 1119 PXOPT_LOOKUP_BOOL(pretend, config->args, "-pretend", false); 1120 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 1121 1122 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1123 psStringAppend(&query, " AND %s", whereClause); 1124 psFree(whereClause); 1125 1126 psFree(where); 1127 1128 if (!type_lap) { 1129 psStringAppend(&query, "\nHAVING COUNT(exp_id) > 0"); 1130 } 1131 1132 if (!p_psDBRunQuery(config->dbh, query)) { 1133 psError(PS_ERR_UNKNOWN, false, "database error"); 1134 psFree(query); 1135 return false; 1136 } 1137 psFree(query); 1138 1139 psArray *output = p_psDBFetchResult(config->dbh); 1140 if (!output) { 1141 psError(PS_ERR_UNKNOWN, false, "database error"); 1142 return false; 1143 } 1144 if (!psArrayLength(output)) { 1145 psTrace("releasetool", PS_LOG_INFO, "no rows found"); 1146 psFree(output); 1147 return true; 1148 } 1149 1150 if (pretend) { 1151 // negative simple so the default is true 1152 if (!ippdbPrintMetadatas(stdout, output, "relGroupToQueue", !simple)) { 1153 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 1154 psFree(output); 1155 return false; 1156 } 1157 psFree(output); 1158 return true; 1159 } 1160 1161 if (!psDBTransaction(config->dbh)) { 1162 psError(PS_ERR_UNKNOWN, false, "database error"); 1163 psFree(output); 1164 return false; 1165 } 1166 1167 psTime *now = psTimeGetNow(PS_TIME_TAI); 1168 // loop over our list of exposures 1169 for (long i = 0; i < psArrayLength(output); i++) { 1170 psMetadata *md = output->data[i]; 1171 1172 bool status = true; 1173 psS32 rel_id = psMetadataLookupS32(&status, md, "rel_id"); 1174 psS64 lap_id = 0; 1175 if (type_lap) { 1176 lap_id = psMetadataLookupS64(&status, md, "lap_id"); 1177 } 1178 1179 if (!relGroupInsert(config->dbh, 1180 0, // group_id (auto increment) 1181 rel_id, 1182 group_type, 1183 lap_id, 1184 group_name, 1185 "reg", // state 1186 label, 1187 exp_list_path, 1188 fault, 1189 now // registered 1190 )) { 1191 if (!psDBRollback(config->dbh)) { 1192 psError(PS_ERR_UNKNOWN, false, "database error"); 1193 } 1194 psError(PS_ERR_UNKNOWN, false, "failed to trying to insert relGroup"); 1195 psFree(output); 1196 psFree(now); 1197 return false; 1198 } 1199 // Here's our new group_id 1200 psS32 group_id = psDBLastInsertID(config->dbh); 1201 1202 psString query; 1203 if (type_lap) { 1204 query = pxDataGet("releasetool_definerelgroup_select_exp_lap.sql"); 1205 if (!query) { 1206 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1207 psFree(where); 1208 return false; 1209 } 1210 psStringAppend(&query, " AND relExp.rel_id = %d AND lap_id = %" PRId64, rel_id, lap_id); 1211 } else { 1212 query = pxDataGet("releasetool_definerelgroup_select_exp_data_group.sql"); 1213 if (!query) { 1214 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1215 psFree(where); 1216 return false; 1217 } 1218 psStringAppend(&query, " AND relExp.rel_id = %d", rel_id); 1219 1220 psMetadata *where = psMetadataAlloc(); 1221 pxAddLabelSearchArgs (config, where, "-select_data_group", "camRun.data_group", "=="); 1222 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1223 psStringAppend(&query, " AND %s", whereClause); 1224 psFree(whereClause); 1225 psFree(where); 1226 } 1227 1228 if (!p_psDBRunQuery(config->dbh, query)) { 1229 psError(PS_ERR_UNKNOWN, false, "database error"); 1230 psFree(query); 1231 psFree(output); 1232 psFree(now); 1233 if (!psDBRollback(config->dbh)) { 1234 psError(PS_ERR_UNKNOWN, false, "database error"); 1235 } 1236 return false; 1237 } 1238 psFree(query); 1239 1240 psArray *exposures = p_psDBFetchResult(config->dbh); 1241 if (!exposures) { 1242 psFree(now); 1243 psFree(output); 1244 psError(PS_ERR_UNKNOWN, false, "database error"); 1245 if (!psDBRollback(config->dbh)) { 1246 psError(PS_ERR_UNKNOWN, false, "database error"); 1247 } 1248 return false; 1249 } 1250 if (!psArrayLength(exposures)) { 1251 psFree(now); 1252 psFree(output); 1253 psFree(exposures); 1254 psError(PS_ERR_UNKNOWN, false, "no exposures found error"); 1255 if (!psDBRollback(config->dbh)) { 1256 psError(PS_ERR_UNKNOWN, false, "database error"); 1257 } 1258 return false; 1259 } 1260 1261 // assign the relExps to this new group 1262 char *updateQuery = "UPDATE relExp SET group_id = %d WHERE relexp_id = %" PRId64; 1263 for (int j = 0; j < psArrayLength(exposures); j++) { 1264 psMetadata *md = exposures->data[j]; 1265 1266 bool status = true; 1267 psS32 relexp_id = psMetadataLookupS32(&status, md, "relexp_id"); 1268 if (!p_psDBRunQueryF(config->dbh, updateQuery, group_id, relexp_id)) { 1269 psError(PS_ERR_UNKNOWN, false, "database error"); 1270 psFree(now); 1271 psFree(output); 1272 psFree(exposures); 1273 1274 if (!psDBRollback(config->dbh)) { 1275 psError(PS_ERR_UNKNOWN, false, "database error"); 1276 } 1277 return false; 1278 } 1279 } 1280 psFree(exposures); 1281 1282 // set state of relGroup to 'new' 1283 if (!p_psDBRunQueryF(config->dbh, "UPDATE relGroup set state = 'new' WHERE group_id = %d", group_id)) { 1284 psError(PS_ERR_UNKNOWN, false, "database error"); 1285 psFree(now); 1286 psFree(output); 1287 if (!psDBRollback(config->dbh)) { 1288 psError(PS_ERR_UNKNOWN, false, "database error"); 1289 } 1290 return false; 1291 } 1292 } 1293 psFree(output); 1294 psFree(now); 1295 1296 if (!psDBCommit(config->dbh)) { 1297 psError(PS_ERR_UNKNOWN, false, "database error"); 1298 return false; 1299 } 1300 1301 return true; 1302 } 1303 1304 static bool updaterelgroupMode(pxConfig *config) 1305 { 1306 psError(PS_ERR_UNKNOWN, true, "not yet implemented"); 1307 return false; 1308 } 1309 1310 static bool pendingrelgroupMode(pxConfig *config) 1311 { 1312 psError(PS_ERR_UNKNOWN, true, "not yet implemented"); 1313 return false; 1314 #ifdef notdef 1315 PS_ASSERT_PTR_NON_NULL(config, NULL); 1316 1317 psMetadata *where = psMetadataAlloc(); 1318 1319 pxAddLabelSearchArgs (config, where, "-label", "relGroup.label", "=="); 1320 1321 PXOPT_COPY_S64(config->args, where, "-relexp_id", "relExp.relexp_id", "=="); 1322 PXOPT_COPY_STR(config->args, where, "-release_name", "ippRelease.release_name", "LIKE"); 1323 #ifdef notdef 1324 PXOPT_COPY_S32(config->args, where, "-rel_id", "relExp.rel_id", "=="); 1325 pxAddLabelSearchArgs(config, where, "-release_state","ippRelease.state", "=="); 1326 PXOPT_COPY_STR(config->args, where, "-state", "relExp.state", "=="); 1327 PXOPT_COPY_STR(config->args, where, "-filter", "rawExp.filter", "LIKE"); 1328 PXOPT_COPY_TIME(config->args, where, "-dateobs_begin","rawExp.dateobs", ">="); 1329 PXOPT_COPY_TIME(config->args, where, "-dateobs_end", "rawExp.dateobs", "<="); 1330 PXOPT_COPY_F32(config->args, where, "-fwhm_min", "camProcessedExp.fwhm_major", ">="); 1331 PXOPT_COPY_F32(config->args, where, "-fwhm_max", "camProcessedExp.fwhm_major", "<="); 1332 PXOPT_COPY_STR(config->args, where, "-exp_name", "rawExp.exp_name", "=="); 1333 PXOPT_COPY_S64(config->args, where, "-exp_id", "relExp.exp_id", "=="); 1334 PXOPT_COPY_S64(config->args, where, "-chip_id", "relExp.chip_id", "=="); 1335 PXOPT_COPY_S64(config->args, where, "-cam_id", "relExp.cam_id", "=="); 1336 PXOPT_COPY_S64(config->args, where, "-warp_id", "warpRun.warp_id", "=="); 1337 PXOPT_COPY_STR(config->args, where, "-chip_data_group", "chipRun.data_group", "LIKE"); 1338 PXOPT_COPY_STR(config->args, where, "-cam_data_group", "camRun.data_group", "LIKE"); 1339 PXOPT_COPY_STR(config->args, where, "-warp_data_group", "warpRun.data_group", "LIKE"); 1340 1341 PXOPT_COPY_STR(config->args, where, "-surveyName", "survey.surveyName", "LIKE"); 1342 1343 PXOPT_LOOKUP_BOOL(priority_order, config->args, "-priority_order", false); 1344 #endif 1345 1346 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 1347 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 1348 1349 psString query = pxDataGet("releasetool_tocalibexp.sql"); 1350 if (!query) { 1351 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1352 return false; 1353 } 1354 1355 psString where2 = NULL; 1356 #ifdef notdef 1357 if (!pxspaceAddWhere(config, &where2, "rawExp")) { 1358 psError(psErrorCodeLast(), false, "pxspaceAddWhere failed"); 1359 return false; 1360 } 1361 #endif 1362 1363 if (psListLength(where->list)) { 1364 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1365 psStringAppend(&query, "\nAND %s", whereClause); 1366 psFree(whereClause); 1367 #ifdef notdef 1368 } else if (where2) { 1369 psStringAppend(&query, "\nAND "); 1370 #endif 1371 } else { 1372 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required\n"); 1373 psFree(where); 1374 return false; 1375 } 1376 1377 if (where2) { 1378 psStringAppend(&query, "\n%s", where2); 1379 psFree(where2); 1380 } 1381 1382 if (limit) { 1383 psString limitString = psDBGenerateLimitSQL(limit); 1384 psStringAppend(&query, " %s", limitString); 1385 psFree(limitString); 1386 } 1387 1388 if (!p_psDBRunQuery(config->dbh, query)) { 1389 psError(PS_ERR_UNKNOWN, false, "database error"); 1390 psFree(query); 1391 return false; 1392 } 1393 psFree(query); 1394 1395 psArray *output = p_psDBFetchResult(config->dbh); 1396 if (!output) { 1397 psError(PS_ERR_UNKNOWN, false, "database error"); 1398 return false; 1399 } 1400 1401 if (!psArrayLength(output)) { 1402 psTrace("releasetool", PS_LOG_INFO, "no rows found"); 1403 psFree(output); 1404 return true; 1405 } 1406 1407 if (!ippdbPrintMetadatas(stdout, output, "relExp", !simple)) { 1408 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 1409 psFree(output); 1410 return false; 1411 } 1412 1413 psFree(output); 1414 1415 return true; 1416 #endif // notdef 1417 } 1418 1419 static bool listrelgroupMode(pxConfig *config) 1420 { 1421 return false; 1422 #ifdef notdef 1423 PS_ASSERT_PTR_NON_NULL(config, NULL); 1424 1425 psMetadata *where = psMetadataAlloc(); 1426 1427 PXOPT_COPY_STR(config->args, where, "-release_name", "ippRelease.release_name", "LIKE"); 1428 pxAddLabelSearchArgs(config, where, "-release_state","ippRelease.state", "=="); 1429 PXOPT_COPY_STR(config->args, where, "-state", "relExp.state", "=="); 1430 PXOPT_COPY_STR(config->args, where, "-filter", "rawExp.filter", "LIKE"); 1431 PXOPT_COPY_TIME(config->args, where, "-dateobs_begin","rawExp.dateobs", ">="); 1432 PXOPT_COPY_TIME(config->args, where, "-dateobs_end", "rawExp.dateobs", "<="); 1433 PXOPT_COPY_F32(config->args, where, "-fwhm_min", "skycalResult.fwhm_major", ">="); 1434 PXOPT_COPY_F32(config->args, where, "-fwhm_max", "skycalresult.fwhm_major", "<="); 1435 PXOPT_COPY_STR(config->args, where, "-exp_name", "rawExp.exp_ame", "=="); 1436 PXOPT_COPY_S64(config->args, where, "-exp_id", "relExp.exp_id", "=="); 1437 PXOPT_COPY_S64(config->args, where, "-chip_id", "relExp.chip_id", "=="); 1438 PXOPT_COPY_S64(config->args, where, "-cam_id", "relExp.cam_id", "=="); 1439 PXOPT_COPY_S64(config->args, where, "-warp_id", "warpRun.warp_id", "=="); 1440 PXOPT_COPY_STR(config->args, where, "-chip_data_group", "chipRun.data_group", "LIKE"); 1441 PXOPT_COPY_STR(config->args, where, "-cam_data_group", "camRun.data_group", "LIKE"); 1442 PXOPT_COPY_STR(config->args, where, "-warp_data_group", "warpRun.data_group", "LIKE"); 1443 1444 PXOPT_COPY_STR(config->args, where, "-surveyName", "survey.surveyName", "LIKE"); 1445 PXOPT_COPY_S32(config->args, where, "-rel_id", "relExp.rel_id", "=="); 1446 1447 PXOPT_LOOKUP_BOOL(priority_order, config->args, "-priority_order", false); 1448 1449 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 1450 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 1451 1452 psString query = pxDataGet("releasetool_listrelexp.sql"); 1453 if (!query) { 1454 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1455 return false; 1456 } 1457 1458 psString where2 = NULL; 1459 if (!pxspaceAddWhere(config, &where2, "rawExp")) { 1460 psError(psErrorCodeLast(), false, "pxspaceAddWhere failed"); 1461 return false; 1462 } 1463 1464 if (psListLength(where->list)) { 1465 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1466 psStringAppend(&query, "\nWHERE %s", whereClause); 1467 psFree(whereClause); 1468 } else if (where2) { 1469 psStringAppend(&query, "\nWHERE "); 1470 } else { 1471 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required\n"); 1472 psFree(where); 1473 return false; 1474 } 1475 1476 if (where2) { 1477 psStringAppend(&query, "\n%s", where2); 1478 psFree(where2); 1479 } 1480 1481 if (priority_order) { 1482 psStringAppend(&query, "\nAND priority > 0 order by exp_id, priority"); 1483 } 1484 1485 if (limit) { 1486 psString limitString = psDBGenerateLimitSQL(limit); 1487 psStringAppend(&query, " %s", limitString); 1488 psFree(limitString); 1489 } 1490 1491 if (!p_psDBRunQuery(config->dbh, query)) { 1492 psError(PS_ERR_UNKNOWN, false, "database error"); 1493 psFree(query); 1494 return false; 1495 } 1496 psFree(query); 1497 1498 psArray *output = p_psDBFetchResult(config->dbh); 1499 if (!output) { 1500 psError(PS_ERR_UNKNOWN, false, "database error"); 1501 return false; 1502 } 1503 1504 if (!psArrayLength(output)) { 1505 psTrace("releasetool", PS_LOG_INFO, "no rows found"); 1506 psFree(output); 1507 return true; 1508 } 1509 1510 if (!ippdbPrintMetadatas(stdout, output, "relExp", !simple)) { 1511 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 1512 psFree(output); 1513 return false; 1514 } 1515 1516 psFree(output); 1517 1518 return true; 1519 #endif //notdef 1520 } 1521 -
trunk/ippTools/src/releasetool.h
r35152 r35213 32 32 RELEASETOOL_MODE_DEFINERELEXP, 33 33 RELEASETOOL_MODE_UPDATERELEXP, 34 RELEASETOOL_MODE_TOCALIBEXP, 34 35 RELEASETOOL_MODE_LISTRELEXP, 35 36 RELEASETOOL_MODE_DEFINERELSTACK, 36 37 RELEASETOOL_MODE_UPDATERELSTACK, 38 RELEASETOOL_MODE_TOCALIBSTACK, 37 39 RELEASETOOL_MODE_LISTRELSTACK, 40 RELEASETOOL_MODE_DEFINERELGROUP, 41 RELEASETOOL_MODE_PENDINGRELGROUP, 42 RELEASETOOL_MODE_UPDATERELGROUP, 43 RELEASETOOL_MODE_LISTRELGROUP, 38 44 } releasetoolMode; 39 45 -
trunk/ippTools/src/releasetoolConfig.c
r35196 r35213 60 60 psMetadata *definereleaseArgs = psMetadataAlloc(); 61 61 psMetadataAddS32(definereleaseArgs, PS_LIST_TAIL, "-set_surveyID", 0, "define survey ID (required)", 0); 62 psMetadataAddStr(definereleaseArgs, PS_LIST_TAIL, "-set_release Name", 0, "define release name (required)", NULL);62 psMetadataAddStr(definereleaseArgs, PS_LIST_TAIL, "-set_release_name", 0, "define release name (required)", NULL); 63 63 psMetadataAddS32(definereleaseArgs, PS_LIST_TAIL, "-set_dataRelease", 0, "define dataRelease", -1); 64 64 psMetadataAddStr(definereleaseArgs, PS_LIST_TAIL, "-set_release_state", 0, "define release state", NULL); … … 68 68 psMetadata *updatereleaseArgs = psMetadataAlloc(); 69 69 70 // release Name and/or rel_id is required. This is handled in updatereleaseMode71 psMetadataAddStr(updatereleaseArgs, PS_LIST_TAIL, "-release Name", 0, "select by release name", NULL);70 // release_name and/or rel_id is required. This is handled in updatereleaseMode 71 psMetadataAddStr(updatereleaseArgs, PS_LIST_TAIL, "-release_name", 0, "select by release name", NULL); 72 72 psMetadataAddS32(updatereleaseArgs, PS_LIST_TAIL, "-rel_id", 0, "select by release ID", 0); 73 73 74 // Only support changing state and priority for now75 74 psMetadataAddStr(updatereleaseArgs, PS_LIST_TAIL, "-set_release_state", 0, "define new release state", NULL); 76 75 psMetadataAddS32(updatereleaseArgs, PS_LIST_TAIL, "-set_priority", 0, "define new release priority", 0); 77 76 77 // Only support changing state and priority for now 78 78 // psMetadataAddS32(updatereleaseArgs, PS_LIST_TAIL, "-set_surveyID", 0, "define surveyID (required)", 0); 79 // psMetadataAddStr(updatereleaseArgs, PS_LIST_TAIL, "-set_release Name", 0, "define release name (required)", NULL);79 // psMetadataAddStr(updatereleaseArgs, PS_LIST_TAIL, "-set_release_name", 0, "define release name (required)", NULL); 80 80 // psMetadataAddS32(updatereleaseArgs, PS_LIST_TAIL, "-set_dataRelease", 0, "define dataRelease", -1); 81 81 … … 84 84 psMetadata *listreleaseArgs = psMetadataAlloc(); 85 85 psMetadataAddStr(listreleaseArgs, PS_LIST_TAIL, "-surveyName", 0, "select by survey name (LIKE comparision)", NULL); 86 psMetadataAddStr(listreleaseArgs, PS_LIST_TAIL, "-release Name", 0, "select by release name (LIKE comparision)", NULL);86 psMetadataAddStr(listreleaseArgs, PS_LIST_TAIL, "-release_name", 0, "select by release name (LIKE comparision)", NULL); 87 87 psMetadataAddStr(listreleaseArgs, PS_LIST_TAIL, "-release_state", 0, "select by release state", NULL); 88 88 psMetadataAddS32(listreleaseArgs, PS_LIST_TAIL, "-rel_id", 0, "select by release ID", 0); … … 95 95 96 96 // set the target release 97 psMetadataAddStr(definerelexpArgs, PS_LIST_TAIL, "-release Name", 0, "define release name", NULL);97 psMetadataAddStr(definerelexpArgs, PS_LIST_TAIL, "-release_name", 0, "define release name", NULL); 98 98 psMetadataAddS32(definerelexpArgs, PS_LIST_TAIL, "-rel_id", 0, "define release ID", 0); 99 99 … … 112 112 psMetadataAddF32(definerelexpArgs, PS_LIST_TAIL, "-set_zpt_obs", 0, "define zero point", NAN); 113 113 psMetadataAddF32(definerelexpArgs, PS_LIST_TAIL, "-set_zpt_stdev", 0, "define zero point stdev", NAN); 114 psMetadataAddStr(definerelexpArgs, PS_LIST_TAIL, "-set_path_base", 0, "define state (required)", NULL);114 psMetadataAddStr(definerelexpArgs, PS_LIST_TAIL, "-set_path_base", 0, "define state", NULL); 115 115 psMetadataAddS16(definerelexpArgs, PS_LIST_TAIL, "-set_fault", 0, "define fault", 0); 116 116 117 117 psMetadataAddBool(definerelexpArgs, PS_LIST_TAIL, "-pretend", 0, "do not actually modify the database", false); 118 psMetadataAddBool(definerelexpArgs, PS_LIST_TAIL, "-simple", 0, "use the simpel output format", false); 119 120 118 psMetadataAddBool(definerelexpArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 121 119 122 120 // -updaterelexp 123 121 psMetadata *updaterelexpArgs = psMetadataAlloc(); 124 psMetadataAddStr(updaterelexpArgs, PS_LIST_TAIL, "-releaseName", 0, "select by release name (LIKE comparision)", NULL); 122 psMetadataAddS64(updaterelexpArgs, PS_LIST_TAIL, "-relexp_id", 0, "select by released exposure ID", 0); 123 psMetadataAddS64(updaterelexpArgs, PS_LIST_TAIL, "-exp_id", 0, "select by exposure ID", 0); 124 psMetadataAddStr(updaterelexpArgs, PS_LIST_TAIL, "-exp_name", 0, "select by exposure name", NULL); 125 psMetadataAddS32(updaterelexpArgs, PS_LIST_TAIL, "-rel_id", 0, "select by release ID", 0); 126 psMetadataAddStr(updaterelexpArgs, PS_LIST_TAIL, "-release_name", 0, "select by release name (LIKE comparision)", NULL); 127 128 psMetadataAddStr(updaterelexpArgs, PS_LIST_TAIL, "-set_state", 0, "define new state)", NULL); 129 psMetadataAddU32(updaterelexpArgs, PS_LIST_TAIL, "-set_flags", 0, "define new flags", 0); 130 psMetadataAddF32(updaterelexpArgs, PS_LIST_TAIL, "-set_zpt_obs", 0, "define new zero point", NAN); 131 psMetadataAddF32(updaterelexpArgs, PS_LIST_TAIL, "-set_zpt_stdev", 0, "define new zero point stdev", NAN); 132 psMetadataAddStr(updaterelexpArgs, PS_LIST_TAIL, "-set_path_base", 0, "define path_base", NULL); 133 psMetadataAddS16(updaterelexpArgs, PS_LIST_TAIL, "-set_fault", 0, "define new fault", 0); 134 psMetadataAddBool(updaterelexpArgs, PS_LIST_TAIL, "-clearfault", 0, "set fault to zero", false); 135 136 // -tocalibexp 137 psMetadata *tocalibexpArgs = psMetadataAlloc(); 138 psMetadataAddS64(tocalibexpArgs, PS_LIST_TAIL, "-relexp_id", 0, "select by released exposure ID", 0); 139 psMetadataAddStr(tocalibexpArgs, PS_LIST_TAIL, "-release_name", 0, "select by release name (LIKE comparision)", NULL); 140 141 psMetadataAddU64(tocalibexpArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 142 psMetadataAddBool(tocalibexpArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 125 143 126 144 // -listrelexp 127 145 psMetadata *listrelexpArgs = psMetadataAlloc(); 128 psMetadataAddStr(listrelexpArgs, PS_LIST_TAIL, "-releaseName", 0, "select by release name (LIKE comparision)", NULL); 146 psMetadataAddS64(listrelexpArgs, PS_LIST_TAIL, "-relexp_id", 0, "select by released exposure ID", 0); 147 psMetadataAddStr(listrelexpArgs, PS_LIST_TAIL, "-release_name", 0, "select by release name (LIKE comparision)", NULL); 129 148 psMetadataAddStr(listrelexpArgs, PS_LIST_TAIL, "-release_state", PS_META_DUPLICATE_OK, "select by release state", NULL); 130 149 psMetadataAddStr(listrelexpArgs, PS_LIST_TAIL, "-state", 0, "select by released exposure state", NULL); … … 162 181 163 182 // set the target release 164 psMetadataAddStr(definerelstackArgs, PS_LIST_TAIL, "-release Name", 0, "define release name", NULL);183 psMetadataAddStr(definerelstackArgs, PS_LIST_TAIL, "-release_name", 0, "define release name", NULL); 165 184 psMetadataAddS32(definerelstackArgs, PS_LIST_TAIL, "-rel_id", 0, "define release ID", 0); 166 185 … … 184 203 185 204 psMetadataAddBool(definerelstackArgs, PS_LIST_TAIL, "-pretend", 0, "do not actually modify the database", false); 186 psMetadataAddBool(definerelstackArgs, PS_LIST_TAIL, "-simple", 0, "use the simpel output format", false); 205 psMetadataAddBool(definerelstackArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 206 207 // -definerelgroup 208 psMetadata *definerelgroupArgs = psMetadataAlloc(); 209 210 // set the target release 211 psMetadataAddStr(definerelgroupArgs, PS_LIST_TAIL, "-release_name", 0, "define release name", NULL); 212 psMetadataAddS32(definerelgroupArgs, PS_LIST_TAIL, "-rel_id", 0, "define release ID", 0); 213 214 // select the members of the group 215 psMetadataAddS64(definerelgroupArgs, PS_LIST_TAIL, "-select_seq_id", 0, "select by LAP sequence ID", 0); 216 psMetadataAddS64(definerelgroupArgs, PS_LIST_TAIL, "-select_lap_id", 0, "select by LAP ID", 0); 217 psMetadataAddStr(definerelgroupArgs, PS_LIST_TAIL, "-select_data_group", PS_META_DUPLICATE_OK, "select by camRun.data_group", NULL); 218 // do we want this? 219 // psMetadataAddS64(definerelgroupArgs, PS_LIST_TAIL, "-lap_id", 0, "select by LAP ID", NULL); 220 221 // parameters of the relGroup 222 psMetadataAddStr(definerelgroupArgs, PS_LIST_TAIL, "-set_group_type", 0, "define group_type (required)", NULL); 223 psMetadataAddStr(definerelgroupArgs, PS_LIST_TAIL, "-set_group_name", 0, "define group_name (required)", NULL); 224 psMetadataAddStr(definerelgroupArgs, PS_LIST_TAIL, "-set_label", 0, "define relgroup label (required)", NULL); 225 psMetadataAddStr(definerelgroupArgs, PS_LIST_TAIL, "-set_state", 0, "define state", NULL); 226 psMetadataAddStr(definerelgroupArgs, PS_LIST_TAIL, "-set_exp_list_path", 0, "define path in exposure list", NULL); 227 psMetadataAddS16(definerelgroupArgs, PS_LIST_TAIL, "-set_fault", 0, "define fault", 0); 228 229 // options 230 psMetadataAddBool(definerelgroupArgs, PS_LIST_TAIL, "-pretend", 0, "do not actually modify the database", false); 231 psMetadataAddBool(definerelgroupArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 232 233 // -pendingrelgroup 234 psMetadata *pendingrelgroupArgs = psMetadataAlloc(); 235 236 psMetadataAddS64(pendingrelgroupArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by relGroup.label", 0); 237 psMetadataAddS32(pendingrelgroupArgs, PS_LIST_TAIL, "-rel_id", 0, "select by release ID", 0); 238 psMetadataAddS32(pendingrelgroupArgs, PS_LIST_TAIL, "-group_id", 0, "select by relGroup ID", 0); 239 psMetadataAddStr(pendingrelgroupArgs, PS_LIST_TAIL, "-release_name", 0, "select by release name", 0); 240 241 // -updaterelgroup 242 psMetadata *updaterelgroupArgs = psMetadataAlloc(); 243 244 // set the target release 245 psMetadataAddS32(updaterelgroupArgs, PS_LIST_TAIL, "-group_id", 0, "select by group ID (required)", 0); 246 247 // parameters of the relGroup 248 psMetadataAddStr(updaterelgroupArgs, PS_LIST_TAIL, "-set_state", 0, "define state", NULL); 249 psMetadataAddStr(updaterelgroupArgs, PS_LIST_TAIL, "-set_exp_list_path", 0, "define path in exposure list", NULL); 250 psMetadataAddStr(updaterelgroupArgs, PS_LIST_TAIL, "-set_label", 0, "define relgroup label", NULL); 251 psMetadataAddS16(updaterelgroupArgs, PS_LIST_TAIL, "-set_fault", 0, "define fault", 0); 252 psMetadataAddBool(updaterelgroupArgs, PS_LIST_TAIL, "-clearfault", 0, "set fault to zero", false); 253 254 psMetadata *listrelgroupArgs = psMetadataAlloc(); 255 psMetadataAddS32(listrelgroupArgs, PS_LIST_TAIL, "-group_id", 0, "select by group ID", 0); 256 psMetadataAddS32(listrelgroupArgs, PS_LIST_TAIL, "-rel_id", 0, "select by release ID", 0); 257 psMetadataAddStr(listrelgroupArgs, PS_LIST_TAIL, "-release_name", 0, "select by release name", 0); 187 258 188 259 // ****************************************************************** … … 200 271 PXOPT_ADD_MODE("-definerelexp", "define a released exposure", RELEASETOOL_MODE_DEFINERELEXP, definerelexpArgs); 201 272 PXOPT_ADD_MODE("-updaterelexp", "update a released exposure", RELEASETOOL_MODE_UPDATERELEXP, updaterelexpArgs); 273 PXOPT_ADD_MODE("-tocalibexp", "list relExps pending calibration", RELEASETOOL_MODE_TOCALIBEXP, tocalibexpArgs); 202 274 PXOPT_ADD_MODE("-listrelexp", "list released exposures", RELEASETOOL_MODE_LISTRELEXP, listrelexpArgs); 203 275 204 276 PXOPT_ADD_MODE("-definerelstack", "define a released stack", RELEASETOOL_MODE_DEFINERELSTACK, definerelstackArgs); 277 278 PXOPT_ADD_MODE("-definerelgroup", "define a group of exposures", RELEASETOOL_MODE_DEFINERELGROUP, definerelgroupArgs); 279 PXOPT_ADD_MODE("-pendingrelgroup", "list relGroups pending processing", RELEASETOOL_MODE_PENDINGRELGROUP, pendingrelgroupArgs); 280 PXOPT_ADD_MODE("-updaterelgroup", "update a relGroup", RELEASETOOL_MODE_UPDATERELGROUP, updaterelgroupArgs); 281 PXOPT_ADD_MODE("-listrelgroup", "define a group of exposures", RELEASETOOL_MODE_LISTRELGROUP, listrelgroupArgs); 282 205 283 206 284
Note:
See TracChangeset
for help on using the changeset viewer.
