Changeset 26139
- Timestamp:
- Nov 13, 2009, 2:10:43 PM (16 years ago)
- File:
-
- 1 edited
-
trunk/ippTools/src/difftool.c (modified) (16 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/difftool.c
r26138 r26139 1138 1138 1139 1139 psMetadata *expWhere = psMetadataAlloc(); 1140 psMetadata *warpWhere = psMetadataAlloc(); 1140 psMetadata *warp1Where = psMetadataAlloc(); // First set of restrictions on warp 1141 psMetadata *warp2Where = psMetadataAlloc(); // Second set of restriction on warp 1141 1142 psMetadata *stackWhere = psMetadataAlloc(); 1142 1143 1143 1144 PXOPT_COPY_S64(config->args, expWhere, "-exp_id", "exp_id", "=="); 1144 1145 PXOPT_COPY_STR(config->args, expWhere, "-filter", "filter", "=="); 1145 PXOPT_COPY_S64(config->args, warpWhere, "-warp_id", "warpRun.warp_id", "=="); 1146 PXOPT_COPY_STR(config->args, warpWhere, "-skycell_id", "warpSkyfile.skycell_id", "=="); 1147 PXOPT_COPY_STR(config->args, warpWhere, "-tess_id", "warpRun.tess_id", "=="); 1148 PXOPT_COPY_STR(config->args, warpWhere, "-warp_label", "warpRun.label", "=="); 1149 PXOPT_COPY_F32(config->args, warpWhere, "-good_frac", "warpSkyfile.good_frac", ">="); 1146 PXOPT_COPY_S64(config->args, warp1Where, "-warp_id", "warpRun.warp_id", "=="); 1147 PXOPT_COPY_STR(config->args, warp1Where, "-warp_label", "warpRun.label", "=="); 1148 PXOPT_COPY_STR(config->args, warp1Where, "-tess_id", "warpRun.tess_id", "=="); 1149 PXOPT_COPY_S64(config->args, warp2Where, "-warp_id", "warpRun.warp_id", "=="); 1150 PXOPT_COPY_STR(config->args, warp2Where, "-tess_id", "warpRun.tess_id", "=="); 1151 PXOPT_COPY_STR(config->args, warp2Where, "-skycell_id", "warpSkyfile.skycell_id", "=="); 1152 PXOPT_COPY_STR(config->args, warp2Where, "-warp_label", "warpRun.label", "=="); 1153 PXOPT_COPY_F32(config->args, warp2Where, "-good_frac", "warpSkyfile.good_frac", ">="); 1150 1154 PXOPT_COPY_STR(config->args, stackWhere, "-stack_label", "stackRun.label", "=="); 1151 1155 … … 1171 1175 } 1172 1176 1173 psString warpQuery = NULL; 1177 psString warp1Query = NULL; 1178 psString warp2Query = NULL; 1174 1179 psString stackQuery = NULL; 1175 1180 psString expQuery = NULL; … … 1183 1188 } 1184 1189 psFree(expWhere); 1185 if (psListLength(warp Where->list)) {1186 psString whereClause = psDBGenerateWhereConditionSQL(warp Where, NULL);1187 psStringAppend(&warp Query, "\n AND %s", whereClause);1190 if (psListLength(warp1Where->list)) { 1191 psString whereClause = psDBGenerateWhereConditionSQL(warp1Where, NULL); 1192 psStringAppend(&warp1Query, "\n AND %s", whereClause); 1188 1193 psFree(whereClause); 1189 1194 } else { 1190 warpQuery = psStringCopy("\n"); 1191 } 1192 psFree(warpWhere); 1195 warp1Query = psStringCopy("\n"); 1196 } 1197 psFree(warp1Where); 1198 if (psListLength(warp2Where->list)) { 1199 psString whereClause = psDBGenerateWhereConditionSQL(warp2Where, NULL); 1200 psStringAppend(&warp2Query, "\n AND %s", whereClause); 1201 psFree(whereClause); 1202 } else { 1203 warp2Query = psStringCopy("\n"); 1204 } 1205 psFree(warp2Where); 1193 1206 1194 1207 if (!available) { 1195 1208 // diff what's available, even if warp run has some faults and is incomplete 1196 psStringAppend(&warpQuery, " AND warpRun.state = 'full'"); 1209 psStringAppend(&warp1Query, " AND warpRun.state = 'full'"); 1210 psStringAppend(&warp2Query, " AND warpRun.state = 'full'"); 1197 1211 } 1198 1212 … … 1214 1228 psFree(stackWhere); 1215 1229 1216 psTrace("difftool", 1, query, warp Query, diffQuery, expQuery, stackQuery);1230 psTrace("difftool", 1, query, warp1Query, warp2Query, diffQuery, expQuery, stackQuery); 1217 1231 1218 1232 if (!psDBTransaction(config->dbh)) { … … 1221 1235 } 1222 1236 1223 if (!p_psDBRunQueryF(config->dbh, query, warp Query, warpQuery, expQuery, diffQuery)) {1237 if (!p_psDBRunQueryF(config->dbh, query, warp1Query, warp2Query, expQuery, diffQuery)) { 1224 1238 psError(PS_ERR_UNKNOWN, false, "database error"); 1225 1239 psFree(query); … … 1281 1295 return false; 1282 1296 } 1297 psFree(warp1Query); 1283 1298 psFree(query); 1284 1299 query = NULL; … … 1312 1327 if (!p_psDBRunQuery(config->dbh, "DELETE FROM skycellsToDiff")) { 1313 1328 psError(PS_ERR_UNKNOWN, false, "database error"); 1314 psFree(warp Query);1329 psFree(warp2Query); 1315 1330 psFree(stackQuery); 1316 1331 psFree(skycell_query); … … 1323 1338 if (!mdok) { 1324 1339 psError(PXTOOLS_ERR_PROG, false, "warp_id not found --- ignoring row %ld", i); 1325 psFree(warp Query);1340 psFree(warp2Query); 1326 1341 psFree(stackQuery); 1327 1342 psFree(skycell_query); … … 1334 1349 if (!mdok) { 1335 1350 psError(PXTOOLS_ERR_PROG, false, "skycell_count not found"); 1336 psFree(warp Query);1351 psFree(warp2Query); 1337 1352 psFree(stackQuery); 1338 1353 psFree(skycell_query); … … 1345 1360 if (!mdok) { 1346 1361 psError(PXTOOLS_ERR_PROG, false, "tess_id not found"); 1347 psFree(warp Query);1362 psFree(warp2Query); 1348 1363 psFree(stackQuery); 1349 1364 psFree(skycell_query); … … 1356 1371 if (!mdok) { 1357 1372 psError(PXTOOLS_ERR_PROG, false, "filter not found"); 1358 psFree(warp Query);1373 psFree(warp2Query); 1359 1374 psFree(stackQuery); 1360 1375 psFree(skycell_query); … … 1364 1379 return false; 1365 1380 } 1366 if (!p_psDBRunQueryF(config->dbh, skycell_query, stackQuery, warp_id, filter, warp Query)) {1367 psError(PS_ERR_UNKNOWN, false, "database error"); 1368 psFree(warp Query);1381 if (!p_psDBRunQueryF(config->dbh, skycell_query, stackQuery, warp_id, filter, warp2Query)) { 1382 psError(PS_ERR_UNKNOWN, false, "database error"); 1383 psFree(warp2Query); 1369 1384 psFree(stackQuery); 1370 1385 psFree(skycell_query); … … 1418 1433 if (!p_psDBRunQuery(config->dbh, query)) { 1419 1434 psError(PS_ERR_UNKNOWN, false, "database error"); 1420 psFree(warp Query);1435 psFree(warp2Query); 1421 1436 psFree(stackQuery); 1422 1437 psFree(skycell_query); … … 1432 1447 if (!p_psDBRunQuery(config->dbh, query)) { 1433 1448 psError(PS_ERR_UNKNOWN, false, "database error"); 1434 psFree(warp Query);1449 psFree(warp2Query); 1435 1450 psFree(stackQuery); 1436 1451 psFree(skycell_query); … … 1447 1462 psError(PS_ERR_UNKNOWN, false, "failed to change diffRun.state for diff_id: %" PRId64, 1448 1463 run->diff_id); 1449 psFree(warp Query);1464 psFree(warp2Query); 1450 1465 psFree(stackQuery); 1451 1466 psFree(skycell_query); … … 1461 1476 } 1462 1477 psFree(output); 1463 psFree(warp Query);1478 psFree(warp2Query); 1464 1479 psFree(stackQuery); 1465 1480 psFree(skycell_query);
Note:
See TracChangeset
for help on using the changeset viewer.
