Changeset 19702
- Timestamp:
- Sep 23, 2008, 12:43:04 PM (18 years ago)
- Location:
- trunk/ippTools
- Files:
-
- 2 added
- 5 edited
-
share/Makefile.am (modified) (1 diff)
-
share/chiptool_change_exp_state.sql (modified) (1 diff)
-
share/faketool_change_exp_state.sql (added)
-
share/faketool_change_imfile_data_state.sql (added)
-
src/faketool.c (modified) (3 diffs)
-
src/faketool.h (modified) (1 diff)
-
src/faketoolConfig.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/share/Makefile.am
r19521 r19702 79 79 difftool_skyfile.sql \ 80 80 difftool_todiffskyfile.sql \ 81 faketool_change_exp_state.sql \ 82 faketool_change_imfile_data_state.sql \ 81 83 faketool_completely_processed_exp.sql \ 82 84 faketool_donecleanup.sql \ -
trunk/ippTools/share/chiptool_change_exp_state.sql
r19527 r19702 1 1 -- change state of chipRun from goto_cleaned to cleaned or goto_purged to purged 2 -- when all of the cons ituant imfiles are in the rgithstate2 -- when all of the constituant imfiles are in the right state 3 3 -- arguments are new state (cleaned or purged) chip_id and new state again for 4 4 -- the chipProcessedImfile sub query -
trunk/ippTools/src/faketool.c
r19592 r19702 48 48 static bool pendingcleanupimfileMode(pxConfig *config); 49 49 static bool donecleanupMode(pxConfig *config); 50 static bool tocleanedimfileMode(pxConfig *config); 51 static bool tofullimfileMode(pxConfig *config); 52 static bool topurgedimfileMode(pxConfig *config); 50 53 51 54 static bool fakeProcessedCompleteExp(pxConfig *config); … … 83 86 MODECASE(FAKETOOL_MODE_PENDINGCLEANUPIMFILE, pendingcleanupimfileMode); 84 87 MODECASE(FAKETOOL_MODE_DONECLEANUP, donecleanupMode); 88 MODECASE(FAKETOOL_MODE_TOCLEANEDIMFILE, tocleanedimfileMode); 89 MODECASE(FAKETOOL_MODE_TOFULLIMFILE, tofullimfileMode); 90 MODECASE(FAKETOOL_MODE_TOPURGEDIMFILE, topurgedimfileMode); 91 85 92 default: 86 93 psAbort("invalid option (this should not happen)"); … … 1129 1136 return true; 1130 1137 } 1138 1139 // update fakeProcessedImfile.data_state to given value. 1140 // afterwards, if all imfiles in the exposure have the new state, update the state for the exposure as well 1141 // shared code for the modes -tocleanedimfile -tofullimfile -topurgedimfile 1142 1143 static bool change_imfile_data_state(pxConfig *config, psString data_state, psString run_state) 1144 { 1145 PS_ASSERT_PTR_NON_NULL(config, false); 1146 1147 // fake_id, class_id are required 1148 PXOPT_LOOKUP_S64(fake_id, config->args, "-fake_id", true, false); 1149 PXOPT_LOOKUP_STR(class_id, config->args, "-class_id", true, false); 1150 1151 psString query = pxDataGet("faketool_change_imfile_data_state.sql"); 1152 1153 if (!psDBTransaction(config->dbh)) { 1154 psError(PS_ERR_UNKNOWN, false, "database error"); 1155 return false; 1156 } 1157 1158 // note only updates if fakeRun.state = run_state 1159 if (!p_psDBRunQuery(config->dbh, query, data_state, fake_id, class_id, run_state)) { 1160 psError(PS_ERR_UNKNOWN, false, "database error"); 1161 // rollback 1162 if (!psDBRollback(config->dbh)) { 1163 psError(PS_ERR_UNKNOWN, false, "database error"); 1164 } 1165 psError(PS_ERR_UNKNOWN, false, "database error"); 1166 return false; 1167 } 1168 psFree(query); 1169 1170 if (psDBAffectedRows(config->dbh) < 1) { 1171 psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row"); 1172 return false; 1173 } 1174 1175 query = pxDataGet("faketool_change_exp_state.sql"); 1176 if (!p_psDBRunQuery(config->dbh, query, data_state, fake_id, data_state)) { 1177 // rollback 1178 if (!psDBRollback(config->dbh)) { 1179 psError(PS_ERR_UNKNOWN, false, "database error"); 1180 } 1181 psError(PS_ERR_UNKNOWN, false, "database error"); 1182 return false; 1183 } 1184 1185 if (!psDBCommit(config->dbh)) { 1186 psError(PS_ERR_UNKNOWN, false, "database error"); 1187 return false; 1188 } 1189 1190 return true; 1191 } 1192 static bool tocleanedimfileMode(pxConfig *config) 1193 { 1194 return change_imfile_data_state(config, "cleaned", "goto_cleaned"); 1195 } 1196 static bool tofullimfileMode(pxConfig *config) 1197 { 1198 return change_imfile_data_state(config, "full", "update"); 1199 } 1200 static bool topurgedimfileMode(pxConfig *config) 1201 { 1202 return change_imfile_data_state(config, "purged", "goto_purged"); 1203 } -
trunk/ippTools/src/faketool.h
r19092 r19702 41 41 FAKETOOL_MODE_PENDINGCLEANUPIMFILE, 42 42 FAKETOOL_MODE_DONECLEANUP, 43 FAKETOOL_MODE_TOCLEANEDIMFILE, 44 FAKETOOL_MODE_TOFULLIMFILE, 45 FAKETOOL_MODE_TOPURGEDIMFILE, 43 46 } FAKETOOLMode; 44 47 -
trunk/ippTools/src/faketoolConfig.c
r19592 r19702 278 278 psMetadataAddBool(donecleanupArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 279 279 psMetadataAddU64(donecleanupArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 280 // -tocleanedimfile 281 psMetadata *tocleanedimfileArgs = psMetadataAlloc(); 282 psMetadataAddS64(tocleanedimfileArgs, PS_LIST_TAIL, "-fake_id", 0, "fake ID to update", 0); 283 psMetadataAddStr(tocleanedimfileArgs, PS_LIST_TAIL, "-class_id", 0, "class ID to update", NULL); 284 285 // -tofullimfile 286 psMetadata *tofullimfileArgs = psMetadataAlloc(); 287 psMetadataAddS64(tofullimfileArgs, PS_LIST_TAIL, "-fake_id", 0, "fake ID to update", 0); 288 psMetadataAddStr(tofullimfileArgs, PS_LIST_TAIL, "-class_id", 0, "class ID to update", NULL); 289 290 // -topurgedimfile 291 psMetadata *topurgedimfileArgs = psMetadataAlloc(); 292 psMetadataAddS64(topurgedimfileArgs, PS_LIST_TAIL, "-fake_id", 0, "fake ID to update", 0); 293 psMetadataAddStr(topurgedimfileArgs, PS_LIST_TAIL, "-class_id", 0, "class ID to update", NULL); 294 295 280 296 281 297 psMetadata *argSets = psMetadataAlloc(); … … 297 313 PXOPT_ADD_MODE("-pendingcleanupimfile", "show runs that need to be cleaned up", FAKETOOL_MODE_PENDINGCLEANUPIMFILE, pendingcleanupimfileArgs); 298 314 PXOPT_ADD_MODE("-donecleanup", "show runs that have been cleaned", FAKETOOL_MODE_DONECLEANUP, donecleanupArgs); 315 PXOPT_ADD_MODE("-tocleanedimfile", "set imfile state to cleaned", FAKETOOL_MODE_TOCLEANEDIMFILE, tocleanedimfileArgs); 316 PXOPT_ADD_MODE("-tofullimfile", "set imfile state to full", FAKETOOL_MODE_TOFULLIMFILE, tofullimfileArgs); 317 PXOPT_ADD_MODE("-topurgedimfile", "set imfile state to purged", FAKETOOL_MODE_TOPURGEDIMFILE, topurgedimfileArgs); 318 299 319 300 320 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
Note:
See TracChangeset
for help on using the changeset viewer.
