Changeset 24426
- Timestamp:
- Jun 15, 2009, 4:51:42 PM (17 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 3 edited
-
warptool.c (modified) (5 diffs)
-
warptool.h (modified) (1 diff)
-
warptoolConfig.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/warptool.c
r24335 r24426 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); … … 650 652 warpSkyCellMapInsert(config->dbh, 651 653 warp_id, 652 NULL, // skycell_id653 NULL, // tess_id654 NULL, // class_id654 "faulted", // skycell_id 655 "faulted", // tess_id 656 "faulted", // class_id 655 657 fault // fault 656 658 ); … … 665 667 return true; 666 668 } 669 670 static bool revertoverlapMode(pxConfig *config) 671 { 672 PS_ASSERT_PTR_NON_NULL(config, false); 673 674 psMetadata *where = psMetadataAlloc(); 675 PXOPT_COPY_S64(config->args, where, "-warp_id", "warpSkyCellMap.warp_id", "=="); 676 PXOPT_COPY_STR(config->args, where, "-skycell_id", "warpSkyCellMap.skycell_id", "=="); 677 PXOPT_COPY_STR(config->args, where, "-tess_id", "warpSkyCellMap.tess_id", "=="); 678 PXOPT_COPY_STR(config->args, where, "-label", "warpRun.label", "=="); 679 PXOPT_COPY_S16(config->args, where, "-fault", "warpSkyCellMap.fault", "=="); 680 681 if (!psListLength(where->list) 682 && !psMetadataLookupBool(NULL, config->args, "-all")) { 683 psFree(where); 684 psError(PXTOOLS_ERR_DATA, false, "search parameters are required"); 685 return false; 686 } 687 688 int numDeleted; // Number deleted 689 { 690 psString query = pxDataGet("warptool_revertoverlap.sql"); 691 if (!query) { 692 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 693 if (!psDBRollback(config->dbh)) { 694 psError(PS_ERR_UNKNOWN, false, "database error"); 695 } 696 return false; 697 } 698 699 if (psListLength(where->list)) { 700 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 701 psStringAppend(&query, " AND %s", whereClause); 702 psFree(whereClause); 703 } 704 705 if (!p_psDBRunQuery(config->dbh, query)) { 706 psError(PS_ERR_UNKNOWN, false, "database error"); 707 psFree(query); 708 if (!psDBRollback(config->dbh)) { 709 psError(PS_ERR_UNKNOWN, false, "database error"); 710 } 711 return false; 712 } 713 psFree(query); 714 715 numDeleted = psDBAffectedRows(config->dbh); 716 } 717 718 psLogMsg("warptool", PS_LOG_INFO, "Deleted %d warpSkycellMap", numDeleted); 719 720 psFree(where); 721 722 return true; 723 } 724 667 725 668 726 … … 1223 1281 } 1224 1282 1225 1226 #ifdef notdef1227 int numUpdated = 0; // Number updated1228 {1229 // Update state to 'new'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 #endif // notdef1276 1277 1283 // Delete product 1278 1284 int numDeleted; // Number deleted -
trunk/ippTools/src/warptool.h
r24043 r24426 34 34 WARPTOOL_MODE_TOOVERLAP, 35 35 WARPTOOL_MODE_ADDOVERLAP, 36 WARPTOOL_MODE_REVERTOVERLAP, 36 37 WARPTOOL_MODE_SCMAP, 37 38 WARPTOOL_MODE_TOWARPED, -
trunk/ippTools/src/warptoolConfig.c
r24043 r24426 157 157 psMetadataAddS16(addoverlapArgs, PS_LIST_TAIL, "-fault", 0, "set fault code", 0); 158 158 159 // -revertoverlap 160 psMetadata *revertoverlapArgs = psMetadataAlloc(); 161 psMetadataAddS64(revertoverlapArgs, PS_LIST_TAIL, "-warp_id", 0, "search by warptool ID", 0); 162 psMetadataAddStr(revertoverlapArgs, PS_LIST_TAIL, "-skycell_id", 0, "search by skycell ID", NULL); 163 psMetadataAddStr(revertoverlapArgs, PS_LIST_TAIL, "-tess_id", 0, "search by tessellation ID", NULL); 164 psMetadataAddStr(revertoverlapArgs, PS_LIST_TAIL, "-label", 0, "search by warpRun label", NULL); 165 psMetadataAddS16(revertoverlapArgs, PS_LIST_TAIL, "-fault", 0, "search by fault code", 0); 166 psMetadataAddBool(revertoverlapArgs, PS_LIST_TAIL, "-all", 0, "allow everything to be queued without search terms", false); 167 168 159 169 // -scmap 160 170 psMetadata *scmapArgs = psMetadataAlloc(); … … 300 310 PXOPT_ADD_MODE("-tooverlap", "", WARPTOOL_MODE_TOOVERLAP, tooverlapArgs); 301 311 PXOPT_ADD_MODE("-addoverlap", "", WARPTOOL_MODE_ADDOVERLAP, addoverlapArgs); 312 PXOPT_ADD_MODE("-revertoverlap", "", WARPTOOL_MODE_REVERTOVERLAP, revertoverlapArgs); 302 313 PXOPT_ADD_MODE("-scmap", "", WARPTOOL_MODE_SCMAP, scmapArgs); 303 314 PXOPT_ADD_MODE("-towarped", "", WARPTOOL_MODE_TOWARPED, towarpedArgs);
Note:
See TracChangeset
for help on using the changeset viewer.
