Changeset 28171
- Timestamp:
- Jun 1, 2010, 10:45:19 AM (16 years ago)
- Location:
- branches/haf_branches/ipp.20100512
- Files:
-
- 1 added
- 5 edited
-
dbconfig/minidvodb.md (modified) (1 diff)
-
ippScripts/scripts/minidvodb_createdb.pl (modified) (1 diff)
-
ippScripts/scripts/minidvodb_merge.pl (added)
-
ippTasks/minidvodb.pro (modified) (1 diff)
-
ippTools/src/addtool.c (modified) (7 diffs)
-
ippTools/src/addtoolConfig.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/haf_branches/ipp.20100512/dbconfig/minidvodb.md
r28061 r28171 6 6 mergedvodb_path STR 255 7 7 state STR 64 8 creation_date UTC 0001-01-01T00:00:00Z 8 9 END 9 10 -
branches/haf_branches/ipp.20100512/ippScripts/scripts/minidvodb_createdb.pl
r28168 r28171 202 202 } 203 203 if ($create_new == 0) { 204 my $parser = DateTime::Format::Strptime->new( pattern => '%Y-%m-%dT%H:%M:%S' );204 my $parser = DateTime::Format::Strptime->new( pattern => '%Y-%m-%dT%H:%M:%S', time_zone => "HST" ); 205 205 my $creation_dt = $parser->parse_datetime( $creation_date )->mjd; 206 if ($mjd_start- $creation_dt > $minidvodb_interval && $addRun_count > 0 ) { 206 if ($mjd_start- $creation_dt > $minidvodb_interval) { # && $addRun_count > 0 ) { 207 #if ($mjd_start- $creation_dt > $minidvodb_interval && $addRun_count > 0 ) { 207 208 #db is old and has stuff in it, want to create_new 208 209 $create_new = 1; -
branches/haf_branches/ipp.20100512/ippTasks/minidvodb.pro
r28169 r28171 433 433 book setword minidvodbMergelist $pageName pantaskState RUN 434 434 book getword minidvodbMergelist $pageName minidvodb_id -var MINIDVODB_ID 435 book getword minidvodbMergelist $pageName minidvodb_group -var MINIDVODB_GROUP 436 book getword minidvodbMergelist $pageName mergedvodb_path -var MERGEDVODB_PATH 437 book getword minidvodbMergelist $pageName minidvodb_path -var MINIDVODB_PATH 435 438 book getword minidvodbMergelist $pageName state -var STATE 436 439 stdout $LOGDIR/minidvodb.merge.run.log 437 440 stderr $LOGDIR/minidvodb.merge.run.log 438 441 439 $run = addtool -updateminidvodbrun -minidvodb_id $MINIDVODB_ID -set_state merging442 $run = minidvodb_merge.pl --camera GPC1 --mergedvodb $MERGEDVODB_PATH --minidvodb $MINIDVODB_PATH --minidvodb_group $MINIDVODB_GROUP --minidvodb_id $MINIDVODB_ID 440 443 441 444 if ($DB:n == 0) -
branches/haf_branches/ipp.20100512/ippTools/src/addtool.c
r28170 r28171 891 891 892 892 893 893 894 894 if (!psDBCommit(config->dbh)) { 895 895 psError(PS_ERR_UNKNOWN, false, "database error"); … … 1085 1085 1086 1086 psStringAppend(&query2, " AND minidvodb_group = '%s' limit 1;", minidvodb_group); 1087 1087 1088 1088 1089 1089 … … 1114 1114 1115 1115 return true; 1116 1116 1117 1117 } 1118 1118 … … 1309 1309 PXOPT_LOOKUP_F32(dtime_merge, config->args, "-dtime_merge", false, false); 1310 1310 PXOPT_LOOKUP_TIME(epoch, config->args, "-epoch", false, false); 1311 PXOPT_LOOKUP_STR(mergedvodb_path, config->args, "-mergedvodb_path", false, false); 1311 PXOPT_LOOKUP_STR(mergedvodb_path, config->args, "-mergedvodb_path", true, false); 1312 PXOPT_LOOKUP_STR(minidvodb_group, config->args, "-minidvodb_group", true, false); 1313 1312 1314 PXOPT_LOOKUP_S16(fault, config->args, "-fault", false, false); 1313 1315 //generate restrictions 1314 1316 psMetadata *where = psMetadataAlloc(); 1315 1317 PXOPT_COPY_S64(config->args, where, "-minidvodb_id", "minidvodbRun.minidvodb_id", "=="); 1318 1319 1320 if (!psDBTransaction(config->dbh)) { 1321 psError(PS_ERR_UNKNOWN, false, "database error"); 1322 1323 return false; 1324 } 1325 1316 1326 1317 1327 psString query = pxDataGet("addtool_find_pendingmergeprocess.sql"); … … 1346 1356 } 1347 1357 1348 if (!psDBTransaction(config->dbh)) {1349 psError(PS_ERR_UNKNOWN, false, "database error");1350 psFree(output);1351 return false;1352 }1358 //if (!psDBTransaction(config->dbh)) { 1359 // psError(PS_ERR_UNKNOWN, false, "database error"); 1360 // psFree(output); 1361 // return false; 1362 // } 1353 1363 minidvodbRunRow *pendingRow = minidvodbRunObjectFromMetadata(output->data[0]); 1354 1364 psFree(output); … … 1377 1387 // since there is only one exp per 'new' set addRun.state = 'full' 1378 1388 1379 // psString query2 = NULL ; 1380 // 1381 // psStringAppend(&query2, "UPDATE minidvodbRun SET state = 'merging' WHERE minidvodb_name = '%s'", row->minidvodb_name); 1382 1383 //if (!p_psDBRunQuery(config->dbh, query2)) { 1384 // psError(PS_ERR_UNKNOWN, false, "database error"); 1385 // psFree(query2); 1386 // return false; 1387 // } 1388 // psArray *output2 = p_psDBFetchResult(config->dbh); 1389 // if (!output2) { 1390 //psError(PS_ERR_UNKNOWN, false, "database error"); 1391 //return false; 1392 // } 1393 // if (!psArrayLength(output2)) { 1394 // psTrace("addtool", PS_LOG_INFO, "no rows found"); 1395 // // psFree(output2); 1396 // return true; 1397 // } 1398 1399 1389 psString query2 = NULL ; 1390 psStringAppend(&query2, "UPDATE minidvodbRun SET state = 'merging' WHERE minidvodb_id = %'" PRIu64, row->minidvodb_id); 1400 1391 1401 // psFree(row); 1402 // psFree(pendingRow); 1403 // 1392 if (!p_psDBRunQuery(config->dbh, query2)) { 1393 // rollback 1394 if (!psDBRollback(config->dbh)) { 1395 psError(PS_ERR_UNKNOWN, false, "database error"); 1396 } 1397 psError(PS_ERR_UNKNOWN, false, "database error"); 1398 psFree(query2); 1399 return false; 1400 } 1401 1402 //this finds the # of merged things (for the merge order) 1403 psString query3 = NULL; 1404 psStringAppend(&query3, "select count(*) from minidvodbRun join minidvodbProcessed using (minidvodb_id) where state = 'merged' and minidvodb_group = '%s';", minidvodb_group); 1405 1406 if (!p_psDBRunQuery(config->dbh, query3)) { 1407 // rollback 1408 if (!psDBRollback(config->dbh)) { 1409 psError(PS_ERR_UNKNOWN, false, "database error"); 1410 } 1411 psError(PS_ERR_UNKNOWN, false, "database error"); 1412 psFree(query3); 1413 return false; 1414 } 1415 psArray *output2 = p_psDBFetchResult(config->dbh); 1416 if (!output2) { 1417 psError(PS_ERR_UNKNOWN, false, "database error"); 1418 return false; 1419 } 1420 if (!psArrayLength(output2)) { 1421 psTrace("addtool", PS_LOG_INFO, "no rows found"); 1422 psFree(output); 1423 return true; 1424 } 1425 bool status; 1426 psS64 m_order = psMetadataLookupS64(&status, output2->data[0], "count(*)"); 1427 if (!status) { 1428 1429 psAbort("failed to lookup value for count column"); 1430 return false; 1431 } 1432 psString final = NULL; 1433 psStringAppend(&final, "%" PRIu64, m_order); 1434 printf("%s", final); 1435 //return false; 1436 1437 1438 1439 psFree(query3); 1440 1441 1442 psFree(output2); 1443 1444 1445 psString query4 = NULL; 1446 psStringAppend(&query4, "update minidvodbProcessed set merge_order = %"PRIu64,m_order); 1447 psStringAppend(&query4," where minidvodb_id = %" PRIu64, minidvodb_id); 1448 printf("%s", query4); 1449 if (!p_psDBRunQuery(config->dbh, query4)) { 1450 // rollback 1451 if (!psDBRollback(config->dbh)) { 1452 psError(PS_ERR_UNKNOWN, false, "database error"); 1453 } 1454 psError(PS_ERR_UNKNOWN, false, "database error"); 1455 psFree(query4); 1456 return false; 1457 } 1458 // 1459 1460 1461 psFree(query4); 1462 psFree(row); 1463 psFree(pendingRow); 1464 1404 1465 if (!psDBCommit(config->dbh)) { 1405 1466 psError(PS_ERR_UNKNOWN, false, "database error"); … … 1408 1469 1409 1470 1410 1471 printf("%s", final); 1472 psFree(final); 1411 1473 1412 1474 return true; -
branches/haf_branches/ipp.20100512/ippTools/src/addtoolConfig.c
r28102 r28171 196 196 psMetadataAddTime(addminidvodbprocessedArgs, PS_LIST_TAIL, "-epoch", 0, "time merge is finished", NULL); 197 197 psMetadataAddStr(addminidvodbprocessedArgs, PS_LIST_TAIL, "-mergedvodb_path",0, "path of merged dvodb", NULL); 198 psMetadataAddStr(addminidvodbprocessedArgs, PS_LIST_TAIL, "-minidvodb_group",0, "minidvodb_group", NULL); 198 199 psMetadataAddS16(addminidvodbprocessedArgs, PS_LIST_TAIL, "-fault", 0, "set fault code", 0); 199 200
Note:
See TracChangeset
for help on using the changeset viewer.
