#include <boost/format.hpp>
+boost::format GSQLformat(const string &query) {
+ boost::format format(query);
+ format.exceptions(boost::io::no_error_bits);
+ return format;
+}
void GSQLBackend::setNotified(uint32_t domain_id, uint32_t serial)
{
bool GSQLBackend::isMaster(const string &domain, const string &ip)
{
- string query = (boost::format(d_MasterOfDomainsZoneQuery) % sqlEscape(domain)).str();
+ string query = (GSQLformat(d_MasterOfDomainsZoneQuery) % sqlEscape(domain)).str();
try {
d_db->doQuery(query, d_result);
bool GSQLBackend::setMaster(const string &domain, const string &ip)
{
- string query = (boost::format(d_UpdateMasterOfZoneQuery) % sqlEscape(ip) % sqlEscape(toLower(domain))).str();
+ string query = (GSQLformat(d_UpdateMasterOfZoneQuery) % sqlEscape(ip) % sqlEscape(toLower(domain))).str();
try {
d_db->doCommand(query);
bool GSQLBackend::setKind(const string &domain, const DomainInfo::DomainKind kind)
{
string kind_str = toUpper(DomainInfo::getKindString(kind));
- string query = (boost::format(d_UpdateKindOfZoneQuery) % sqlEscape(kind_str) % sqlEscape(toLower(domain))).str();
+ string query = (GSQLformat(d_UpdateKindOfZoneQuery) % sqlEscape(kind_str) % sqlEscape(toLower(domain))).str();
try {
d_db->doCommand(query);
return false;
char output[16384];
- string clearQuery = (boost::format(d_ClearDomainMetadataQuery) % sqlEscape(toLower(name)) % sqlEscape(kind)).str();
+ string clearQuery = (GSQLformat(d_ClearDomainMetadataQuery) % sqlEscape(toLower(name)) % sqlEscape(kind)).str();
try {
d_db->doCommand(clearQuery);
string query;
if(qtype.getCode()!=QType::ANY) {
if(domain_id < 0) {
- query = (boost::format(d_NoIdQuery)
+ query = (GSQLformat(d_NoIdQuery)
% sqlEscape(qtype.getName())
% sqlEscape(lcqname)
).str();
} else {
- query = (boost::format(d_IdQuery)
+ query = (GSQLformat(d_IdQuery)
% sqlEscape(qtype.getName())
% sqlEscape(lcqname)
% domain_id
} else {
// qtype==ANY
if(domain_id < 0) {
- query = (boost::format(d_ANYNoIdQuery)
+ query = (GSQLformat(d_ANYNoIdQuery)
% sqlEscape(lcqname)
).str();
} else {
- query = (boost::format(d_ANYIdQuery)
+ query = (GSQLformat(d_ANYIdQuery)
% sqlEscape(lcqname)
% domain_id
).str();
{
DLOG(L<<"GSQLBackend constructing handle for list of domain id '"<<domain_id<<"'"<<endl);
- string query = (boost::format(d_listQuery)
+ string query = (GSQLformat(d_listQuery)
% (int)include_disabled
% domain_id
).str();
bool GSQLBackend::listSubZone(const string &zone, int domain_id) {
string wildzone = "%." + zone;
- string query = (boost::format(d_listSubZoneQuery)
+ string query = (GSQLformat(d_listSubZoneQuery)
% sqlEscape(zone)
% sqlEscape(wildzone)
% domain_id
bool GSQLBackend::createDomain(const string &domain)
{
- string query = (boost::format(d_InsertZoneQuery) % toLower(sqlEscape(domain))).str();
+ string query = (GSQLformat(d_InsertZoneQuery) % toLower(sqlEscape(domain))).str();
try {
d_db->doCommand(query);
}
return false;
}
- string recordsQuery = (boost::format(d_DeleteZoneQuery) % di.id).str();
+ string recordsQuery = (GSQLformat(d_DeleteZoneQuery) % di.id).str();
string metadataQuery;
string keysQuery;
- string commentsQuery = (boost::format(d_DeleteCommentsQuery) % di.id).str();
- string domainQuery = (boost::format(d_DeleteDomainQuery) % sqlDomain).str();
+ string commentsQuery = (GSQLformat(d_DeleteCommentsQuery) % di.id).str();
+ string domainQuery = (GSQLformat(d_DeleteDomainQuery) % sqlDomain).str();
- metadataQuery = (boost::format(d_ClearDomainAllMetadataQuery) % sqlDomain).str();
- keysQuery = (boost::format(d_ClearDomainAllKeysQuery) % sqlDomain).str();
+ metadataQuery = (GSQLformat(d_ClearDomainAllMetadataQuery) % sqlDomain).str();
+ keysQuery = (GSQLformat(d_ClearDomainAllKeysQuery) % sqlDomain).str();
try {
d_db->doCommand(recordsQuery);
void GSQLBackend::getAllDomains(vector<DomainInfo> *domains, bool include_disabled)
{
DLOG(L<<"GSQLBackend retrieving all domains."<<endl);
- string query = (boost::format(d_getAllDomainsQuery) % (int)include_disabled).str();
+ string query = (GSQLformat(d_getAllDomainsQuery) % (int)include_disabled).str();
try {
d_db->doQuery(query);
{
string query;
if (qt != QType::ANY) {
- query = (boost::format(d_DeleteRRSetQuery)
+ query = (GSQLformat(d_DeleteRRSetQuery)
% domain_id
% sqlEscape(qname)
% sqlEscape(qt.getName())
).str();
} else {
- query = (boost::format(d_DeleteNamesQuery)
+ query = (GSQLformat(d_DeleteNamesQuery)
% domain_id
% sqlEscape(qname)
).str();
if (rrset.empty()) {
// zap comments for now non-existing rrset
- query = (boost::format(d_DeleteCommentRRsetQuery)
+ query = (GSQLformat(d_DeleteCommentRRsetQuery)
% domain_id
% sqlEscape(qname)
% sqlEscape(qt.getName())
string query;
if(d_dnssecQueries && ordername)
- query = (boost::format(d_InsertRecordOrderQuery)
+ query = (GSQLformat(d_InsertRecordOrderQuery)
% sqlEscape(r.content)
% r.ttl
% r.priority
% (int)(r.auth)
).str();
else
- query = (boost::format(d_InsertRecordQuery)
+ query = (GSQLformat(d_InsertRecordQuery)
% sqlEscape(r.content)
% r.ttl
% r.priority
BOOST_FOREACH(nt, nonterm) {
- query = (boost::format(d_InsertEntQuery)
+ query = (GSQLformat(d_InsertEntQuery)
% domain_id
% toLower(sqlEscape(nt.first))
% (int)(nt.second || !d_dnssecQueries)
BOOST_FOREACH(nt, nonterm) {
if(narrow || !nt.second) {
- query = (boost::format(d_InsertEntQuery)
+ query = (GSQLformat(d_InsertEntQuery)
% domain_id
% toLower(sqlEscape(nt.first))
% nt.second
).str();
} else {
ordername=toBase32Hex(hashQNameWithSalt(times, salt, nt.first));
- query = (boost::format(d_InsertEntOrderQuery)
+ query = (GSQLformat(d_InsertEntOrderQuery)
% domain_id
% toLower(sqlEscape(nt.first))
% toLower(sqlEscape(ordername))
bool GSQLBackend::listComments(const uint32_t domain_id)
{
- string query = (boost::format(d_ListCommentsQuery)
+ string query = (GSQLformat(d_ListCommentsQuery)
% domain_id
).str();
void GSQLBackend::feedComment(const Comment& comment)
{
- string query = (boost::format(d_InsertCommentQuery)
+ string query = (GSQLformat(d_InsertCommentQuery)
% comment.domain_id
% toLower(sqlEscape(comment.qname))
% sqlEscape(comment.qtype.getName())
bool GSQLBackend::replaceComments(const uint32_t domain_id, const string& qname, const QType& qt, const vector<Comment>& comments)
{
string query;
- query = (boost::format(d_DeleteCommentRRsetQuery)
+ query = (GSQLformat(d_DeleteCommentRRsetQuery)
% domain_id
% toLower(sqlEscape(qname))
% sqlEscape(qt.getName())