Changeset 24557 for branches/eam_branches/20090522/ippTools/src
- Timestamp:
- Jun 25, 2009, 2:00:56 PM (17 years ago)
- Location:
- branches/eam_branches/20090522
- Files:
-
- 19 edited
- 3 copied
-
. (modified) (1 prop)
-
ippTools/src (modified) (1 prop)
-
ippTools/src/Makefile.am (modified) (3 diffs)
-
ippTools/src/chiptool.c (modified) (2 diffs)
-
ippTools/src/difftool.c (modified) (7 diffs)
-
ippTools/src/disttool.c (modified) (7 diffs)
-
ippTools/src/disttoolConfig.c (modified) (4 diffs)
-
ippTools/src/faketool.c (modified) (4 diffs)
-
ippTools/src/magicdstool.c (modified) (8 diffs)
-
ippTools/src/magicdstool.h (modified) (1 diff)
-
ippTools/src/magicdstoolConfig.c (modified) (2 diffs)
-
ippTools/src/magictool.c (modified) (3 diffs)
-
ippTools/src/magictoolConfig.c (modified) (3 diffs)
-
ippTools/src/pubtool.c (copied) (copied from trunk/ippTools/src/pubtool.c )
-
ippTools/src/pubtool.h (copied) (copied from trunk/ippTools/src/pubtool.h )
-
ippTools/src/pubtoolConfig.c (copied) (copied from trunk/ippTools/src/pubtoolConfig.c )
-
ippTools/src/pxchip.c (modified) (5 diffs)
-
ippTools/src/pxwarp.c (modified) (2 diffs)
-
ippTools/src/pxwarp.h (modified) (1 diff)
-
ippTools/src/warptool.c (modified) (13 diffs)
-
ippTools/src/warptool.h (modified) (1 diff)
-
ippTools/src/warptoolConfig.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/20090522
- Property svn:mergeinfo changed
-
branches/eam_branches/20090522/ippTools/src
- Property svn:ignore
-
old new 34 34 disttool 35 35 receivetool 36 37 pubtool
-
- Property svn:ignore
-
branches/eam_branches/20090522/ippTools/src/Makefile.am
r24038 r24557 20 20 stacktool \ 21 21 warptool \ 22 receivetool 22 receivetool \ 23 pubtool 23 24 24 25 … … 59 60 regtool.h \ 60 61 stacktool.h \ 61 warptool.h 62 warptool.h \ 63 pubtool.h 62 64 63 65 lib_LTLIBRARIES = libpxtools.la … … 220 222 receivetoolConfig.c 221 223 224 pubtool_CFLAGS = $(PSLIB_CFLAGS) $(PSMODULES_CFLAGS) $(IPPDB_CFLAGS) 225 pubtool_LDADD = $(PSLIB_LIBS) $(PSMODULES_LIBS) $(IPPDB_LIBS) libpxtools.la 226 pubtool_SOURCES = \ 227 pubtool.c \ 228 pubtoolConfig.c 229 222 230 clean-local: 223 231 -rm -f TAGS -
branches/eam_branches/20090522/ippTools/src/chiptool.c
r23919 r24557 473 473 PXOPT_LOOKUP_F32(n_cr, config->args, "-n_cr", false, false); 474 474 PXOPT_LOOKUP_STR(path_base, config->args, "-path_base", false, false); 475 PXOPT_LOOKUP_ BOOL(magicked, config->args, "-magicked", false);475 PXOPT_LOOKUP_S64(magicked, config->args, "-magicked", false, false); 476 476 477 477 // default values … … 601 601 PXOPT_COPY_STR(config->args, where, "-reduction", "chipRun.reduction", "=="); 602 602 pxAddLabelSearchArgs (config, where, "-label", "chipRun.label", "LIKE"); 603 PXOPT_COPY_S 32(config->args, where, "-magicked", "chipRun.magicked", "==");603 PXOPT_COPY_S64(config->args, where, "-magicked", "chipRun.magicked", "=="); 604 604 605 605 if (!psListLength(where->list) && -
branches/eam_branches/20090522/ippTools/src/difftool.c
r24225 r24557 49 49 static bool importrunMode(pxConfig *config); 50 50 51 static bool setdiffRunState(pxConfig *config, psS64 diff_id, const char *state, boolmagicked);51 static bool setdiffRunState(pxConfig *config, psS64 diff_id, const char *state, psS64 magicked); 52 52 static bool diffRunComplete(pxConfig *config); 53 53 … … 512 512 PXOPT_LOOKUP_STR(hostname, config->args, "-hostname", false, false); 513 513 PXOPT_LOOKUP_F32(good_frac, config->args, "-good_frac", false, false); 514 PXOPT_LOOKUP_ BOOL(magicked, config->args, "-magicked", false);514 PXOPT_LOOKUP_S64(magicked, config->args, "-magicked", false, false); 515 515 516 516 if (!psDBTransaction(config->dbh)) { … … 739 739 740 740 741 static bool setdiffRunState(pxConfig *config, psS64 diff_id, const char *state, boolmagicked)741 static bool setdiffRunState(pxConfig *config, psS64 diff_id, const char *state, psS64 magicked) 742 742 { 743 743 PS_ASSERT_PTR_NON_NULL(state, false); … … 749 749 } 750 750 751 char *query = "UPDATE diffRun SET state = '%s', magicked = % dWHERE diff_id = %"PRId64;751 char *query = "UPDATE diffRun SET state = '%s', magicked = %" PRId64 " WHERE diff_id = %"PRId64; 752 752 753 753 if (!p_psDBRunQueryF(config->dbh, query, state, magicked, diff_id)) { … … 803 803 false, 804 804 false, 805 false// magicked805 0 // magicked 806 806 ); 807 807 … … 1190 1190 false, // bothways 1191 1191 true, // exposure 1192 false// magicked1192 0 // magicked 1193 1193 ); 1194 1194 … … 1805 1805 1806 1806 psS64 diff_id = psMetadataLookupS64(NULL, row, "diff_id"); 1807 bool magicked = psMetadataLookupBool(NULL, row, "magicked");1807 psS64 magicked = psMetadataLookupS64(NULL, row, "magicked"); 1808 1808 1809 1809 // set diffRun.state to 'stop' -
branches/eam_branches/20090522/ippTools/src/disttool.c
r24125 r24557 488 488 PXOPT_COPY_STR(config->args, where, "-state", "state", "=="); 489 489 PXOPT_COPY_STR(config->args, where, "-label", "label", "=="); 490 PXOPT_COPY_S16(config->args, where, "-fault", "fault", "=="); 490 491 // we need to disambiguate fault so make a copy of the where list before adding fault 492 psMetadata *whereComponent = psMetadataCopy(NULL, where); 493 PXOPT_COPY_S16(config->args, where, "-fault", "distRun.fault", "=="); 494 PXOPT_COPY_S16(config->args, whereComponent, "-fault", "distComponent.fault", "=="); 491 495 492 496 // It might be useful to be able to query by the parameters of the underlying runs … … 533 537 534 538 numUpdated = psDBAffectedRows(config->dbh); 535 536 #ifdef notdef537 // don't need this. distRun.state may still be in 'new' state538 if (numUpdated < 1) {539 psError(PS_ERR_UNKNOWN, false, "should have affected at least 1 row");540 if (!psDBRollback(config->dbh)) {541 psError(PS_ERR_UNKNOWN, false, "database error");542 }543 return false;544 }545 #endif546 539 } 547 540 … … 560 553 } 561 554 562 if (psListLength(where ->list)) {563 psString whereClause = psDBGenerateWhereConditionSQL(where , NULL);555 if (psListLength(whereComponent->list)) { 556 psString whereClause = psDBGenerateWhereConditionSQL(whereComponent, NULL); 564 557 psStringAppend(&query, " AND %s", whereClause); 565 558 psFree(whereClause); … … 582 575 583 576 psFree(where); 577 psFree(whereComponent); 584 578 585 579 if (!psDBCommit(config->dbh)) { … … 598 592 PXOPT_COPY_S64(config->args, where, "-dist_id", "dist_id", "=="); 599 593 PXOPT_COPY_STR(config->args, where, "-stage", "stage", "=="); 600 PXOPT_COPY_STR(config->args, where, "-label", "label", "==");594 pxAddLabelSearchArgs (config, where, "-label", "label", "=="); 601 595 602 596 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); … … 719 713 psMetadata *where = psMetadataAlloc(); 720 714 PXOPT_COPY_S64(config->args, where, "-dist_id", "dist_id", "=="); 721 PXOPT_COPY_STR(config->args, where, "-label", "label", "==");715 pxAddLabelSearchArgs (config, where, "-label", "label", "=="); 722 716 723 717 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); … … 863 857 psMetadata *where = psMetadataAlloc(); 864 858 PXOPT_COPY_S64(config->args, where, "-dist_id", "dist_id", "=="); 865 PXOPT_COPY_STR(config->args, where, "-label", "label", "==");859 pxAddLabelSearchArgs (config, where, "-label", "label", "=="); 866 860 867 861 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); -
branches/eam_branches/20090522/ippTools/src/disttoolConfig.c
r24001 r24557 98 98 psMetadataAddS64(pendingcomponentArgs, PS_LIST_TAIL, "-dist_id", 0, "define dist_id", 0); 99 99 psMetadataAddStr(pendingcomponentArgs, PS_LIST_TAIL, "-stage", 0, "limit results to runs for stage", NULL); 100 psMetadataAddStr(pendingcomponentArgs, PS_LIST_TAIL, "-label", 0, "limit results to label", NULL);100 psMetadataAddStr(pendingcomponentArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "limit results to label", NULL); 101 101 psMetadataAddU64(pendingcomponentArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 102 102 psMetadataAddBool(pendingcomponentArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); … … 121 121 psMetadata *toadvanceArgs = psMetadataAlloc(); 122 122 psMetadataAddS64(toadvanceArgs, PS_LIST_TAIL, "-dist_id", 0, "define dist_id", 0); 123 psMetadataAddStr(toadvanceArgs, PS_LIST_TAIL, "-label", 0, "limit updates to label", NULL);123 psMetadataAddStr(toadvanceArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "limit updates to label", NULL); 124 124 psMetadataAddU64(toadvanceArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 125 125 psMetadataAddBool(toadvanceArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); … … 128 128 psMetadata *pendingfilesetArgs = psMetadataAlloc(); 129 129 psMetadataAddS64(pendingfilesetArgs, PS_LIST_TAIL, "-dist_id", 0, "define dist_id", 0); 130 psMetadataAddStr(pendingfilesetArgs, PS_LIST_TAIL, "-label", 0, "limit results to label", NULL);130 psMetadataAddStr(pendingfilesetArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "limit results to label", NULL); 131 131 psMetadataAddStr(pendingfilesetArgs, PS_LIST_TAIL, "-stage", 0, "limit results to runs for stage", NULL); 132 132 psMetadataAddU64(pendingfilesetArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); … … 145 145 psMetadataAddU64(pendingdestArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 146 146 psMetadataAddBool(pendingdestArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 147 psMetadataAddStr(pendingdestArgs, PS_LIST_TAIL, "-label", 0, "limit results to label", NULL);147 psMetadataAddStr(pendingdestArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "limit results to label", NULL); 148 148 149 149 // -revertfileset -
branches/eam_branches/20090522/ippTools/src/faketool.c
r24186 r24557 235 235 bool status; 236 236 char *end_stage = psMetadataLookupStr(&status, md, "end_stage"); 237 if (end_stage && strcasecmp(end_stage, "warp")) continue;237 if (end_stage && strcasecmp(end_stage, "warp")) continue; 238 238 239 239 char *raw_tess_id = psMetadataLookupStr(&status, md, "tess_id"); 240 if (raw_tess_id || tess_id) continue;240 if (raw_tess_id || tess_id) continue; 241 241 242 242 char *label = psMetadataLookupStr(&status, md, "label"); … … 244 244 245 245 if (!status) { 246 psError(PS_ERR_UNKNOWN, false, "cannot queue analysis to WARP without a defined tess id: label: %s, exp_id %" PRId64, label, exp_id);246 psError(PS_ERR_UNKNOWN, false, "cannot queue analysis to WARP without a defined tess id: label: %s, exp_id %" PRId64, label, exp_id); 247 247 psFree(output); 248 248 return false; … … 455 455 456 456 if (where && psListLength(where->list)) { 457 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);458 psStringAppend(&query, " WHERE%s", whereClause);457 psString whereClause = psDBGenerateWhereConditionSQL(where, "fakeRun"); 458 psStringAppend(&query, " AND %s", whereClause); 459 459 psFree(whereClause); 460 460 } … … 1157 1157 // pxwarpQueueByFakeID() can only be run after fakeRun.state has been set to stop 1158 1158 if (!pxwarpQueueByFakeID(config, 1159 fakeRun->fake_id, 1160 fakeRun->workdir, 1161 fakeRun->label, 1162 fakeRun->dvodb, 1163 fakeRun->tess_id, 1164 fakeRun->end_stage 1159 fakeRun->fake_id, 1160 fakeRun->workdir, 1161 fakeRun->label, 1162 fakeRun->dvodb, 1163 fakeRun->tess_id, 1164 fakeRun->reduction, 1165 fakeRun->end_stage 1165 1166 )) { 1166 1167 psError(PS_ERR_UNKNOWN, false, "failed to queue warpRun"); -
branches/eam_branches/20090522/ippTools/src/magicdstool.c
r23974 r24557 38 38 static bool revertdestreakedfileMode(pxConfig *config); 39 39 static bool getskycellsMode(pxConfig *config); 40 static bool toremoveMode(pxConfig *config); 41 static bool torestoreMode(pxConfig *config); 40 42 41 43 static bool setmagicDSRunState(pxConfig *config, psS64 magic_id, const char *state); … … 68 70 MODECASE(MAGICDSTOOL_MODE_REVERTDESTREAKEDFILE,revertdestreakedfileMode); 69 71 MODECASE(MAGICDSTOOL_MODE_GETSKYCELLS, getskycellsMode); 72 MODECASE(MAGICDSTOOL_MODE_TOREMOVE, toremoveMode); 73 MODECASE(MAGICDSTOOL_MODE_TORESTORE, torestoreMode); 70 74 default: 71 75 psAbort("invalid option (this should not happen)"); … … 501 505 // chose the appropriate query based on the stage 502 506 if (!strcmp(stage, "raw")) { 503 query = "UPDATE rawImfile SET magicked = 1where exp_id = %" PRId64 " AND class_id = '%s'";507 query = "UPDATE rawImfile SET magicked = %" PRId64 " where exp_id = %" PRId64 " AND class_id = '%s'"; 504 508 } else if (!strcmp(stage, "chip")) { 505 query = "UPDATE chipProcessedImfile SET magicked = 1where chip_id = %" PRId64 " AND class_id = '%s'";509 query = "UPDATE chipProcessedImfile SET magicked = %" PRId64 " where chip_id = %" PRId64 " AND class_id = '%s'"; 506 510 } else if (!strcmp(stage, "warp")) { 507 query = "UPDATE warpSkyfile SET magicked = 1where warp_id = %" PRId64 " AND skycell_id = '%s'";511 query = "UPDATE warpSkyfile SET magicked = %" PRId64 " where warp_id = %" PRId64 " AND skycell_id = '%s'"; 508 512 } else if (!strcmp(stage, "diff")) { 509 query = "UPDATE diffSkyfile SET magicked = 1where diff_id = %" PRId64 " AND skycell_id = '%s'";513 query = "UPDATE diffSkyfile SET magicked = %" PRId64 " where diff_id = %" PRId64 " AND skycell_id = '%s'"; 510 514 } else { 511 515 psError(PS_ERR_UNKNOWN, true, "unexpected value for stage: %s found", stage); … … 513 517 return false; 514 518 } 515 if (!p_psDBRunQueryF(config->dbh, query, stage_id, component)) {519 if (!p_psDBRunQueryF(config->dbh, query, magic_ds_id, stage_id, component)) { 516 520 psError(PS_ERR_UNKNOWN, false, "database error"); 517 521 return false; … … 563 567 // chose the appropriate query based on the stage 564 568 if (!strcmp(stage, "raw")) { 565 query = "UPDATE rawExp SET magicked = 1where exp_id = %" PRId64;569 query = "UPDATE rawExp SET magicked = %" PRId64 " where exp_id = %" PRId64; 566 570 } else if (!strcmp(stage, "chip")) { 567 query = "UPDATE chipRun SET magicked = 1where chip_id = %" PRId64;571 query = "UPDATE chipRun SET magicked = %" PRId64 " where chip_id = %" PRId64; 568 572 } else if (!strcmp(stage, "warp")) { 569 query = "UPDATE warpRun SET magicked = 1where warp_id = %" PRId64;573 query = "UPDATE warpRun SET magicked = %" PRId64 " where warp_id = %" PRId64; 570 574 } else if (!strcmp(stage, "diff")) { 571 query = "UPDATE diffRun SET magicked = 1where diff_id = %" PRId64;575 query = "UPDATE diffRun SET magicked = %" PRId64 " where diff_id = %" PRId64; 572 576 } else { 573 577 psError(PS_ERR_UNKNOWN, true, "unexpected value for stage: %s found", stage); … … 575 579 return false; 576 580 } 577 if (!p_psDBRunQueryF(config->dbh, query, stage_id)) {581 if (!p_psDBRunQueryF(config->dbh, query, magic_ds_id, stage_id)) { 578 582 psError(PS_ERR_UNKNOWN, false, "database error"); 579 583 return false; … … 625 629 } 626 630 627 if (!magicDSFileInsert(config->dbh, magic_ds_id, component, backup_path_base, recovery_path_base, fault )) {631 if (!magicDSFileInsert(config->dbh, magic_ds_id, component, backup_path_base, recovery_path_base, fault, "full")) { 628 632 // rollback 629 633 if (!psDBRollback(config->dbh)) { … … 889 893 } 890 894 895 static bool toremoveMode(pxConfig *config) 896 { 897 PS_ASSERT_PTR_NON_NULL(config, false); 898 899 psMetadata *where = psMetadataAlloc(); 900 PXOPT_COPY_S64(config->args, where, "-magic_ds_id", "magic_ds_id", "=="); 901 PXOPT_COPY_S64(config->args, where, "-magic_id", "magic_id", "=="); 902 pxAddLabelSearchArgs (config, where, "-label", "label", "=="); 903 904 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 905 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 906 907 // look for "inputs" that need to processed 908 psString query = pxDataGet("magicdstool_toremove.sql"); 909 if (!query) { 910 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 911 return false; 912 } 913 914 if (psListLength(where->list)) { 915 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 916 psStringAppend(&query, " WHERE %s", whereClause); 917 psFree(whereClause); 918 } 919 psFree(where); 920 921 // treat limit == 0 as "no limit" 922 if (limit) { 923 psString limitString = psDBGenerateLimitSQL(limit); 924 psStringAppend(&query, " %s", limitString); 925 psFree(limitString); 926 } 927 928 if (!p_psDBRunQuery(config->dbh, query)) { 929 psError(PS_ERR_UNKNOWN, false, "database error"); 930 psFree(query); 931 return false; 932 } 933 psFree(query); 934 935 psArray *output = p_psDBFetchResult(config->dbh); 936 if (!output) { 937 psErrorCode err = psErrorCodeLast(); 938 switch (err) { 939 case PS_ERR_DB_CLIENT: 940 psError(PXTOOLS_ERR_SYS, false, "database error"); 941 case PS_ERR_DB_SERVER: 942 psError(PXTOOLS_ERR_PROG, false, "database error"); 943 default: 944 psError(PXTOOLS_ERR_PROG, false, "unknown error"); 945 } 946 947 return false; 948 } 949 if (!psArrayLength(output)) { 950 psTrace("magicdstool", PS_LOG_INFO, "no rows found"); 951 psFree(output); 952 return true; 953 } 954 955 if (psArrayLength(output)) { 956 // negative simple so the default is true 957 if (!ippdbPrintMetadatas(stdout, output, "toremove", !simple)) { 958 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 959 psFree(output); 960 return false; 961 } 962 } 963 964 psFree(output); 965 966 return true; 967 } 968 static bool torestoreMode(pxConfig *config) 969 { 970 PS_ASSERT_PTR_NON_NULL(config, false); 971 972 psMetadata *where = psMetadataAlloc(); 973 PXOPT_COPY_S64(config->args, where, "-magic_ds_id", "magic_ds_id", "=="); 974 PXOPT_COPY_S64(config->args, where, "-magic_id", "magic_id", "=="); 975 pxAddLabelSearchArgs (config, where, "-label", "label", "=="); 976 977 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 978 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 979 980 // look for "inputs" that need to processed 981 psString query = pxDataGet("magicdstool_torestore.sql"); 982 if (!query) { 983 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 984 return false; 985 } 986 987 if (psListLength(where->list)) { 988 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 989 psStringAppend(&query, " WHERE %s", whereClause); 990 psFree(whereClause); 991 } 992 psFree(where); 993 994 // treat limit == 0 as "no limit" 995 if (limit) { 996 psString limitString = psDBGenerateLimitSQL(limit); 997 psStringAppend(&query, " %s", limitString); 998 psFree(limitString); 999 } 1000 1001 if (!p_psDBRunQuery(config->dbh, query)) { 1002 psError(PS_ERR_UNKNOWN, false, "database error"); 1003 psFree(query); 1004 return false; 1005 } 1006 psFree(query); 1007 1008 psArray *output = p_psDBFetchResult(config->dbh); 1009 if (!output) { 1010 psErrorCode err = psErrorCodeLast(); 1011 switch (err) { 1012 case PS_ERR_DB_CLIENT: 1013 psError(PXTOOLS_ERR_SYS, false, "database error"); 1014 case PS_ERR_DB_SERVER: 1015 psError(PXTOOLS_ERR_PROG, false, "database error"); 1016 default: 1017 psError(PXTOOLS_ERR_PROG, false, "unknown error"); 1018 } 1019 1020 return false; 1021 } 1022 if (!psArrayLength(output)) { 1023 psTrace("magicdstool", PS_LOG_INFO, "no rows found"); 1024 psFree(output); 1025 return true; 1026 } 1027 1028 if (psArrayLength(output)) { 1029 // negative simple so the default is true 1030 if (!ippdbPrintMetadatas(stdout, output, "torestore", !simple)) { 1031 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 1032 psFree(output); 1033 return false; 1034 } 1035 } 1036 1037 psFree(output); 1038 1039 return true; 1040 } -
branches/eam_branches/20090522/ippTools/src/magicdstool.h
r20764 r24557 32 32 MAGICDSTOOL_MODE_REVERTDESTREAKEDFILE, 33 33 MAGICDSTOOL_MODE_GETSKYCELLS, 34 MAGICDSTOOL_MODE_TOREMOVE, 35 MAGICDSTOOL_MODE_TORESTORE, 34 36 } MAGICDStoolMode; 35 37 -
branches/eam_branches/20090522/ippTools/src/magicdstoolConfig.c
r23974 r24557 114 114 psMetadataAddBool(getskycellsArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 115 115 116 // -toremove 117 psMetadata *toremoveArgs = psMetadataAlloc(); 118 psMetadataAddS64(toremoveArgs, PS_LIST_TAIL, "-magic_ds_id", 0, "search by magic Destreak ID", 0); 119 psMetadataAddS64(toremoveArgs, PS_LIST_TAIL, "-magic_id", 0, "search by magic ID", 0); 120 psMetadataAddStr(toremoveArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "define label", NULL); 121 psMetadataAddU64(toremoveArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 122 psMetadataAddBool(toremoveArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 123 124 // -torestore 125 psMetadata *torestoreArgs = psMetadataAlloc(); 126 psMetadataAddS64(torestoreArgs, PS_LIST_TAIL, "-magic_ds_id", 0, "search by magic Destreak ID", 0); 127 psMetadataAddS64(torestoreArgs, PS_LIST_TAIL, "-magic_id", 0, "search by magic ID", 0); 128 psMetadataAddStr(torestoreArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "define label", NULL); 129 psMetadataAddU64(torestoreArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 130 psMetadataAddBool(torestoreArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 131 116 132 psFree(now); 117 133 … … 133 149 PXOPT_ADD_MODE("-getskycells", "get skycell files ", 134 150 MAGICDSTOOL_MODE_GETSKYCELLS, getskycellsArgs); 151 PXOPT_ADD_MODE("-toremove", "backup images pending removal", 152 MAGICDSTOOL_MODE_TOREMOVE, toremoveArgs); 153 PXOPT_ADD_MODE("-torestore", "images pending restore of exicsed streak pixels", 154 MAGICDSTOOL_MODE_TORESTORE, torestoreArgs); 135 155 136 156 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) { -
branches/eam_branches/20090522/ippTools/src/magictool.c
r24214 r24557 47 47 static bool revertmaskMode(pxConfig *config); 48 48 static bool maskMode(pxConfig *config); 49 static bool diffskyfileMode(pxConfig *config);50 static bool warpskyfileMode(pxConfig *config);51 static bool chipprocessedimfileMode(pxConfig *config);52 static bool rawimfileMode(pxConfig *config);53 54 49 55 50 static bool setmagicRunState(pxConfig *config, psS64 magic_id, const char *state); … … 90 85 MODECASE(MAGICTOOL_MODE_REVERTMASK, revertmaskMode); 91 86 MODECASE(MAGICTOOL_MODE_MASK, maskMode); 92 MODECASE(MAGICTOOL_MODE_DIFFSKYFILE, diffskyfileMode);93 MODECASE(MAGICTOOL_MODE_WARPSKYFILE, warpskyfileMode);94 MODECASE(MAGICTOOL_MODE_CHIPPROCESSEDIMFILE, chipprocessedimfileMode);95 MODECASE(MAGICTOOL_MODE_RAWIMFILE, rawimfileMode);96 87 default: 97 88 psAbort("invalid option (this should not happen)"); … … 1306 1297 } 1307 1298 1308 1309 static bool diffskyfileMode(pxConfig *config)1310 {1311 PS_ASSERT_PTR_NON_NULL(config, false);1312 1313 psMetadata *where = psMetadataAlloc();1314 PXOPT_COPY_S64(config->args, where, "-magic_id", "magicRun.magic_id", "==");1315 PXOPT_COPY_STR(config->args, where, "-class_id", "warpSkyCellMap.class_id", "==");1316 PXOPT_COPY_STR(config->args, where, "-skycell_id", "warpSkyCellMap.skycell_id", "==");1317 1318 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);1319 1320 psString query = pxDataGet("magictool_diffskyfile.sql");1321 if (!query) {1322 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");1323 return false;1324 }1325 1326 if (psListLength(where->list)) {1327 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);1328 psStringAppend(&query, " AND %s", whereClause);1329 psFree(whereClause);1330 }1331 psFree(where);1332 1333 if (!p_psDBRunQuery(config->dbh, query)) {1334 psError(PS_ERR_UNKNOWN, false, "database error");1335 psFree(query);1336 return false;1337 }1338 psFree(query);1339 1340 psArray *output = p_psDBFetchResult(config->dbh);1341 if (!output) {1342 psErrorCode err = psErrorCodeLast();1343 switch (err) {1344 case PS_ERR_DB_CLIENT:1345 psError(PXTOOLS_ERR_SYS, false, "database error");1346 case PS_ERR_DB_SERVER:1347 psError(PXTOOLS_ERR_PROG, false, "database error");1348 default:1349 psError(PXTOOLS_ERR_PROG, false, "unknown error");1350 }1351 1352 return false;1353 }1354 if (!psArrayLength(output)) {1355 psTrace("magictool", PS_LOG_INFO, "no rows found");1356 psFree(output);1357 return true;1358 }1359 1360 if (psArrayLength(output)) {1361 // negative simple so the default is true1362 if (!ippdbPrintMetadatas(stdout, output, "magicDiffSkyfile", !simple)) {1363 psError(PS_ERR_UNKNOWN, false, "failed to print array");1364 psFree(output);1365 return false;1366 }1367 }1368 1369 psFree(output);1370 1371 return true;1372 }1373 1374 1375 static bool warpskyfileMode(pxConfig *config)1376 {1377 PS_ASSERT_PTR_NON_NULL(config, false);1378 1379 psMetadata *where = psMetadataAlloc();1380 PXOPT_COPY_S64(config->args, where, "-magic_id", "magicRun.magic_id", "==");1381 PXOPT_COPY_STR(config->args, where, "-skycell_id", "warpSkyfile.skycell_id", "==");1382 1383 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);1384 1385 psString query = pxDataGet("magictool_warpskyfile.sql");1386 if (!query) {1387 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");1388 return false;1389 }1390 1391 if (psListLength(where->list)) {1392 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);1393 psStringAppend(&query, " AND %s", whereClause);1394 psFree(whereClause);1395 }1396 psFree(where);1397 1398 if (!p_psDBRunQuery(config->dbh, query)) {1399 psError(PS_ERR_UNKNOWN, false, "database error");1400 psFree(query);1401 return false;1402 }1403 psFree(query);1404 1405 psArray *output = p_psDBFetchResult(config->dbh);1406 if (!output) {1407 psErrorCode err = psErrorCodeLast();1408 switch (err) {1409 case PS_ERR_DB_CLIENT:1410 psError(PXTOOLS_ERR_SYS, false, "database error");1411 case PS_ERR_DB_SERVER:1412 psError(PXTOOLS_ERR_PROG, false, "database error");1413 default:1414 psError(PXTOOLS_ERR_PROG, false, "unknown error");1415 }1416 1417 return false;1418 }1419 if (!psArrayLength(output)) {1420 psTrace("magictool", PS_LOG_INFO, "no rows found");1421 psFree(output);1422 return true;1423 }1424 1425 if (psArrayLength(output)) {1426 // negative simple so the default is true1427 if (!ippdbPrintMetadatas(stdout, output, "magicWarpSkyfile", !simple)) {1428 psError(PS_ERR_UNKNOWN, false, "failed to print array");1429 psFree(output);1430 return false;1431 }1432 }1433 1434 psFree(output);1435 1436 return true;1437 }1438 1439 1440 static bool chipprocessedimfileMode(pxConfig *config)1441 {1442 PS_ASSERT_PTR_NON_NULL(config, false);1443 1444 psMetadata *where = psMetadataAlloc();1445 PXOPT_COPY_S64(config->args, where, "-magic_id", "magicRun.magic_id", "==");1446 PXOPT_COPY_STR(config->args, where, "-class_id", "warpSkyCellMap.class_id", "==");1447 1448 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);1449 1450 psString query = pxDataGet("magictool_chipprocessedimfile.sql");1451 if (!query) {1452 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");1453 return false;1454 }1455 1456 if (psListLength(where->list)) {1457 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);1458 psStringAppend(&query, " AND %s", whereClause);1459 psFree(whereClause);1460 }1461 psFree(where);1462 1463 if (!p_psDBRunQuery(config->dbh, query)) {1464 psError(PS_ERR_UNKNOWN, false, "database error");1465 psFree(query);1466 return false;1467 }1468 psFree(query);1469 1470 psArray *output = p_psDBFetchResult(config->dbh);1471 if (!output) {1472 psErrorCode err = psErrorCodeLast();1473 switch (err) {1474 case PS_ERR_DB_CLIENT:1475 psError(PXTOOLS_ERR_SYS, false, "database error");1476 case PS_ERR_DB_SERVER:1477 psError(PXTOOLS_ERR_PROG, false, "database error");1478 default:1479 psError(PXTOOLS_ERR_PROG, false, "unknown error");1480 }1481 1482 return false;1483 }1484 if (!psArrayLength(output)) {1485 psTrace("magictool", PS_LOG_INFO, "no rows found");1486 psFree(output);1487 return true;1488 }1489 1490 if (psArrayLength(output)) {1491 // negative simple so the default is true1492 if (!ippdbPrintMetadatas(stdout, output, "magicChipProcessedImfile", !simple)) {1493 psError(PS_ERR_UNKNOWN, false, "failed to print array");1494 psFree(output);1495 return false;1496 }1497 }1498 1499 psFree(output);1500 1501 return true;1502 }1503 1504 1505 static bool rawimfileMode(pxConfig *config)1506 {1507 PS_ASSERT_PTR_NON_NULL(config, false);1508 1509 psMetadata *where = psMetadataAlloc();1510 PXOPT_COPY_S64(config->args, where, "-magic_id", "magicRun.magic_id", "==");1511 PXOPT_COPY_STR(config->args, where, "-class_id", "warpSkyCellMap.class_id", "==");1512 1513 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);1514 1515 psString query = pxDataGet("magictool_rawimfile.sql");1516 if (!query) {1517 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");1518 return false;1519 }1520 1521 if (psListLength(where->list)) {1522 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);1523 psStringAppend(&query, " AND %s", whereClause);1524 psFree(whereClause);1525 }1526 psFree(where);1527 1528 if (!p_psDBRunQuery(config->dbh, query)) {1529 psError(PS_ERR_UNKNOWN, false, "database error");1530 psFree(query);1531 return false;1532 }1533 psFree(query);1534 1535 psArray *output = p_psDBFetchResult(config->dbh);1536 if (!output) {1537 psErrorCode err = psErrorCodeLast();1538 switch (err) {1539 case PS_ERR_DB_CLIENT:1540 psError(PXTOOLS_ERR_SYS, false, "database error");1541 case PS_ERR_DB_SERVER:1542 psError(PXTOOLS_ERR_PROG, false, "database error");1543 default:1544 psError(PXTOOLS_ERR_PROG, false, "unknown error");1545 }1546 1547 return false;1548 }1549 if (!psArrayLength(output)) {1550 psTrace("magictool", PS_LOG_INFO, "no rows found");1551 psFree(output);1552 return true;1553 }1554 1555 if (psArrayLength(output)) {1556 // negative simple so the default is true1557 if (!ippdbPrintMetadatas(stdout, output, "magicRawImfile", !simple)) {1558 psError(PS_ERR_UNKNOWN, false, "failed to print array");1559 psFree(output);1560 return false;1561 }1562 }1563 1564 psFree(output);1565 1566 return true;1567 }1568 1569 1570 1299 static bool setmagicRunState(pxConfig *config, psS64 magic_id, const char *state) 1571 1300 { -
branches/eam_branches/20090522/ippTools/src/magictoolConfig.c
r24174 r24557 160 160 psMetadataAddBool(maskArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 161 161 162 #ifdef notdef 162 163 // -diffskyfile 163 164 psMetadata *diffskyfileArgs = psMetadataAlloc(); … … 184 185 psMetadataAddStr(rawimfileArgs, PS_LIST_TAIL, "-class_id", 0, "define class identifier", NULL); 185 186 psMetadataAddBool(rawimfileArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 187 #endif // notdef 186 188 187 189 psFree(now); … … 206 208 PXOPT_ADD_MODE("-revertmask", "", MAGICTOOL_MODE_REVERTMASK, revertmaskArgs); 207 209 PXOPT_ADD_MODE("-mask", "", MAGICTOOL_MODE_MASK, maskArgs); 210 #ifdef notdef 208 211 PXOPT_ADD_MODE("-diffskyfile", "", MAGICTOOL_MODE_DIFFSKYFILE, diffskyfileArgs); 209 212 PXOPT_ADD_MODE("-warpskyfile", "", MAGICTOOL_MODE_WARPSKYFILE, warpskyfileArgs); 210 213 PXOPT_ADD_MODE("-chipprocessedimfile", "", MAGICTOOL_MODE_CHIPPROCESSEDIMFILE, chipprocessedimfileArgs); 211 214 PXOPT_ADD_MODE("-rawimfile", "", MAGICTOOL_MODE_RAWIMFILE, rawimfileArgs); 215 #endif 212 216 213 217 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) { -
branches/eam_branches/20090522/ippTools/src/pxchip.c
r23418 r24557 175 175 psString query = psStringCopy("UPDATE chipRun JOIN rawExp USING(exp_id) SET state = '%s'"); 176 176 177 if (where ) {177 if (where && psListLength(where->list) > 0) { 178 178 psString whereClause = psDBGenerateWhereSQL(where, NULL); 179 179 psStringAppend(&query, " %s", whereClause); … … 216 216 psString query = psStringCopy("UPDATE chipRun JOIN rawExp USING(exp_id) SET label = '%s'"); 217 217 218 if (where ) {218 if (where && psListLength(where->list) > 0) { 219 219 psString whereClause = psDBGenerateWhereSQL(where, NULL); 220 220 psStringAppend(&query, " %s", whereClause); … … 264 264 dvodb, 265 265 tess_id, 266 end_stage, 266 end_stage, 267 267 0 // magicked 268 268 ) … … 277 277 psS64 chip_id = psDBLastInsertID(config->dbh); 278 278 279 // Create rows in chipImfile table for each input exposure. 279 // Create rows in chipImfile table for each input exposure. 280 280 // This creates the chip_image_id values 281 281 psString query = "INSERT INTO chipImfile " … … 295 295 return 0; 296 296 } 297 297 298 298 return chip_id; 299 299 } -
branches/eam_branches/20090522/ippTools/src/pxwarp.c
r23613 r24557 126 126 127 127 bool pxwarpQueueByFakeID(pxConfig *config, 128 psS64 fake_id, 129 char *workdir, 130 char *label, 131 char *dvodb, 132 char *tess_id, 133 char *end_stage) 128 psS64 fake_id, 129 const char *workdir, 130 const char *label, 131 const char *dvodb, 132 const char *tess_id, 133 const char *reduction, 134 const char *end_stage) 134 135 { 135 136 PS_ASSERT_PTR_NON_NULL(config, false); … … 146 147 dvodb, 147 148 tess_id, 149 reduction, 148 150 end_stage, 149 151 NULL, // registered -
branches/eam_branches/20090522/ippTools/src/pxwarp.h
r23613 r24557 31 31 32 32 bool pxwarpQueueByFakeID(pxConfig *config, 33 psS64 fake_id, 34 char *workdir, 35 char *label, 36 char *dvodb, 37 char *tess_id, 38 char *end_stage); 33 psS64 fake_id, 34 const char *workdir, 35 const char *label, 36 const char *dvodb, 37 const char *tess_id, 38 const char *reduction, 39 const char *end_stage); 39 40 40 41 #endif // PXWARP_H -
branches/eam_branches/20090522/ippTools/src/warptool.c
r24186 r24557 38 38 static bool tooverlapMode(pxConfig *config); 39 39 static bool addoverlapMode(pxConfig *config); 40 static bool revertoverlapMode(pxConfig *config); 40 41 static bool scmapMode(pxConfig *config); 41 42 static bool towarpedMode(pxConfig *config); … … 86 87 MODECASE(WARPTOOL_MODE_TOOVERLAP, tooverlapMode); 87 88 MODECASE(WARPTOOL_MODE_ADDOVERLAP, addoverlapMode); 89 MODECASE(WARPTOOL_MODE_REVERTOVERLAP, revertoverlapMode); 88 90 MODECASE(WARPTOOL_MODE_SCMAP, scmapMode); 89 91 MODECASE(WARPTOOL_MODE_TOWARPED, towarpedMode); … … 137 139 PXOPT_LOOKUP_STR(dvodb, config->args, "-dvodb", false, false); 138 140 PXOPT_LOOKUP_STR(tess_id, config->args, "-tess_id", true, false); // required (no default TESS) 141 PXOPT_LOOKUP_STR(reduction, config->args, "-reduction", false, false); // required (no default TESS) 139 142 PXOPT_LOOKUP_STR(end_stage, config->args, "-end_stage", false, false); 140 143 PXOPT_LOOKUP_TIME(registered, config->args, "-registered", false, false); … … 157 160 dvodb, 158 161 tess_id, 162 reduction, 159 163 end_stage, 160 164 registered, 161 false// magicked165 0 // magicked 162 166 ); 163 167 if (!warpRun) { … … 247 251 PXOPT_LOOKUP_STR(dvodb, config->args, "-set_dvodb", false, false); 248 252 PXOPT_LOOKUP_STR(tess_id, config->args, "-set_tess_id", false, false); 253 PXOPT_LOOKUP_STR(reduction, config->args, "-set_reduction", false, false); 249 254 PXOPT_LOOKUP_STR(end_stage, config->args, "-set_end_stage", false, false); 250 255 … … 308 313 } 309 314 310 if (!tess_id && !row->tess_id) {311 psError(PS_ERR_UNKNOWN, false, "cannot queue warp run without a defined tess id: label: %s, fake_id %" PRId64, row->label, row->fake_id);315 if (!tess_id && !row->tess_id) { 316 psError(PS_ERR_UNKNOWN, false, "cannot queue warp run without a defined tess id: label: %s, fake_id %" PRId64, row->label, row->fake_id); 312 317 psFree(output); 313 318 return false; 314 }319 } 315 320 316 321 psFree(row); 317 322 } 318 psFree(output);319 323 320 324 // loop over our list of fakeRun rows … … 331 335 // queue the exp 332 336 if (!pxwarpQueueByFakeID(config, 333 row->fake_id, 334 workdir ? workdir : row->workdir, 335 label ? label : row->label, 336 dvodb ? dvodb : row->dvodb, 337 tess_id ? tess_id : row->tess_id, 338 end_stage ? end_stage : row->end_stage)) 337 row->fake_id, 338 workdir ? workdir : row->workdir, 339 label ? label : row->label, 340 dvodb ? dvodb : row->dvodb, 341 tess_id ? tess_id : row->tess_id, 342 reduction ? reduction : row->reduction, 343 end_stage ? end_stage : row->end_stage)) 339 344 { 340 345 psError(PS_ERR_UNKNOWN, false, "failed to trying to queue fake_id: %" PRId64, row->fake_id); … … 651 656 warpSkyCellMapInsert(config->dbh, 652 657 warp_id, 653 NULL, // skycell_id654 NULL, // tess_id655 NULL, // class_id658 "faulted", // skycell_id 659 "faulted", // tess_id 660 "faulted", // class_id 656 661 fault // fault 657 662 ); … … 666 671 return true; 667 672 } 673 674 static bool revertoverlapMode(pxConfig *config) 675 { 676 PS_ASSERT_PTR_NON_NULL(config, false); 677 678 psMetadata *where = psMetadataAlloc(); 679 PXOPT_COPY_S64(config->args, where, "-warp_id", "warpSkyCellMap.warp_id", "=="); 680 PXOPT_COPY_STR(config->args, where, "-skycell_id", "warpSkyCellMap.skycell_id", "=="); 681 PXOPT_COPY_STR(config->args, where, "-tess_id", "warpSkyCellMap.tess_id", "=="); 682 PXOPT_COPY_STR(config->args, where, "-label", "warpRun.label", "=="); 683 PXOPT_COPY_S16(config->args, where, "-fault", "warpSkyCellMap.fault", "=="); 684 685 if (!psListLength(where->list) 686 && !psMetadataLookupBool(NULL, config->args, "-all")) { 687 psFree(where); 688 psError(PXTOOLS_ERR_DATA, false, "search parameters are required"); 689 return false; 690 } 691 692 int numDeleted; // Number deleted 693 { 694 psString query = pxDataGet("warptool_revertoverlap.sql"); 695 if (!query) { 696 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 697 if (!psDBRollback(config->dbh)) { 698 psError(PS_ERR_UNKNOWN, false, "database error"); 699 } 700 return false; 701 } 702 703 if (psListLength(where->list)) { 704 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 705 psStringAppend(&query, " AND %s", whereClause); 706 psFree(whereClause); 707 } 708 709 if (!p_psDBRunQuery(config->dbh, query)) { 710 psError(PS_ERR_UNKNOWN, false, "database error"); 711 psFree(query); 712 if (!psDBRollback(config->dbh)) { 713 psError(PS_ERR_UNKNOWN, false, "database error"); 714 } 715 return false; 716 } 717 psFree(query); 718 719 numDeleted = psDBAffectedRows(config->dbh); 720 } 721 722 psLogMsg("warptool", PS_LOG_INFO, "Deleted %d warpSkycellMap", numDeleted); 723 724 psFree(where); 725 726 return true; 727 } 728 668 729 669 730 … … 919 980 PXOPT_LOOKUP_STR(hostname, config->args, "-hostname", false, false); 920 981 PXOPT_LOOKUP_F32(good_frac, config->args, "-good_frac", false, false); 921 PXOPT_LOOKUP_ BOOL(magicked, config->args, "-magicked", false);982 PXOPT_LOOKUP_S64(magicked, config->args, "-magicked", false, false); 922 983 923 984 // default values … … 1023 1084 return false; 1024 1085 } 1025 psS 32magicked = psMetadataLookupS64(&status, row, "magicked");1086 psS64 magicked = psMetadataLookupS64(&status, row, "magicked"); 1026 1087 if (!status) { 1027 1088 psError(PS_ERR_UNKNOWN, false, "failed to look up value for magicked"); … … 1224 1285 } 1225 1286 1226 1227 // Update state to 'new'1228 int numUpdated; // Number updated1229 {1230 // This query is no longer necessary because we do not set warpRun's to full statte1231 // if they have faulted skyfiles.1232 // We do have runs in the DB that follow the old convention so we leave this in for1233 // now1234 psString query = pxDataGet("warptool_revertwarped_update.sql");1235 if (!query) {1236 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");1237 if (!psDBRollback(config->dbh)) {1238 psError(PS_ERR_UNKNOWN, false, "database error");1239 }1240 return false;1241 }1242 1243 if (psListLength(where->list)) {1244 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);1245 psStringAppend(&query, " AND %s", whereClause);1246 psFree(whereClause);1247 }1248 1249 if (!p_psDBRunQuery(config->dbh, query)) {1250 psError(PS_ERR_UNKNOWN, false, "database error");1251 psFree(query);1252 if (!psDBRollback(config->dbh)) {1253 psError(PS_ERR_UNKNOWN, false, "database error");1254 }1255 return false;1256 }1257 psFree(query);1258 1259 numUpdated = psDBAffectedRows(config->dbh);1260 1261 #ifdef notdef1262 // new warpRuns won't get changed (they're already new) so don't require an update1263 if (numUpdated < 1) {1264 psError(PS_ERR_UNKNOWN, false, "should have affected at least 1 row");1265 if (!psDBRollback(config->dbh)) {1266 psError(PS_ERR_UNKNOWN, false, "database error");1267 }1268 return false;1269 }1270 #endif1271 }1272 1273 psLogMsg("warptool", PS_LOG_INFO, "Updated %d warp runs", numUpdated);1274 1275 1287 // Delete product 1276 1288 int numDeleted; // Number deleted … … 1744 1756 1745 1757 if (clean) { 1746 bool success = true; 1758 bool success = true; 1747 1759 if (!strcmp(tables[i].tableName, "warpRun")) { 1748 1760 success = pxSetStateCleaned("warpRun", "state", output); -
branches/eam_branches/20090522/ippTools/src/warptool.h
r24043 r24557 34 34 WARPTOOL_MODE_TOOVERLAP, 35 35 WARPTOOL_MODE_ADDOVERLAP, 36 WARPTOOL_MODE_REVERTOVERLAP, 36 37 WARPTOOL_MODE_SCMAP, 37 38 WARPTOOL_MODE_TOWARPED, -
branches/eam_branches/20090522/ippTools/src/warptoolConfig.c
r24043 r24557 98 98 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_dvodb", 0, "define DVO db", NULL); 99 99 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_tess_id", 0, "define tess ID", NULL); 100 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_reduction", 0, "define reduction class", NULL); 100 101 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_end_stage", 0, "define end stage", NULL); 101 102 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-all", 0, "allow everything to be queued without search terms", false); … … 111 112 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-label", 0, "define label", NULL); 112 113 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-dvodb", 0, "define dvodb", NULL); 113 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-tess_id", 0, "define tess_id", NULL); 114 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-tess_id", 0, "define tess_id (required)", NULL); 115 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-reduction", 0, "define reduction class", NULL); 114 116 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-end_stage", 0, "define end stage", NULL); 115 117 psMetadataAddTime(definerunArgs, PS_LIST_TAIL, "-registered", 0, "time detrend run was registered", now); … … 156 158 psMetadataAddS64(addoverlapArgs, PS_LIST_TAIL, "-warp_id", 0, "set warp ID", 0); 157 159 psMetadataAddS16(addoverlapArgs, PS_LIST_TAIL, "-fault", 0, "set fault code", 0); 160 161 // -revertoverlap 162 psMetadata *revertoverlapArgs = psMetadataAlloc(); 163 psMetadataAddS64(revertoverlapArgs, PS_LIST_TAIL, "-warp_id", 0, "search by warptool ID", 0); 164 psMetadataAddStr(revertoverlapArgs, PS_LIST_TAIL, "-skycell_id", 0, "search by skycell ID", NULL); 165 psMetadataAddStr(revertoverlapArgs, PS_LIST_TAIL, "-tess_id", 0, "search by tessellation ID", NULL); 166 psMetadataAddStr(revertoverlapArgs, PS_LIST_TAIL, "-label", 0, "search by warpRun label", NULL); 167 psMetadataAddS16(revertoverlapArgs, PS_LIST_TAIL, "-fault", 0, "search by fault code", 0); 168 psMetadataAddBool(revertoverlapArgs, PS_LIST_TAIL, "-all", 0, "allow everything to be queued without search terms", false); 169 158 170 159 171 // -scmap … … 300 312 PXOPT_ADD_MODE("-tooverlap", "", WARPTOOL_MODE_TOOVERLAP, tooverlapArgs); 301 313 PXOPT_ADD_MODE("-addoverlap", "", WARPTOOL_MODE_ADDOVERLAP, addoverlapArgs); 314 PXOPT_ADD_MODE("-revertoverlap", "", WARPTOOL_MODE_REVERTOVERLAP, revertoverlapArgs); 302 315 PXOPT_ADD_MODE("-scmap", "", WARPTOOL_MODE_SCMAP, scmapArgs); 303 316 PXOPT_ADD_MODE("-towarped", "", WARPTOOL_MODE_TOWARPED, towarpedArgs);
Note:
See TracChangeset
for help on using the changeset viewer.
