Changeset 14098
- Timestamp:
- Jul 10, 2007, 10:30:39 AM (19 years ago)
- Location:
- trunk/ippTools
- Files:
-
- 1 added
- 4 edited
-
share/Makefile.am (modified) (1 diff)
-
share/regtool_revertprocessedexp.sql (added)
-
src/regtool.c (modified) (5 diffs)
-
src/regtool.h (modified) (1 diff)
-
src/regtoolConfig.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/share/Makefile.am
r14097 r14098 29 29 regtool_processedexp.sql \ 30 30 regtool_processedimfile.sql \ 31 regtool_revertprocessedexp.sql \ 31 32 regtool_revertprocessedimfile.sql \ 32 33 stacktool_inputskyfile.sql \ -
trunk/ippTools/src/regtool.c
r14097 r14098 31 31 #include "chiptool.h" 32 32 33 // imfile 33 34 static bool pendingimfileMode(pxConfig *config); 34 35 static bool addprocessedimfileMode(pxConfig *config); … … 36 37 static bool revertprocessedimfileMode(pxConfig *config); 37 38 static bool updateprocessedimfileMode(pxConfig *config); 38 39 // exp 39 40 static bool pendingexpMode(pxConfig *config); 40 41 static bool addprocessedexpMode(pxConfig *config); 41 42 static bool processedexpMode(pxConfig *config); 43 static bool revertprocessedexpMode(pxConfig *config); 42 44 static bool updateprocessedexpMode(pxConfig *config); 43 45 … … 70 72 71 73 switch (config->mode) { 74 // imfile 72 75 MODECASE(REGTOOL_MODE_PENDINGIMFILE, pendingimfileMode); 73 76 MODECASE(REGTOOL_MODE_ADDPROCESSEDIMFILE, addprocessedimfileMode); … … 75 78 MODECASE(REGTOOL_MODE_REVERTPROCESSEDIMFILE, revertprocessedimfileMode); 76 79 MODECASE(REGTOOL_MODE_UPDATEPROCESSEDIMFILE, updateprocessedimfileMode); 80 // exp 77 81 MODECASE(REGTOOL_MODE_PENDINGEXP, pendingexpMode); 78 82 MODECASE(REGTOOL_MODE_ADDPROCESSEDEXP, addprocessedexpMode); 79 83 MODECASE(REGTOOL_MODE_PROCESSEDEXP, processedexpMode); 84 MODECASE(REGTOOL_MODE_REVERTPROCESSEDEXP, revertprocessedexpMode); 80 85 MODECASE(REGTOOL_MODE_UPDATEPROCESSEDEXP, updateprocessedexpMode); 81 86 default: … … 816 821 817 822 psFree(output); 823 824 return true; 825 } 826 827 static bool revertprocessedexpMode(pxConfig *config) 828 { 829 PS_ASSERT_PTR_NON_NULL(config, false); 830 831 psString query = pxDataGet("regtool_revertprocessedexp.sql"); 832 if (!query) { 833 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 834 return false; 835 } 836 837 if (config->where) { 838 psString whereClause = psDBGenerateWhereConditionSQL(config->where, "rawExp"); 839 psStringAppend(&query, " AND %s", whereClause); 840 psFree(whereClause); 841 } 842 843 if (!p_psDBRunQuery(config->dbh, query)) { 844 psError(PS_ERR_UNKNOWN, false, "database error"); 845 psFree(query); 846 return false; 847 } 848 psFree(query); 849 850 if (psDBAffectedRows(config->dbh) < 1) { 851 psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row"); 852 return false; 853 } 818 854 819 855 return true; -
trunk/ippTools/src/regtool.h
r14097 r14098 33 33 REGTOOL_MODE_ADDPROCESSEDEXP, 34 34 REGTOOL_MODE_PROCESSEDEXP, 35 REGTOOL_MODE_REVERTPROCESSEDEXP, 35 36 REGTOOL_MODE_UPDATEPROCESSEDEXP, 36 37 } regtoolMode; -
trunk/ippTools/src/regtoolConfig.c
r14097 r14098 252 252 "use the simple output format", false); 253 253 254 // -revertprocessedimfile 255 psMetadata *revertprocessedexpArgs = psMetadataAlloc(); 256 psMetadataAddStr(revertprocessedexpArgs, PS_LIST_TAIL, "-exp_id", 0, 257 "search by exposure ID (required)", NULL); 258 psMetadataAddS16(revertprocessedexpArgs, PS_LIST_TAIL, "-code", 0, 259 "search by fault code", 0); 260 254 261 // -updatedprocessedexp 255 262 psMetadata *updatedprocessedexpArgs = psMetadataAlloc(); … … 271 278 PXTOOL_ADD_MODE("-addprocessedexp", "", REGTOOL_MODE_ADDPROCESSEDEXP, addprocessedexpArgs); 272 279 PXTOOL_ADD_MODE("-processedexp", "", REGTOOL_MODE_PROCESSEDEXP, processedexpArgs); 280 PXTOOL_ADD_MODE("-revertprocessedexp", "", REGTOOL_MODE_REVERTPROCESSEDEXP, revertprocessedexpArgs); 273 281 PXTOOL_ADD_MODE("-updateprocessedexp", "", REGTOOL_MODE_UPDATEPROCESSEDEXP, updatedprocessedexpArgs); 274 282 … … 298 306 } 299 307 308 #define addWhereS16(name) \ 309 { \ 310 psS16 s16 = 0; \ 311 bool status = false; \ 312 if ((s16= psMetadataLookupS16(&status, config->args, "-" #name))) { \ 313 if (!psMetadataAddS16(config->where, PS_LIST_TAIL, #name, 0, "==", s16)) { \ 314 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \ 315 psFree(config); \ 316 return NULL; \ 317 } \ 318 } \ 319 } 320 300 321 // generate SQL where clause 301 322 config->where = psMetadataAlloc(); … … 320 341 addWhereStr(tmp_class_id); 321 342 addWhereStr(filter); 343 addWhereS16(code); 322 344 323 345 if (config->where->list->n < 1) {
Note:
See TracChangeset
for help on using the changeset viewer.
