Changeset 27149
- Timestamp:
- Mar 2, 2010, 6:29:45 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 6 added
- 14 edited
-
dbconfig/changes.txt (modified) (1 diff)
-
dbconfig/raw.md (modified) (2 diffs)
-
ippScripts/Build.PL (modified) (1 diff)
-
ippScripts/MANIFEST (modified) (1 diff)
-
ippScripts/scripts/automate_stacks.pl (modified) (2 diffs)
-
ippScripts/scripts/lossy_compress_imfile.pl (added)
-
ippTasks/Makefile.am (modified) (1 diff)
-
ippTasks/lossy_compress.pro (added)
-
ippTools/share/Makefile.am (modified) (1 diff)
-
ippTools/share/pxadmin_create_tables.sql (modified) (2 diffs)
-
ippTools/share/regtool_finishcompressexp.sql (added)
-
ippTools/share/regtool_pendingcompressimfile.sql (added)
-
ippTools/share/regtool_updatebyquery.sql (added)
-
ippTools/share/regtool_updatebyqueryimfile.sql (added)
-
ippTools/share/regtool_updateprocessedimfile.sql (modified) (1 diff)
-
ippTools/src/pxregister.c (modified) (1 diff)
-
ippTools/src/pxregister.h (modified) (1 diff)
-
ippTools/src/regtool.c (modified) (16 diffs)
-
ippTools/src/regtool.h (modified) (1 diff)
-
ippTools/src/regtoolConfig.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/dbconfig/changes.txt
r27042 r27149 1527 1527 ALTER TABLE publishClient ADD COLUMN magicked TINYINT DEFAULT 1 AFTER stage; 1528 1528 1529 ALTER TABLE rawExp ADD COLUMN state VARCHAR(64) AFTER workdir, ADD KEY(state); 1530 UPDATE rawExp SET state = 'full'; 1531 1532 ALTER TABLE rawImfile ADD COLUMN data_state VARCHAR(64) AFTER uri, ADD KEY(data_state); 1533 UPDATE rawImfile SET data_state = 'full'; 1534 1535 -- Not updating schema_version to not break distribution bundles. 1536 -- UPDATE dbversion set schema_version = '1.1.65', updated= CURRENT_TIMESTAMP(); 1537 1538 -- Version 1.1.66 1539 -
trunk/dbconfig/raw.md
r25420 r27149 10 10 filelevel STR 64 11 11 workdir STR 255 # destination for output files 12 state STR 64 # Key 12 13 reduction STR 64 # Reduction class 13 14 dvodb STR 255 … … 77 78 class_id STR 64 # Primary Key 78 79 uri STR 255 80 data_state STR 64 # Key 79 81 exp_type STR 64 80 82 # This field is used to set the per exp filelevel. Thus the values for all of -
trunk/ippScripts/Build.PL
r26901 r27149 101 101 scripts/whichimage 102 102 scripts/automate_stacks.pl 103 scripts/lossy_compress_imfile.pl 103 104 scripts/ipp_apply_burntool.pl 104 105 scripts/make_burntool_pcontrol.pl -
trunk/ippScripts/MANIFEST
r26901 r27149 37 37 scripts/ds9_cmf_regions.pl 38 38 scripts/automate_stacks.pl 39 scripts/lossy_compress_imfile.pl 39 40 scripts/ipp_apply_burntool.pl 40 41 scripts/make_burntool_pcontrol.pl -
trunk/ippScripts/scripts/automate_stacks.pl
r26990 r27149 426 426 my ($trash,$start,$end); 427 427 ($trash,$trash,$start,$end) = (split /\s+/,$row); 428 $metadata_out{"btBegin${N}"} = $start; 429 $metadata_out{"btEnd${N}"} = $end; 430 $metadata_out{"btCounter${N}"} = 0; 431 $N++; 432 print STDERR "define_burntool: $row\n"; 428 429 for (my $class_counter = 0; $class_counter < 60; $class_counter++) { 430 $metadata_out{"bt${N}Begin"} = $start; 431 $metadata_out{"bt${N}End"} = $end; 432 $metadata_out{"bt${N}Class"} = $class_counter; 433 $metadata_out{"bt${N}Status"} = 'NEW'; 434 $N++; 435 } 436 print STDERR "define_burntool: $row\n"; 433 437 } 434 438 $metadata_out{btN} = $N - 1; … … 793 797 print STDOUT "autoStack METADATA\n"; 794 798 print STDOUT " date STR $date\n"; 795 foreach my $k ( keys %metadata_out) {799 foreach my $k (sort(keys %metadata_out)) { 796 800 print STDOUT " $k STR $metadata_out{$k}\n"; 797 801 } -
trunk/ippTasks/Makefile.am
r26670 r27149 31 31 dqstats.pro \ 32 32 science.cleanup.pro \ 33 nightly_stacks.pro 33 nightly_stacks.pro \ 34 lossy_compress.pro 34 35 35 36 other_files = \ -
trunk/ippTools/share/Makefile.am
r27017 r27149 256 256 regtool_revertprocessedimfile.sql \ 257 257 regtool_updateprocessedimfile.sql \ 258 regtool_pendingcompressimfile.sql \ 259 regtool_finishcompressexp.sql \ 260 regtool_updatebyquery.sql \ 261 regtool_updatebyqueryimfile.sql \ 258 262 stacktool_definebyquery_insert.sql \ 259 263 stacktool_definebyquery_insert_random_part1.sql \ -
trunk/ippTools/share/pxadmin_create_tables.sql
r27116 r27149 117 117 filelevel VARCHAR(64), 118 118 workdir VARCHAR(255), 119 state VARCHAR(64), 119 120 reduction VARCHAR(64), 120 121 dvodb VARCHAR(255), … … 189 190 class_id VARCHAR(64), 190 191 uri VARCHAR(255), 192 data_state VARCHAR(64), 191 193 exp_type VARCHAR(64), 192 194 filelevel VARCHAR(64), -
trunk/ippTools/share/regtool_updateprocessedimfile.sql
r25425 r27149 1 1 UPDATE rawImfile 2 SET burntool_state = %d2 SET %s 3 3 WHERE 4 4 rawImfile.exp_id = %lld -
trunk/ippTools/src/pxregister.c
r21402 r27149 58 58 return true; 59 59 } 60 61 bool pxrawExpSetState(pxConfig *config, psS64 exp_id, const char *state) 62 { 63 if (!exp_id) { 64 psError(PS_ERR_UNKNOWN, true, "0 is not a valid exp_id"); 65 return false; 66 } 67 PS_ASSERT_PTR_NON_NULL(state, false); 68 69 // check that state is a valid string value 70 if (!( 71 (strncmp(state, "full", 5) == 0) 72 || (strncmp(state, "new", 4) == 0) 73 || (strncmp(state, "goto_compressed", 14) == 0) 74 || (strncmp(state, "compressed", 11) == 0) 75 || (strncmp(state, "goto_lossy", 11) == 0) 76 || (strncmp(state, "lossy", 6) == 0) 77 ) 78 ) { 79 psError(PS_ERR_UNKNOWN, false, 80 "invalid rawExp state: %s", state); 81 return false; 82 } 83 84 char *query = "UPDATE rawExp SET state = '%s' WHERE exp_id = %"PRId64; 85 if (!p_psDBRunQueryF(config->dbh, query, state, exp_id)) { 86 psError(PS_ERR_UNKNOWN, false, 87 "failed to change state for exp_id %"PRId64, exp_id); 88 return false; 89 } 90 91 return true; 92 } 93 bool pxrawImfileSetState(pxConfig *config, psS64 exp_id, const char *class_id, const char *state) 94 { 95 if (!exp_id) { 96 psError(PS_ERR_UNKNOWN, true, "0 is not a valid exp_id"); 97 return false; 98 } 99 PS_ASSERT_PTR_NON_NULL(state, false); 100 101 // check that state is a valid string value 102 if (!( 103 (strncmp(state, "full", 5) == 0) 104 || (strncmp(state, "new", 4) == 0) 105 || (strncmp(state, "goto_compressed", 14) == 0) 106 || (strncmp(state, "compressed", 11) == 0) 107 || (strncmp(state, "goto_lossy", 11) == 0) 108 || (strncmp(state, "lossy", 6) == 0) 109 ) 110 ) { 111 psError(PS_ERR_UNKNOWN, false, 112 "invalid rawImfile data_state: %s", state); 113 return false; 114 } 115 116 char *query = "UPDATE rawImfile SET data_state = '%s' WHERE class_id = %s AND exp_id = %"PRId64; 117 if (!p_psDBRunQueryF(config->dbh, query, state, class_id, exp_id)) { 118 psError(PS_ERR_UNKNOWN, false, 119 "failed to change state for exp_id %"PRId64, exp_id); 120 return false; 121 } 122 123 return true; 124 } -
trunk/ippTools/src/pxregister.h
r18336 r27149 26 26 27 27 bool pxnewExpSetState(pxConfig *config, psS64 exp_id, const char *state); 28 bool pxrawExpSetState(pxConfig *config, psS64 exp_id, const char *state); 29 bool pxrawImfileSetState(pxConfig *config, psS64 exp_id, const char *class_id, const char *state); 28 30 29 31 #endif // PXREGISTER_H -
trunk/ippTools/src/regtool.c
r27132 r27149 37 37 static bool revertprocessedimfileMode(pxConfig *config); 38 38 static bool updateprocessedimfileMode(pxConfig *config); 39 static bool pendingcompressimfileMode(pxConfig *config); 39 40 // exp 40 41 static bool pendingexpMode(pxConfig *config); … … 44 45 static bool updateprocessedexpMode(pxConfig *config); 45 46 static bool cleardupexpMode(pxConfig *config); 47 static bool finishcompressexpMode(pxConfig *config); 48 49 static bool updatebyqueryMode(pxConfig *config); 50 46 51 static bool exportrunMode(pxConfig *config); 47 52 static bool importrunMode(pxConfig *config); … … 77 82 MODECASE(REGTOOL_MODE_REVERTPROCESSEDEXP, revertprocessedexpMode); 78 83 MODECASE(REGTOOL_MODE_UPDATEPROCESSEDEXP, updateprocessedexpMode); 84 MODECASE(REGTOOL_MODE_UPDATEBYQUERY, updatebyqueryMode); 85 MODECASE(REGTOOL_MODE_PENDINGCOMPRESSIMFILE, pendingcompressimfileMode); 86 MODECASE(REGTOOL_MODE_FINISHCOMPRESSEXP, finishcompressexpMode); 79 87 MODECASE(REGTOOL_MODE_CLEARDUPEXP, cleardupexpMode); 80 88 MODECASE(REGTOOL_MODE_EXPORTRUN, exportrunMode); … … 189 197 PXOPT_LOOKUP_STR(obs_mode, config->args, "-obs_mode", false, false); 190 198 PXOPT_LOOKUP_STR(obs_group, config->args, "-obs_group", false, false); 199 PXOPT_LOOKUP_STR(data_state, config->args, "-data_state", false, false); 191 200 192 201 PXOPT_LOOKUP_F32(airmass, config->args, "-airmass", false, false); … … 255 264 class_id, 256 265 uri, 266 data_state, 257 267 exp_type, 258 268 filelevel, … … 336 346 PXOPT_COPY_STR(config->args, where, "-exp_type", "exp_type", "=="); 337 347 PXOPT_COPY_STR(config->args, where, "-obs_mode", "obs_mode", "=="); 338 PXOPT_COPY_S 64(config->args, where, "-magicked", "magicked", "==");348 PXOPT_COPY_STR(config->args, where, "-data_state", "data_state", "=="); 339 349 340 350 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); … … 491 501 492 502 PXOPT_LOOKUP_S16(fault, config->args, "-fault", false, false); 493 /* PXOPT_LOOKUP_F64(user_1, config->args, "-user_1", false, false); */494 503 PXOPT_LOOKUP_S16(burntool_state, config->args, "-burntool_state", false, false); 495 496 if ((fault == INT16_MAX) && !isfinite(burntool_state)) { 497 psError(PS_ERR_UNKNOWN, false, "one of -fault or -burntool_state must be selected"); 504 PXOPT_LOOKUP_S32(set_bytes, config->args, "-set_bytes", false, false); 505 PXOPT_LOOKUP_STR(set_md5sum, config->args, "-set_md5sum", false, false); 506 PXOPT_LOOKUP_STR(set_state, config->args, "-set_state", false, false); 507 508 if ((fault == INT16_MAX) && !isfinite(burntool_state) && !(set_state)) { 509 psError(PS_ERR_UNKNOWN, false, "one of -fault or -burntool_state or -set_state must be selected"); 498 510 return false; 499 511 } … … 514 526 return false; 515 527 } 516 } 517 518 if (isfinite(burntool_state)) { 519 psString query = pxDataGet("regtool_updateprocessedimfile.sql"); 520 if (!query) { 521 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 522 return false; 523 } 524 525 if (!p_psDBRunQueryF(config->dbh, query, burntool_state, exp_id, class_id)) { 526 psError(PS_ERR_UNKNOWN, false, "database error"); 527 psFree(query); 528 return false; 529 } 530 psFree(query); 528 psFree (where); 529 return(true); 531 530 } 532 531 psFree (where); 532 533 psString setvalues = NULL; 534 if (burntool_state != INT16_MAX) { 535 psStringAppend(&setvalues,"rawImfile.burntool_state = %d",burntool_state); 536 } 537 if (set_bytes != INT32_MAX) { 538 if (setvalues) { 539 psStringAppend(&setvalues,","); 540 } 541 psStringAppend(&setvalues,"rawImfile.bytes = %d",set_bytes); 542 } 543 if (set_md5sum) { 544 if (setvalues) { 545 psStringAppend(&setvalues,","); 546 } 547 psStringAppend(&setvalues,"rawImfile.md5sum = '%s'",set_md5sum); 548 } 549 if (set_state) { 550 if (setvalues) { 551 psStringAppend(&setvalues,","); 552 } 553 psStringAppend(&setvalues,"rawImfile.data_state = '%s'",set_state); 554 } 555 556 psString query = pxDataGet("regtool_updateprocessedimfile.sql"); 557 if (!query) { 558 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 559 return false; 560 } 561 562 // printf(query,setvalues,exp_id,class_id); 563 if (!p_psDBRunQueryF(config->dbh, query, setvalues, exp_id,class_id)) { 564 psError(PS_ERR_UNKNOWN, false, "database error"); 565 psFree(query); 566 psFree(setvalues); 567 return false; 568 } 569 psFree(setvalues); 570 psFree(query); 533 571 534 572 return true; 535 573 } 536 574 575 static bool pendingcompressimfileMode(pxConfig *config) { 576 PS_ASSERT_PTR_NON_NULL(config, false); 577 578 psMetadata *where = psMetadataAlloc(); 579 PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "=="); 580 PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "=="); 581 582 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 583 if (whereClause) { 584 psStringPrepend(&whereClause, "\n AND "); 585 } 586 587 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 588 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 589 590 psString query = pxDataGet("regtool_pendingcompressimfile.sql"); 591 if (!query) { 592 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 593 return(false); 594 } 595 psString limitString = NULL; 596 if (limit) { 597 limitString = psDBGenerateLimitSQL(limit); 598 psStringPrepend(&limitString, "\n"); 599 } 600 // printf(query,whereClause,limitString); 601 if (!p_psDBRunQueryF(config->dbh, query, whereClause, limitString ? limitString : "")) { 602 psError(PXTOOLS_ERR_PROG, false, "database error"); 603 psFree(limitString); 604 psFree(query); 605 psFree(whereClause); 606 psFree(where); 607 return(false); 608 } 609 psFree(limitString); 610 psFree(query); 611 psFree(whereClause); 612 psFree(where); 613 614 psArray *output = p_psDBFetchResult(config->dbh); 615 if (!output) { 616 psErrorCode err = psErrorCodeLast(); 617 switch (err) { 618 case PS_ERR_DB_CLIENT: 619 psError(PXTOOLS_ERR_SYS, false, "database error"); 620 case PS_ERR_DB_SERVER: 621 psError(PXTOOLS_ERR_PROG, false, "database error"); 622 default: 623 psError(PXTOOLS_ERR_PROG, false, "unknown error"); 624 } 625 626 return false; 627 } 628 if (!psArrayLength(output)) { 629 psTrace("regtool", PS_LOG_INFO, "no rows found"); 630 psFree(output); 631 return true; 632 } 633 634 // negate simple so the default is true 635 if (!ippdbPrintMetadatas(stdout, output, "regPendingCompressImfile", !simple)) { 636 psError(PXTOOLS_ERR_PROG, false, "failed to print array"); 637 psFree(output); 638 return false; 639 } 640 641 psFree(output); 642 643 return true; 644 } 645 537 646 538 647 static bool pendingexpMode(pxConfig *config) … … 626 735 PXOPT_LOOKUP_STR(exp_type, config->args, "-exp_type", false, false); 627 736 PXOPT_LOOKUP_STR(workdir, config->args, "-workdir", false, false); 737 PXOPT_LOOKUP_STR(state, config->args, "-state", false, false); 628 738 PXOPT_LOOKUP_STR(dvodb, config->args, "-dvodb", false, false); 629 739 PXOPT_LOOKUP_STR(tess_id, config->args, "-tess_id", false, false); … … 787 897 filelevel, 788 898 workdir, 899 state, 789 900 reduction, 790 901 dvodb, … … 930 1041 PXOPT_COPY_STR(config->args, where, "-inst", "camera", "=="); 931 1042 PXOPT_COPY_STR(config->args, where, "-telescope", "telescope", "=="); 932 PXOPT_COPY_TIME(config->args, where, "-dateobs_begin", "dateobs", ">="); 933 PXOPT_COPY_TIME(config->args, where, "-dateobs_end", "dateobs", "<="); 1043 PXOPT_COPY_TIME(config->args, where, "-dateobs_begin", "dateobs", ">="); 1044 PXOPT_COPY_TIME(config->args, where, "-dateobs_end", "dateobs", "<="); 1045 PXOPT_COPY_STR(config->args, where, "-state", "state", "=="); 934 1046 PXOPT_COPY_STR(config->args, where, "-exp_tag", "exp_tag", "=="); 935 1047 PXOPT_COPY_STR(config->args, where, "-exp_type", "exp_type", "=="); … … 964 1076 PXOPT_COPY_F32(config->args, where, "-sun_angle_min", "sun_angle", ">="); 965 1077 PXOPT_COPY_F32(config->args, where, "-sun_angle_max", "sun_angle", "<"); 966 1078 967 1079 psString where2 = NULL; 968 1080 if (!pxspaceAddWhere(config, &where2, "rawExp")) { … … 974 1086 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 975 1087 PXOPT_LOOKUP_BOOL(faulted, config->args, "-faulted", false); 976 1088 977 1089 if (psListLength(where->list)) { 978 psString whereClause = psDBGenerateWhereConditionSQL(where, "rawExp");979 psStringAppend(&query, " AND %s", whereClause);980 psFree(whereClause);1090 psString whereClause = psDBGenerateWhereConditionSQL(where, "rawExp"); 1091 psStringAppend(&query, " AND %s", whereClause); 1092 psFree(whereClause); 981 1093 } 982 1094 psFree(where); 983 1095 984 1096 if (where2) { 985 1097 psStringAppend(&query, " %s ", where2); … … 988 1100 989 1101 if (faulted) { 990 // list only faulted rows991 psStringAppend(&query, " %s", "AND rawExp.fault != 0");1102 // list only faulted rows 1103 psStringAppend(&query, " %s", "AND rawExp.fault != 0"); 992 1104 } else { 993 // don't list faulted rows994 psStringAppend(&query, " %s", "AND rawExp.fault = 0");995 } 996 1105 // don't list faulted rows 1106 psStringAppend(&query, " %s", "AND rawExp.fault = 0"); 1107 } 1108 997 1109 // treat limit == 0 as "no limit" 998 1110 if (limit) { 999 psString limitString = psDBGenerateLimitSQL(limit);1000 psStringAppend(&query, " %s", limitString);1001 psFree(limitString);1002 } 1003 1111 psString limitString = psDBGenerateLimitSQL(limit); 1112 psStringAppend(&query, " %s", limitString); 1113 psFree(limitString); 1114 } 1115 1004 1116 if (!p_psDBRunQuery(config->dbh, query)) { 1005 psError(PS_ERR_UNKNOWN, false, "database error");1006 return false;1117 psError(PS_ERR_UNKNOWN, false, "database error"); 1118 return false; 1007 1119 } 1008 1120 psFree(query); 1009 1121 1010 1122 psArray *output = p_psDBFetchResult(config->dbh); 1011 1123 if (!output) { 1012 psErrorCode err = psErrorCodeLast();1013 switch (err) {1014 case PS_ERR_DB_CLIENT:1015 psError(PXTOOLS_ERR_SYS, false, "database error");1016 case PS_ERR_DB_SERVER:1017 psError(PXTOOLS_ERR_PROG, false, "database error");1018 default:1019 psError(PXTOOLS_ERR_PROG, false, "unknown error");1020 }1021 1022 return false;1124 psErrorCode err = psErrorCodeLast(); 1125 switch (err) { 1126 case PS_ERR_DB_CLIENT: 1127 psError(PXTOOLS_ERR_SYS, false, "database error"); 1128 case PS_ERR_DB_SERVER: 1129 psError(PXTOOLS_ERR_PROG, false, "database error"); 1130 default: 1131 psError(PXTOOLS_ERR_PROG, false, "unknown error"); 1132 } 1133 1134 return false; 1023 1135 } 1024 1136 if (!psArrayLength(output)) { 1025 psTrace("regtool", PS_LOG_INFO, "no rows found");1026 psFree(output);1027 return true;1028 } 1029 1137 psTrace("regtool", PS_LOG_INFO, "no rows found"); 1138 psFree(output); 1139 return true; 1140 } 1141 1030 1142 if (psArrayLength(output)) { 1031 // negative simple so the default is true1032 if (!ippdbPrintMetadatas(stdout, output, "rawExp", !simple)) {1033 psError(PS_ERR_UNKNOWN, false, "failed to print array");1034 psFree(output);1035 return false;1036 }1037 } 1038 1143 // negative simple so the default is true 1144 if (!ippdbPrintMetadatas(stdout, output, "rawExp", !simple)) { 1145 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 1146 psFree(output); 1147 return false; 1148 } 1149 } 1150 1039 1151 psFree(output); 1040 1152 1041 1153 return true; 1042 1154 } … … 1044 1156 static bool revertprocessedexpMode(pxConfig *config) 1045 1157 { 1046 PS_ASSERT_PTR_NON_NULL(config, false); 1047 1048 psMetadata *where = psMetadataAlloc(); 1049 PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "=="); 1050 PXOPT_COPY_S16(config->args, where, "-fault", "fault", "=="); 1051 PXOPT_COPY_S64(config->args, where, "-exp_id_begin", "exp_id", ">="); 1052 PXOPT_COPY_S64(config->args, where, "-exp_id_end", "exp_id", "<="); 1053 1054 psString query = pxDataGet("regtool_revertprocessedexp.sql"); 1055 if (!query) { 1056 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1057 psFree(where); 1058 return false; 1059 } 1060 1061 if (psListLength(where->list)) { 1062 psString whereClause = psDBGenerateWhereConditionSQL(where, "rawExp"); 1063 psStringAppend(&query, " AND %s", whereClause); 1064 psFree(whereClause); 1065 } else { 1066 psFree(where); 1067 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 1068 return false; 1069 } 1158 PS_ASSERT_PTR_NON_NULL(config, false); 1159 1160 psMetadata *where = psMetadataAlloc(); 1161 PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "=="); 1162 PXOPT_COPY_S16(config->args, where, "-fault", "fault", "=="); 1163 PXOPT_COPY_S64(config->args, where, "-exp_id_begin", "exp_id", ">="); 1164 PXOPT_COPY_S64(config->args, where, "-exp_id_end", "exp_id", "<="); 1165 1166 psString query = pxDataGet("regtool_revertprocessedexp.sql"); 1167 if (!query) { 1168 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1070 1169 psFree(where); 1071 1072 if (!p_psDBRunQuery(config->dbh, query)) { 1073 psError(PS_ERR_UNKNOWN, false, "database error"); 1074 psFree(query); 1075 return false; 1076 } 1170 return false; 1171 } 1172 1173 if (psListLength(where->list)) { 1174 psString whereClause = psDBGenerateWhereConditionSQL(where, "rawExp"); 1175 psStringAppend(&query, " AND %s", whereClause); 1176 psFree(whereClause); 1177 } else { 1178 psFree(where); 1179 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 1180 return false; 1181 } 1182 psFree(where); 1183 1184 if (!p_psDBRunQuery(config->dbh, query)) { 1185 psError(PS_ERR_UNKNOWN, false, "database error"); 1077 1186 psFree(query); 1078 1079 int numUpdated = psDBAffectedRows(config->dbh); 1080 1081 psLogMsg("regtool", PS_LOG_INFO, "Updated %d rawExp", numUpdated); 1082 1083 return true; 1187 return false; 1188 } 1189 psFree(query); 1190 1191 int numUpdated = psDBAffectedRows(config->dbh); 1192 1193 psLogMsg("regtool", PS_LOG_INFO, "Updated %d rawExp", numUpdated); 1194 1195 return true; 1084 1196 } 1085 1197 … … 1087 1199 static bool updateprocessedexpMode(pxConfig *config) 1088 1200 { 1089 PS_ASSERT_PTR_NON_NULL(config, false); 1090 1091 psMetadata *where = psMetadataAlloc(); 1092 PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "=="); 1093 1094 PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false); 1095 1096 if (!pxSetFaultCode(config->dbh, "rawExp", where, fault)) { 1097 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 1098 psFree(where); 1099 return false; 1100 } 1201 PS_ASSERT_PTR_NON_NULL(config, false); 1202 1203 psMetadata *where = psMetadataAlloc(); 1204 PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "=="); 1205 1206 PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false); 1207 1208 if (!pxSetFaultCode(config->dbh, "rawExp", where, fault)) { 1209 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 1101 1210 psFree(where); 1102 1103 return true; 1104 } 1105 1211 return false; 1212 } 1213 psFree(where); 1214 1215 return true; 1216 } 1217 1218 1219 static bool finishcompressexpMode(pxConfig *config) { 1220 1221 PS_ASSERT_PTR_NON_NULL(config, false); 1222 1223 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 1224 1225 psMetadata *where = psMetadataAlloc(); 1226 PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "=="); 1227 1228 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 1229 1230 psString query = pxDataGet("regtool_finishcompressexp.sql"); 1231 if (!query) { 1232 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1233 return(false); 1234 } 1235 if (where && psListLength(where->list)) { 1236 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1237 psStringAppend(&query, " %s ", whereClause); 1238 psFree(whereClause); 1239 } 1240 psFree(where); 1241 1242 if (limit) { 1243 psString limitString = psDBGenerateLimitSQL(limit); 1244 psStringAppend(&query, " %s ", limitString); 1245 psFree(limitString); 1246 } 1247 // printf(query); 1248 // return(false); 1249 if (!p_psDBRunQuery(config->dbh, query)) { 1250 psError(PS_ERR_UNKNOWN, false, "database error"); 1251 psFree(query); 1252 return(false); 1253 } 1254 psFree(query); 1255 1256 psArray *output = p_psDBFetchResult(config->dbh); 1257 if (!output) { 1258 psError(PS_ERR_UNKNOWN, false, "database error"); 1259 return(false); 1260 } 1261 if (!psArrayLength(output)) { 1262 psTrace("chiptool", PS_LOG_INFO, "no rows found"); 1263 psFree(output); 1264 return(true); 1265 } 1266 1267 for (long i = 0; i < psArrayLength(output); i++) { 1268 psMetadata *md = output->data[i]; 1269 1270 rawExpRow *row = rawExpObjectFromMetadata(md); 1271 if (!psDBTransaction(config->dbh)) { 1272 psError(PS_ERR_UNKNOWN, false, "database error"); 1273 return(false); 1274 } 1275 1276 if (strcmp(row->state,"goto_compressed") == 0) { 1277 if (!pxrawExpSetState(config,row->exp_id, "compressed")) { 1278 psError(PS_ERR_UNKNOWN, false, "failed to set rawExp.state for exp_id: %" PRId64, row->exp_id); 1279 psFree(row); 1280 psFree(output); 1281 return(false); 1282 } 1283 } 1284 else if (strcmp(row->state,"goto_lossy") == 0) { 1285 if (!pxrawExpSetState(config,row->exp_id, "lossy")) { 1286 psError(PS_ERR_UNKNOWN, false, "failed to set rawExp.state for exp_id: %" PRId64, row->exp_id); 1287 psFree(row); 1288 psFree(output); 1289 return(false); 1290 } 1291 } 1292 if (!psDBCommit(config->dbh)) { 1293 psError(PS_ERR_UNKNOWN, false, "database error"); 1294 return false; 1295 } 1296 psFree(row); 1297 } 1298 1299 psFree(output); 1300 return(true); 1301 } 1302 1303 static bool updatebyqueryMode(pxConfig *config) { 1304 PS_ASSERT_PTR_NON_NULL(config, false); 1305 1306 PXOPT_LOOKUP_STR(set_state, config->args, "-set_state", true, false); 1307 1308 // XX test this out; need to make this consistent with the list in regtoolConfig.c 1309 psMetadata *where = psMetadataAlloc(); 1310 PXOPT_COPY_S64(config->args, where, "-exp_id", "rawExp.exp_id", "=="); 1311 PXOPT_COPY_STR(config->args, where, "-exp_name", "rawExp.exp_name", "=="); 1312 PXOPT_COPY_STR(config->args, where, "-inst", "rawExp.camera", "=="); 1313 PXOPT_COPY_STR(config->args, where, "-telescope", "rawExp.telescope", "=="); 1314 PXOPT_COPY_TIME(config->args, where, "-dateobs_begin", "rawExp.dateobs", ">="); 1315 PXOPT_COPY_TIME(config->args, where, "-dateobs_end", "rawExp.dateobs", "<="); 1316 PXOPT_COPY_STR(config->args, where, "-exp_tag", "rawExp.exp_tag", "=="); 1317 PXOPT_COPY_STR(config->args, where, "-exp_type", "rawExp.exp_type", "=="); 1318 PXOPT_COPY_STR(config->args, where, "-filelevel", "rawExp.filelevel", "=="); 1319 PXOPT_COPY_STR(config->args, where, "-reduction", "rawExp.reduction", "=="); 1320 PXOPT_COPY_STR(config->args, where, "-filter", "rawExp.filter", "=="); 1321 PXOPT_COPY_F32(config->args, where, "-airmass_min", "rawExp.airmass", ">="); 1322 PXOPT_COPY_F32(config->args, where, "-airmass_max", "rawExp.airmass", "<"); 1323 PXOPT_COPY_RADEC(config->args, where, "-ra_min", "rawExp.ra", ">="); 1324 PXOPT_COPY_RADEC(config->args, where, "-ra_max", "rawExp.ra", "<"); 1325 PXOPT_COPY_RADEC(config->args, where, "-decl_min", "rawExp.decl", ">="); 1326 PXOPT_COPY_RADEC(config->args, where, "-decl_max", "rawExp.decl", "<"); 1327 PXOPT_COPY_F32(config->args, where, "-exp_time_min", "rawExp.exp_time", ">="); 1328 PXOPT_COPY_F32(config->args, where, "-exp_time_max", "rawExp.exp_time", "<"); 1329 PXOPT_COPY_F32(config->args, where, "-sat_pixel_frac_min", "rawExp.sat_pixel_frac", ">="); 1330 PXOPT_COPY_F32(config->args, where, "-sat_pixel_frac_max", "rawExp.sat_pixel_frac", "<"); 1331 PXOPT_COPY_F64(config->args, where, "-bg_min", "rawExp.bg", ">="); 1332 PXOPT_COPY_F64(config->args, where, "-bg_max", "rawExp.bg", "<"); 1333 PXOPT_COPY_F64(config->args, where, "-bg_stdev_min", "rawExp.bg_stdev", ">="); 1334 PXOPT_COPY_F64(config->args, where, "-bg_stdev_max", "rawExp.bg_stdev", "<"); 1335 PXOPT_COPY_F64(config->args, where, "-bg_mean_stdev_min", "rawExp.bg_mean_stdev", ">="); 1336 PXOPT_COPY_F64(config->args, where, "-bg_mean_stdev_max", "rawExp.bg_mean_stdev", "<"); 1337 PXOPT_COPY_F64(config->args, where, "-alt_min", "rawExp.alt", ">="); 1338 PXOPT_COPY_F64(config->args, where, "-alt_max", "rawExp.alt", "<"); 1339 PXOPT_COPY_F64(config->args, where, "-az_min", "rawExp.az", ">="); 1340 PXOPT_COPY_F64(config->args, where, "-az_max", "rawExp.az", "<"); 1341 PXOPT_COPY_F64(config->args, where, "-ccd_temp_min", "rawExp.ccd_temp", ">="); 1342 PXOPT_COPY_F64(config->args, where, "-ccd_temp_max", "rawExp.ccd_temp", "<"); 1343 PXOPT_COPY_F64(config->args, where, "-posang_min", "rawExp.posang", ">="); 1344 PXOPT_COPY_F64(config->args, where, "-posang_max", "rawExp.posang", "<"); 1345 PXOPT_COPY_F32(config->args, where, "-sun_angle_min", "rawExp.sun_angle", ">="); 1346 PXOPT_COPY_F32(config->args, where, "-sun_angle_max", "rawExp.sun_angle", "<"); 1347 PXOPT_COPY_STR(config->args, where, "-object", "rawExp.object", "=="); 1348 PXOPT_COPY_STR(config->args, where, "-comment", "rawExp.comment", "LIKE"); 1349 PXOPT_COPY_STR(config->args, where, "-obs_mode", "rawExp.obs_mode", "LIKE"); 1350 1351 1352 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1353 psStringPrepend(&whereClause,"\n AND "); 1354 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 1355 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 1356 1357 psString query = pxDataGet("regtool_updatebyquery.sql"); 1358 if (!query) { 1359 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1360 return(false); 1361 } 1362 psString limitString = NULL; 1363 if (limit) { 1364 limitString = psDBGenerateLimitSQL(limit); 1365 psStringPrepend(&limitString, "\n"); 1366 } 1367 // printf(query,set_state,whereClause,limitString); 1368 if (!p_psDBRunQueryF(config->dbh, query, set_state, whereClause, limitString ? limitString : "")) { 1369 psError(PXTOOLS_ERR_PROG, false, "database error"); 1370 psFree(limitString); 1371 psFree(query); 1372 psFree(whereClause); 1373 psFree(where); 1374 return(false); 1375 } 1376 1377 psFree(query); 1378 // Now up date the imfiles. 1379 query = pxDataGet("regtool_updatebyqueryimfile.sql"); 1380 if (!query) { 1381 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1382 return(false); 1383 } 1384 if (!p_psDBRunQueryF(config->dbh, query, set_state,whereClause, limitString ? limitString : "")) { 1385 psError(PXTOOLS_ERR_PROG, false, "database error"); 1386 psFree(limitString); 1387 psFree(query); 1388 psFree(whereClause); 1389 psFree(where); 1390 return(false); 1391 } 1392 1393 psFree(limitString); 1394 psFree(query); 1395 psFree(whereClause); 1396 psFree(where); 1397 1398 return true; 1399 } 1400 1401 1106 1402 1107 1403 static bool cleardupexpMode(pxConfig *config) -
trunk/ippTools/src/regtool.h
r23310 r27149 36 36 REGTOOL_MODE_UPDATEPROCESSEDEXP, 37 37 REGTOOL_MODE_CLEARDUPEXP, 38 REGTOOL_MODE_UPDATEBYQUERY, 39 REGTOOL_MODE_PENDINGCOMPRESSIMFILE, 40 REGTOOL_MODE_FINISHCOMPRESSEXP, 38 41 REGTOOL_MODE_EXPORTRUN, 39 42 REGTOOL_MODE_IMPORTRUN -
trunk/ippTools/src/regtoolConfig.c
r27131 r27149 72 72 ADD_OPT(Str, addprocessedimfileArgs, "-comment", "define comment ", NULL); 73 73 ADD_OPT(Str, addprocessedimfileArgs, "-obs_mode", "define observing mode (data usage goal)", NULL); 74 ADD_OPT(Str, addprocessedimfileArgs, "-obs_group", "define observing group (set of associated observations)", NULL);75 74 ADD_OPT(Str, addprocessedimfileArgs, "-obs_group", "define observing group (set of associated observations)", NULL); 75 ADD_OPT(Str, addprocessedimfileArgs, "-data_state", "define the data_state", "full"); 76 76 // Note: RA & DEC are supplied here in radians, but the query options use degrees. This 77 77 // can be justified by the fact that this option (addprocessedimfile) is a software … … 139 139 ADD_OPT(Str, processedimfileArgs, "-obs_mode", "search by obs_mod", NULL); 140 140 ADD_OPT(Str, processedimfileArgs, "-exp_type", "search by exposure type", NULL); 141 ADD_OPT(Str, processedimfileArgs, "-data_state", "search by data_state", NULL); 141 142 ADD_OPT(Time, processedimfileArgs, "-dateobs_begin", "search for exposures by time (>=)", NULL); 142 143 ADD_OPT(Time, processedimfileArgs, "-dateobs_end", "search for exposures by time (<)", NULL); … … 162 163 ADD_OPT(S64, updateprocessedimfileArgs, "-exp_id", "search by exposure ID", 0); 163 164 ADD_OPT(Str, updateprocessedimfileArgs, "-class_id", "search by class ID", NULL); 164 ADD_OPT(S16, updateprocessedimfileArgs, "-burntool_state", "set burntool state", 0);165 ADD_OPT(S16, updateprocessedimfileArgs, "-burntool_state", "set burntool state", INT16_MAX); 165 166 ADD_OPT(S16, updateprocessedimfileArgs, "-fault", "set fault code", INT16_MAX); 166 167 ADD_OPT(S32, updateprocessedimfileArgs, "-set_bytes", "set bytes", INT32_MAX); 168 ADD_OPT(Str, updateprocessedimfileArgs, "-set_md5sum", "set md5sum", NULL); 169 ADD_OPT(Str, updateprocessedimfileArgs, "-set_state", "set data state", NULL); 170 171 167 172 // -pendingexp 168 173 psMetadata *pendingexpArgs = psMetadataAlloc(); … … 185 190 ADD_OPT(Str, addprocessedexpArgs, "-exp_type", "define exposure type", NULL); 186 191 ADD_OPT(Str, addprocessedexpArgs, "-workdir", "define the \"default\" workdir for this exposure", NULL); 192 ADD_OPT(Str, addprocessedexpArgs, "-state", "define the state for this exposure", NULL); 187 193 ADD_OPT(Str, addprocessedexpArgs, "-dvodb", "define the dvodb for the next processing step", NULL); 188 194 ADD_OPT(Str, addprocessedexpArgs, "-tess_id", "define the tess_id for the next processing step", NULL); … … 253 259 psMetadataAddTime(processedexpArgs, PS_LIST_TAIL, "-dateobs_begin", 0, "search for exposures by time (>=)", NULL); 254 260 psMetadataAddTime(processedexpArgs, PS_LIST_TAIL, "-dateobs_end", 0, "search for exposures by time (<)", NULL); 261 psMetadataAddStr(processedexpArgs, PS_LIST_TAIL, "-state", 0, "search by exposure state", NULL); 255 262 psMetadataAddStr(processedexpArgs, PS_LIST_TAIL, "-exp_tag", 0, "search by exp_tag", NULL); 256 263 psMetadataAddStr(processedexpArgs, PS_LIST_TAIL, "-exp_type", 0, "search by exp_type", "object"); … … 302 309 psMetadataAddS64(updatedprocessedexpArgs, PS_LIST_TAIL, "-exp_id", 0, "search by exposure ID", 0); 303 310 psMetadataAddS16(updatedprocessedexpArgs, PS_LIST_TAIL, "-fault", 0, "set fault code (required)", INT16_MAX); 304 311 psMetadataAddStr(updatedprocessedexpArgs, PS_LIST_TAIL, "-set_state", 0, "set state", NULL); 305 312 // -exportrun 306 313 psMetadata *exportrunArgs = psMetadataAlloc(); … … 313 320 psMetadataAddStr(importrunArgs, PS_LIST_TAIL, "-infile", 0, "import from this file (required)", NULL); 314 321 315 316 322 // -cleardupexp 317 323 psMetadata *cleardupexpArgs = psMetadataAlloc(); 318 324 325 // -updatebyquery 326 psMetadata *updatebyqueryArgs = psMetadataAlloc(); 327 328 psMetadataAddStr(updatebyqueryArgs, PS_LIST_TAIL, "-set_state", 0, "set the state", NULL); 329 330 psMetadataAddS64(updatebyqueryArgs, PS_LIST_TAIL, "-exp_id", 0, "search by exposure ID", 0); 331 psMetadataAddStr(updatebyqueryArgs, PS_LIST_TAIL, "-exp_name", 0, "search by exp_name", NULL); 332 psMetadataAddStr(updatebyqueryArgs, PS_LIST_TAIL, "-inst", 0, "search for camera", NULL); 333 psMetadataAddStr(updatebyqueryArgs, PS_LIST_TAIL, "-telescope", 0, "search for telescope", NULL); 334 psMetadataAddTime(updatebyqueryArgs, PS_LIST_TAIL, "-dateobs_begin", 0, "search for exposures by time (>=)", NULL); 335 psMetadataAddTime(updatebyqueryArgs, PS_LIST_TAIL, "-dateobs_end", 0, "search for exposures by time (<)", NULL); 336 psMetadataAddStr(updatebyqueryArgs, PS_LIST_TAIL, "-exp_tag", 0, "search by exp_tag", NULL); 337 psMetadataAddStr(updatebyqueryArgs, PS_LIST_TAIL, "-exp_type", 0, "search by exp_type", NULL); 338 psMetadataAddStr(updatebyqueryArgs, PS_LIST_TAIL, "-filelevel", 0, "search by filelevel", NULL); 339 psMetadataAddStr(updatebyqueryArgs, PS_LIST_TAIL, "-reduction", 0, "search by reduction class", NULL); 340 psMetadataAddStr(updatebyqueryArgs, PS_LIST_TAIL, "-filter", 0, "search for filter", NULL); 341 psMetadataAddF32(updatebyqueryArgs, PS_LIST_TAIL, "-airmass_min", 0, "search by min airmass", NAN); 342 psMetadataAddF32(updatebyqueryArgs, PS_LIST_TAIL, "-airmass_max", 0, "search by max airmass", NAN); 343 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-ra_min", 0, "search by min RA (degrees) ", NAN); 344 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-ra_max", 0, "search by max RA (degrees) ", NAN); 345 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-decl_min", 0, "search by min DEC (degrees)", NAN); 346 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-decl_max", 0, "search by max DEC (degrees)", NAN); 347 psMetadataAddF32(updatebyqueryArgs, PS_LIST_TAIL, "-exp_time_min", 0, "search by min exposure time", NAN); 348 psMetadataAddF32(updatebyqueryArgs, PS_LIST_TAIL, "-exp_time_max", 0, "search by max exposure time", NAN); 349 psMetadataAddF32(updatebyqueryArgs, PS_LIST_TAIL, "-sat_pixel_frac_min", 0, "search by min fraction of saturated pixels", NAN); 350 psMetadataAddF32(updatebyqueryArgs, PS_LIST_TAIL, "-sat_pixel_frac_max", 0, "search by max fraction of saturated pixels", NAN); 351 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-bg_min", 0, "search by min background", NAN); 352 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-bg_max", 0, "search by max background", NAN); 353 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-bg_stdev_min", 0, "search by min background standard deviation", NAN); 354 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-bg_stdev_max", 0, "search by max background standard deviation", NAN); 355 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-bg_mean_stdev_min", 0, "search by min background mean standard deviation (across imfiles)", NAN); 356 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-bg_mean_stdev_max", 0, "search by max background mean standard deviation (across imfiles)", NAN); 357 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-alt_min", 0, "search by min altitude", NAN); 358 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-alt_max", 0, "search by max altitude", NAN); 359 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-az_min", 0, "search by min azimuth ", NAN); 360 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-az_max", 0, "search by max azimuth ", NAN); 361 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-ccd_temp_min", 0, "search by min ccd tempature", NAN); 362 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-ccd_temp_max", 0, "search by max ccd tempature", NAN); 363 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-posang_min", 0, "search by min rotator position angle", NAN); 364 psMetadataAddF64(updatebyqueryArgs, PS_LIST_TAIL, "-posang_max", 0, "search by max rotator position angle", NAN); 365 psMetadataAddF32(updatebyqueryArgs, PS_LIST_TAIL, "-sun_angle_min", 0, "search by min solar angle", NAN); 366 psMetadataAddF32(updatebyqueryArgs, PS_LIST_TAIL, "-sun_angle_max", 0, "search by max solar angle", NAN); 367 psMetadataAddStr(updatebyqueryArgs, PS_LIST_TAIL, "-object", 0, "search by exposure object", NULL); 368 psMetadataAddStr(updatebyqueryArgs, PS_LIST_TAIL, "-comment", 0, "search by comment", NULL); 369 psMetadataAddStr(updatebyqueryArgs, PS_LIST_TAIL, "-obs_mode", 0, "search by obs_mode", NULL); 370 371 psMetadataAddU64(updatebyqueryArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 372 psMetadataAddBool(updatebyqueryArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 373 374 375 // -pendingcompressimfile 376 psMetadata *pendingcompressimfileArgs = psMetadataAlloc(); 377 psMetadataAddS64(pendingcompressimfileArgs, PS_LIST_TAIL, "-exp_id", 0, "search by exp_id", 0); 378 psMetadataAddStr(pendingcompressimfileArgs, PS_LIST_TAIL, "-class_id", 0, "search by class ID", NULL); 379 psMetadataAddBool(pendingcompressimfileArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 380 psMetadataAddU64(pendingcompressimfileArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 381 382 383 // -finishcompressexp 384 psMetadata *finishcompressexpArgs = psMetadataAlloc(); 385 psMetadataAddS64(finishcompressexpArgs, PS_LIST_TAIL, "-exp_id", 0, "search by exp_id", 0); 386 psMetadataAddBool(finishcompressexpArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 387 psMetadataAddU64(finishcompressexpArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 388 319 389 psMetadata *argSets = psMetadataAlloc(); 320 390 psMetadata *modes = psMetadataAlloc(); … … 331 401 PXOPT_ADD_MODE("-updateprocessedexp", "", REGTOOL_MODE_UPDATEPROCESSEDEXP, updatedprocessedexpArgs); 332 402 PXOPT_ADD_MODE("-cleardupexp", "", REGTOOL_MODE_CLEARDUPEXP, cleardupexpArgs); 403 PXOPT_ADD_MODE("-updatebyquery", "", REGTOOL_MODE_UPDATEBYQUERY, updatebyqueryArgs); 404 PXOPT_ADD_MODE("-pendingcompressimfile", "", REGTOOL_MODE_PENDINGCOMPRESSIMFILE, pendingcompressimfileArgs); 405 PXOPT_ADD_MODE("-finishcompressexp", "", REGTOOL_MODE_FINISHCOMPRESSEXP, finishcompressexpArgs); 333 406 PXOPT_ADD_MODE("-exportrun", "export run for import on other database", REGTOOL_MODE_EXPORTRUN, exportrunArgs); 334 407 PXOPT_ADD_MODE("-importrun", "import run from metadata file", REGTOOL_MODE_IMPORTRUN, importrunArgs);
Note:
See TracChangeset
for help on using the changeset viewer.
