Changeset 32573 for trunk/ippTools/src
- Timestamp:
- Oct 27, 2011, 11:55:43 AM (15 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 3 edited
-
chiptool.c (modified) (4 diffs)
-
chiptool.h (modified) (1 diff)
-
chiptoolConfig.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/chiptool.c
r32520 r32573 43 43 static bool revertprocessedimfileMode(pxConfig *config); 44 44 static bool updateprocessedimfileMode(pxConfig *config); 45 static bool dropprocessedimfileMode(pxConfig *config); 45 46 static bool advanceexpMode(pxConfig *config); 46 47 static bool blockMode(pxConfig *config); … … 88 89 MODECASE(CHIPTOOL_MODE_REVERTPROCESSEDIMFILE, revertprocessedimfileMode); 89 90 MODECASE(CHIPTOOL_MODE_UPDATEPROCESSEDIMFILE, updateprocessedimfileMode); 91 MODECASE(CHIPTOOL_MODE_DROPPROCESSEDIMFILE, dropprocessedimfileMode); 90 92 MODECASE(CHIPTOOL_MODE_ADVANCEEXP, advanceexpMode); 91 93 MODECASE(CHIPTOOL_MODE_BLOCK, blockMode); … … 962 964 PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "=="); 963 965 PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "=="); 964 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, NULL);966 PXOPT_LOOKUP_STR(state, config->args, "-set_state", true, false); 965 967 if (psListLength(where->list) == 0) { 966 968 psError(PS_ERR_UNKNOWN, true, "search parameters are required"); … … 986 988 987 989 990 return true; 991 } 992 993 // "drop" previously processed components as though the original processing 994 // had poor quality. Sets quality, data_state, clears fault and magicked 995 // Deletes corresponding magicDSFile (if one exists) 996 static bool dropprocessedimfileMode(pxConfig *config) 997 { 998 PS_ASSERT_PTR_NON_NULL(config, false); 999 1000 psMetadata *where = psMetadataAlloc(); 1001 PXOPT_COPY_S64(config->args, where, "-chip_id", "chipProcessedImfile.chip_id", "=="); 1002 PXOPT_COPY_STR(config->args, where, "-class_id", "chipProcessedImfile.class_id", "=="); 1003 PXOPT_LOOKUP_S64(chip_id, config->args, "-chip_id", true, false); 1004 PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", true, false); 1005 1006 if (!quality) { 1007 psError(PXTOOLS_ERR_CONFIG, true, "non-zero quality value is required"); 1008 return false; 1009 } 1010 1011 if (psListLength(where->list) == 0) { 1012 psError(PXTOOLS_ERR_CONFIG, true, "-chip_id is required"); 1013 return false; 1014 } 1015 1016 psString query = pxDataGet("chiptool_dropprocessedimfile_update.sql"); 1017 if (!query) { 1018 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1019 return false; 1020 } 1021 psString delete_query = pxDataGet("chiptool_dropprocessedimfile_delete.sql"); 1022 if (!delete_query) { 1023 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1024 return false; 1025 } 1026 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1027 psStringAppend(&query, " WHERE %s", whereClause); 1028 psFree(where); 1029 1030 if (!psDBTransaction(config->dbh)) { 1031 psError(PS_ERR_UNKNOWN, false, "database error"); 1032 return false; 1033 } 1034 if (!p_psDBRunQueryF(config->dbh, query, quality)) { 1035 if (!psDBRollback(config->dbh)) { 1036 psError(PS_ERR_UNKNOWN, false, "database error on rollback"); 1037 } 1038 psError(PS_ERR_UNKNOWN, false, "database error"); 1039 psFree(query); 1040 return false; 1041 } 1042 psFree(query); 1043 1044 psStringAppend(&delete_query, " AND %s", whereClause); 1045 psFree(whereClause); 1046 if (!p_psDBRunQuery(config->dbh, delete_query)) { 1047 if (!psDBRollback(config->dbh)) { 1048 psError(PS_ERR_UNKNOWN, false, "database error on rollback"); 1049 } 1050 psError(PS_ERR_UNKNOWN, false, "database error"); 1051 psFree(delete_query); 1052 return false; 1053 } 1054 psFree(delete_query); 1055 1056 if (!psDBCommit(config->dbh)) { 1057 psError(PS_ERR_UNKNOWN, false, "database error"); 1058 return false; 1059 } 988 1060 return true; 989 1061 } -
trunk/ippTools/src/chiptool.h
r29416 r32573 33 33 CHIPTOOL_MODE_REVERTPROCESSEDIMFILE, 34 34 CHIPTOOL_MODE_UPDATEPROCESSEDIMFILE, 35 CHIPTOOL_MODE_DROPPROCESSEDIMFILE, 35 36 CHIPTOOL_MODE_SETIMFILETOUPDATE, 36 37 CHIPTOOL_MODE_ADVANCEEXP, -
trunk/ippTools/src/chiptoolConfig.c
r31954 r32573 237 237 psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-set_state", 0, "set state", NULL); 238 238 psMetadataAddS16(updateprocessedimfileArgs, PS_LIST_TAIL, "-set_quality", 0, "set quality", 0); 239 // -processedExp 239 240 // -dropprocessedimfile 241 psMetadata *dropprocessedimfileArgs = psMetadataAlloc(); 242 psMetadataAddS64(dropprocessedimfileArgs, PS_LIST_TAIL, "-chip_id", 0, "search by chip ID (required)", 0); 243 psMetadataAddStr(dropprocessedimfileArgs, PS_LIST_TAIL, "-class_id", 0, "search by class ID", NULL); 244 psMetadataAddS16(dropprocessedimfileArgs, PS_LIST_TAIL, "-set_quality", 0, "set quality (required)", 0); 245 246 // -listrun 240 247 psMetadata *listrunArgs = psMetadataAlloc(); 241 248 pxchipSetSearchArgs(listrunArgs); … … 372 379 PXOPT_ADD_MODE("-processedimfile", "show processed imfiles", CHIPTOOL_MODE_PROCESSEDIMFILE, processedimfileArgs); 373 380 PXOPT_ADD_MODE("-updateprocessedimfile","change procesed imfile properties", CHIPTOOL_MODE_UPDATEPROCESSEDIMFILE,updateprocessedimfileArgs); 381 PXOPT_ADD_MODE("-dropprocessedimfile","drop previously procesed imfile", CHIPTOOL_MODE_DROPPROCESSEDIMFILE, dropprocessedimfileArgs); 374 382 PXOPT_ADD_MODE("-revertprocessedimfile","undo a processed imfile", CHIPTOOL_MODE_REVERTPROCESSEDIMFILE,revertprocessedimfileArgs); 375 383 PXOPT_ADD_MODE("-runstate", "list the states of chip run", CHIPTOOL_MODE_RUNSTATE, runstateArgs);
Note:
See TracChangeset
for help on using the changeset viewer.
