Changeset 42737
- Timestamp:
- Dec 6, 2024, 12:00:04 PM (20 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20230313/ippTools/src/addtool.c
r41213 r42737 1683 1683 // required 1684 1684 PXOPT_LOOKUP_STR(minidvodb_group, config->args, "-set_minidvodb_group", true, false); 1685 PXOPT_LOOKUP_STR(minidvodb_path , config->args, "-set_minidvodb_path", false, false);1685 PXOPT_LOOKUP_STR(minidvodb_path_raw, config->args, "-set_minidvodb_path", false, false); 1686 1686 PXOPT_LOOKUP_STR(minidvodb_host, config->args, "-set_minidvodb_host", false, false); 1687 1687 //optional 1688 PXOPT_LOOKUP_STR(minidvodb_name , config->args, "-set_minidvodb_name", false, false);1688 PXOPT_LOOKUP_STR(minidvodb_name_raw, config->args, "-set_minidvodb_name", false, false); 1689 1689 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); 1690 1690 PXOPT_LOOKUP_STR(note, config->args, "-set_note", false, false); … … 1695 1695 } 1696 1696 1697 // psString minidvodbpath = "NULL";1698 1699 // I don't know how to get around the complaints of minidvodb_path can't be null. this 'fixes' it, but someone smarter can fix it properly.1700 // if (minidvodb_path) {1701 // minidvodbpath = minidvodb_path;1702 // } else {1703 // psError(PS_ERR_UNKNOWN, false, "require minidvodb_path");1704 // return false;1705 // }1706 1707 1697 if (!minidvodbRunInsert(config->dbh, 1708 1698 0, // job_id 1709 minidvodb_name ,1699 minidvodb_name_raw, 1710 1700 minidvodb_group, 1711 minidvodb_path ,1701 minidvodb_path_raw, 1712 1702 minidvodb_host, 1713 1703 "new", … … 1730 1720 printf("%" PRId64 "\n", minidvodb_id); 1731 1721 1732 1733 if (!minidvodb_name) { 1734 psStringAppend(&minidvodb_name, "%s.%" PRIu64,minidvodb_group,minidvodb_id); 1735 } 1736 if (minidvodb_path) { 1737 psStringAppend(&minidvodb_path,"/%s",minidvodb_name); 1738 } 1739 1740 psString query = NULL; 1741 1742 psStringAppend(&query, "UPDATE minidvodbRun SET minidvodb_path = '%s', minidvodb_name = '%s' where minidvodb_id = %" PRIu64";", minidvodb_path, minidvodb_name, minidvodb_id); 1743 1744 if (!p_psDBRunQuery(config->dbh, query)) { 1745 psError(PS_ERR_UNKNOWN, false, "database error"); 1746 psFree(query); 1747 return false; 1748 } 1749 1750 if (!psDBCommit(config->dbh)) { 1751 psError(PS_ERR_UNKNOWN, false, "database error"); 1752 return false; 1753 } 1722 // we created a new entry using the values supplied above for minidvodb_name_raw, minidvodb_host_raw. 1723 // If minidvodb_name is not specified, it will be generated based on the value of minidvodb_group and 1724 // the minidvodb_id of the new entry. But this means we need to insert first, get the ID, then update. 1725 1726 bool doUpdate = false; 1727 1728 // if minidvodb_name_raw is not specified above, create it from minidvodb_group 1729 psString minidvodb_name = NULL; 1730 if (minidvodb_name_raw) { 1731 minidvodb_name = psStringCopy (minidvodb_name_raw); 1732 } else { 1733 psStringAppend(&minidvodb_name, "%s.%" PRIu64, minidvodb_group, minidvodb_id); 1734 doUpdate = true; 1735 } 1736 1737 // if minidvodb_path_raw IS specified above, update it with the minidvodb_name 1738 psString minidvodb_path = NULL; 1739 if (minidvodb_path_raw) { 1740 psStringAppend(&minidvodb_path, "%s/%s", minidvodb_path_raw, minidvodb_name); 1741 doUpdate = true; 1742 } 1743 1744 if (doUpdate) { 1745 psString query = NULL; 1746 1747 psStringAppend(&query, "UPDATE minidvodbRun SET minidvodb_path = '%s', minidvodb_name = '%s' where minidvodb_id = %" PRIu64";", minidvodb_path, minidvodb_name, minidvodb_id); 1748 1749 if (!p_psDBRunQuery(config->dbh, query)) { 1750 psError(PS_ERR_UNKNOWN, false, "database error"); 1751 psFree(query); 1752 return false; 1753 } 1754 1755 if (!psDBCommit(config->dbh)) { 1756 psError(PS_ERR_UNKNOWN, false, "database error"); 1757 return false; 1758 } 1759 } 1760 1761 psFree (minidvodb_name); 1762 psFree (minidvodb_path); 1754 1763 1755 1764 return true;
Note:
See TracChangeset
for help on using the changeset viewer.
