Changeset 33003 for branches/haf_add201112/ippTools/src/addtool.c
- Timestamp:
- Dec 22, 2011, 2:21:40 PM (15 years ago)
- File:
-
- 1 edited
-
branches/haf_add201112/ippTools/src/addtool.c (modified) (17 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/haf_add201112/ippTools/src/addtool.c
r32832 r33003 1221 1221 1222 1222 PXOPT_LOOKUP_STR(minidvodb_group, config->args, "-set_minidvodb_group", true, false); 1223 PXOPT_LOOKUP_STR(mergedvodb_path, config->args, "-set_mergedvodb_path", true, false); 1224 1225 //optional 1223 //optional 1226 1224 PXOPT_LOOKUP_STR(minidvodb_name, config->args, "-set_minidvodb_name", false, false); 1227 1225 PXOPT_LOOKUP_STR(minidvodb_path, config->args, "-set_minidvodb_path", false, false); … … 1238 1236 if (minidvodb_path) { 1239 1237 minidvodbpath = minidvodb_path; 1238 } else { 1239 psError(PS_ERR_UNKNOWN, false, "require minidvodb_path"); 1240 return false; 1240 1241 } 1241 1242 … … 1245 1246 minidvodb_group, 1246 1247 minidvodbpath, 1247 mergedvodb_path, 1248 "new", 1248 "new", 1249 1249 0 1250 1250 )) { … … 1268 1268 psStringAppend(&minidvodb_name, "%s.%" PRIu64,minidvodb_group,minidvodb_id); 1269 1269 } 1270 1271 if (!minidvodb_path) {1272 psStringAppend(&minidvodb_path,"%s/%s",mergedvodb_path,minidvodb_name);1273 }1274 1275 1270 if (minidvodb_path) { 1276 1271 psStringAppend(&minidvodb_path,"/%s",minidvodb_name); … … 1304 1299 PXOPT_COPY_STR(config->args, where, "-state", "state", "=="); 1305 1300 PXOPT_COPY_STR(config->args, where, "-minidvodb_path", "minidvodb_path", "=="); 1306 PXOPT_COPY_STR(config->args, where, "-mergedvodb_path", "mergedvodb_path", "==");1307 1301 PXOPT_COPY_STR(config->args, where, "-minidvodb_group", "minidvodb_group", "=="); 1308 1302 … … 1310 1304 PXOPT_LOOKUP_STR(minidvodb_path, config->args, "-set_minidvodb_path", false, false); 1311 1305 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); 1312 PXOPT_LOOKUP_STR(mergedvodb_path, config->args, "-set_mergedvodb_path", false, false);1313 1306 PXOPT_LOOKUP_STR(minidvodb_group, config->args, "-set_minidvodb_group", false, false); 1314 1307 … … 1345 1338 } 1346 1339 1347 if (mergedvodb_path) {1348 if (cnt) {1349 psStringAppend(&query, "%s", comma);1350 }1351 psStringAppend(&query, " mergedvodb_path = '%s'", mergedvodb_path);1352 cnt++;1353 }1354 1355 1340 if (minidvodb_group) { 1356 1341 if (cnt) { … … 1396 1381 } 1397 1382 1398 psString firstquery = psStringCopy("SELECT * from minidvodbRun where state = 'new' and minidvodb_name is NOT NULL and minidvodb_group IS NOT NULL and minidvodb_path IS NOT NULL and mergedvodb_path IS NOT NULL");1383 psString firstquery = psStringCopy("SELECT * from minidvodbRun where state = 'new' and minidvodb_name is NOT NULL and minidvodb_group IS NOT NULL and minidvodb_path IS NOT NULL"); 1399 1384 1400 1385 psString firstwhereClause = psDBGenerateWhereConditionSQL(where, NULL); … … 1444 1429 1445 1430 //now flip new -> active 1446 psString query2 = psStringCopy("UPDATE minidvodbRun SET state = 'active' WHERE state = 'new' AND minidvodb_name is NOT NULL and minidvodb_group IS NOT NULL and minidvodb_path IS NOT NULL and mergedvodb_path IS NOT NULL");1431 psString query2 = psStringCopy("UPDATE minidvodbRun SET state = 'active' WHERE state = 'new' AND minidvodb_name is NOT NULL and minidvodb_group IS NOT NULL and minidvodb_path IS NOT NULL "); 1447 1432 psStringAppend(&query2, " AND minidvodb_group = '%s' limit 1;", minidvodb_group); 1448 1433 if (!p_psDBRunQuery(config->dbh, query2)) { … … 1621 1606 // required 1622 1607 PXOPT_LOOKUP_U64(minidvodb_id, config->args, "-minidvodb_id", true, false); 1623 PXOPT_LOOKUP_STR(mergedvodb_path, config->args, "-mergedvodb_path", true, false);1624 1608 PXOPT_LOOKUP_STR(minidvodb_group, config->args, "-minidvodb_group", true, false); 1625 1609 1626 1610 // optional 1627 PXOPT_LOOKUP_U64(merge_order, config->args, "-merge_order", false, false);1628 1611 PXOPT_LOOKUP_F32(dtime_relphot, config->args, "-dtime_relphot", false, false); 1629 1612 PXOPT_LOOKUP_F32(dtime_resort, config->args, "-dtime_resort", false, false); 1630 PXOPT_LOOKUP_F32(dtime_merge, config->args, "-dtime_merge", false, false);1631 PXOPT_LOOKUP_F32(dtime_verify, config->args, "-dtime_verify", false, false);1632 1613 PXOPT_LOOKUP_F32(dtime_script, config->args, "-dtime_script", false, false); 1633 1614 … … 1680 1661 minidvodbProcessedRow *row = minidvodbProcessedRowAlloc( 1681 1662 pendingRow->minidvodb_id, 1682 merge_order,1683 1663 dtime_resort, 1684 1664 dtime_relphot, 1685 dtime_verify,1686 dtime_merge,1687 1665 dtime_script, 1688 1666 epoch, 1689 mergedvodb_path,1690 1667 fault 1691 1668 ); … … 1702 1679 } 1703 1680 1704 1705 1706 1707 //this finds the # of merged things (for the merge order)1708 psString query3 = NULL;1709 psStringAppend(&query3, "select count(*) from minidvodbRun join minidvodbProcessed using (minidvodb_id) where state = 'merged' and minidvodb_group = '%s';", minidvodb_group);1710 1711 if (!p_psDBRunQuery(config->dbh, query3)) {1712 // rollback1713 if (!psDBRollback(config->dbh)) {1714 psError(PS_ERR_UNKNOWN, false, "database error");1715 }1716 psError(PS_ERR_UNKNOWN, false, "database error");1717 psFree(query3);1718 return false;1719 }1720 psArray *output2 = p_psDBFetchResult(config->dbh);1721 if (!output2) {1722 psError(PS_ERR_UNKNOWN, false, "database error");1723 return false;1724 }1725 if (!psArrayLength(output2)) {1726 psTrace("addtool", PS_LOG_INFO, "no rows found");1727 psFree(output);1728 return true;1729 }1730 bool status;1731 psS64 m_order = psMetadataLookupS64(&status, output2->data[0], "count(*)");1732 if (!status) {1733 1734 psAbort("failed to lookup value for count column");1735 return false;1736 }1737 psString final = NULL;1738 psStringAppend(&final, "%" PRIu64, m_order);1739 //return false;1740 psFree(query3);1741 psFree(output2);1742 1743 1744 1745 //update the merge_order1746 1747 psString query4 = NULL;1748 psStringAppend(&query4, "update minidvodbProcessed set merge_order = %"PRIu64,m_order);1749 psStringAppend(&query4," where minidvodb_id = %" PRIu64, minidvodb_id);1750 //printf("%s", query4);1751 if (!p_psDBRunQuery(config->dbh, query4)) {1752 // rollback1753 if (!psDBRollback(config->dbh)) {1754 psError(PS_ERR_UNKNOWN, false, "database error");1755 }1756 psError(PS_ERR_UNKNOWN, false, "database error");1757 psFree(query4);1758 return false;1759 }1760 //1761 psFree(query4);1762 1763 1764 1765 // since there is only one exp per 'new' set mindvodbRun.state = 'merged'1766 1767 1681 psString query2 = NULL ; 1768 1682 psStringAppend(&query2, "UPDATE minidvodbRun SET state = 'merged' WHERE minidvodb_id = %'" PRIu64, row->minidvodb_id); … … 1777 1691 return false; 1778 1692 } 1779 1780 1781 1782 1783 1784 1785 1786 1787 1693 psFree(row); 1788 1694 psFree(pendingRow); … … 1797 1703 return false; 1798 1704 } 1799 1800 1801 //print the merge_order (why not!)1802 printf("%s", final);1803 psFree(final);1804 1805 1705 return true; 1806 1706 } … … 1961 1861 1962 1862 PXOPT_LOOKUP_U64(minidvodb_id, config->args, "-minidvodb_id", true, false); 1963 PXOPT_LOOKUP_U64(merge_order, config->args, "-set_merge_order", false, false);1964 1863 PXOPT_LOOKUP_S16(fault, config->args, "-set_fault", false, false); 1965 1864 PXOPT_LOOKUP_F32(dtime_relphot, config->args, "-set_dtime_relphot", false, false); 1966 1865 PXOPT_LOOKUP_F32(dtime_resort, config->args, "-set_dtime_resort", false, false); 1967 PXOPT_LOOKUP_F32(dtime_merge, config->args, "-set_dtime_merge", false, false);1968 PXOPT_LOOKUP_F32(dtime_verify, config->args, "-set_dtime_verify", false, false);1969 1866 PXOPT_LOOKUP_F32(dtime_script, config->args, "-set_dtime_script", false, false); 1970 1867 PXOPT_COPY_S64(config->args, where, "-minidvodb_id", "minidvodbProcessed.minidvodb_id", "=="); … … 1986 1883 } 1987 1884 1988 if (merge_order) {1989 if (cnt) {1990 psStringAppend(&query, "%s", comma);1991 }1992 1993 psStringAppend(&query, " merge_order = %" PRId64, merge_order);1994 cnt++;1995 }1996 1997 1885 if (dtime_relphot) { 1998 1886 if (cnt) { … … 2011 1899 } 2012 1900 2013 if (dtime_merge) { 2014 if (cnt) { 2015 psStringAppend(&query, "%s", comma); 2016 } 2017 psStringAppend(&query, " dtime_merge = %f", dtime_merge); 2018 cnt++; 2019 } 2020 if (dtime_verify) { 2021 if (cnt) { 2022 psStringAppend(&query, "%s", comma); 2023 } 2024 psStringAppend(&query, " dtime_verify = %f", dtime_verify); 2025 cnt++; 2026 } 2027 if (dtime_script) { 1901 if (dtime_script) { 2028 1902 if (cnt) { 2029 1903 psStringAppend(&query, "%s", comma);
Note:
See TracChangeset
for help on using the changeset viewer.
