]> granicus.if.org Git - pdns/commitdiff
make replaceRRset query configurable, thanks Ruben
authorPeter van Dijk <peter.van.dijk@netherlabs.nl>
Mon, 10 Dec 2012 11:09:17 +0000 (11:09 +0000)
committerPeter van Dijk <peter.van.dijk@netherlabs.nl>
Mon, 10 Dec 2012 11:09:17 +0000 (11:09 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@2979 d19b8d6e-7fed-0310-83ef-9ca221ded41b

modules/gmysqlbackend/gmysqlbackend.cc
modules/gpgsqlbackend/gpgsqlbackend.cc
modules/gsqlite3backend/gsqlite3backend.cc
pdns/backends/gsql/gsqlbackend.cc
pdns/backends/gsql/gsqlbackend.hh

index 4e5114d0066f02914283c733ac67569783239490..ca398b221482d10c73df5d1936d1ffeae9407fd9 100644 (file)
@@ -104,6 +104,7 @@ public:
     declare(suffix,"zone-lastchange-query", "", "select max(change_date) from records where domain_id=%d");
     declare(suffix,"info-all-master-query","", "select id,name,master,last_check,notified_serial,type from domains where type='MASTER'");
     declare(suffix,"delete-zone-query","", "delete from records where domain_id=%d");
+    declare(suffix,"delete-rrset-query","","delete from records where domain_id=%d and name='%s' and type='%s'");
     declare(suffix,"add-domain-key-query","", "insert into cryptokeys (domain_id, flags, active, content) select id, %d, %d, '%s' from domains where name='%s'");
     declare(suffix,"list-domain-keys-query","", "select cryptokeys.id, flags, active, content from domains, cryptokeys where cryptokeys.domain_id=domains.id and name='%s'");
     declare(suffix,"get-domain-metadata-query","", "select content from domains, domainmetadata where domainmetadata.domain_id=domains.id and name='%s' and domainmetadata.kind='%s'");
index 50373bd19e7e1ca9ae56bbc2fd1cd833ef9ecdd0..569d943460f52931e3bebab195275efa8d82f26d 100644 (file)
@@ -105,6 +105,7 @@ public:
     declare(suffix,"zone-lastchange-query", "", "select max(change_date) from records where domain_id=%d");
     declare(suffix,"info-all-master-query","", "select id,name,master,last_check,notified_serial,type from domains where type='MASTER'");
     declare(suffix,"delete-zone-query","", "delete from records where domain_id=%d");
+    declare(suffix,"delete-rrset-query","","delete from records where domain_id=%d and name=E'%s' and type=E'%s'");
 
     declare(suffix,"add-domain-key-query","", "insert into cryptokeys (domain_id, flags, active, content) select id, %d, (%d = 1), '%s' from domains where name=E'%s'");
     declare(suffix,"list-domain-keys-query","", "select cryptokeys.id, flags, case when active then 1 else 0 end as active, content from domains, cryptokeys where cryptokeys.domain_id=domains.id and name=E'%s'");
index d29c283cb8316961ebe3fb6e1ddbd544c5dd24e8..2a0d55f501617cb38efce45566bb1faf13cb5c6d 100644 (file)
@@ -114,6 +114,7 @@ public:
     declare (suffix, "zone-lastchange-query", "", "select max(change_date) from records where domain_id=%d");
     declare( suffix, "info-all-master-query", "", "select id,name,master,last_check,notified_serial,type from domains where type='MASTER'");
     declare( suffix, "delete-zone-query", "", "delete from records where domain_id=%d");
+    declare( suffix, "delete-rrset-query", "", "delete from records where domain_id = %d and name='%s' and type='%s'");
     declare(suffix, "dnssec", "Assume DNSSEC Schema is in place","no");
 
     declare(suffix,"add-domain-key-query","", "insert into cryptokeys (domain_id, flags, active, content) select id, %d, %d, '%s' from domains where name='%s'");
index e85b845307a919d0fab5704e9be60ee5ec309a85..14af9c64a260551ed23b3deb3764cbf49cd9da26 100644 (file)
@@ -278,6 +278,7 @@ GSQLBackend::GSQLBackend(const string &mode, const string &suffix)
   d_ZoneLastChangeQuery=getArg("zone-lastchange-query");
   d_InfoOfAllMasterDomainsQuery=getArg("info-all-master-query");
   d_DeleteZoneQuery=getArg("delete-zone-query");
+  d_DeleteRRSet=getArg("delete-rrset-query");
   d_getAllDomainsQuery=getArg("get-all-domains-query");
 
   d_removeEmptyNonTerminalsFromZoneQuery = getArg("remove-empty-non-terminals-from-zone-query");
@@ -874,9 +875,7 @@ bool GSQLBackend::get(DNSResourceRecord &r)
 
 bool GSQLBackend::replaceRRSet(uint32_t domain_id, const string& qname, const QType& qt, const vector<DNSResourceRecord>& rrset)
 {
-  
-  string deleteRRSet = "delete from records where domain_id = %d and name='%s' and type='%s'";
-  string deleteQuery = (boost::format(deleteRRSet) % domain_id % sqlEscape(qname) % sqlEscape(qt.getName())).str();
+  string deleteQuery = (boost::format(d_DeleteRRSet) % domain_id % sqlEscape(qname) % sqlEscape(qt.getName())).str();
   d_db->doCommand(deleteQuery);
   BOOST_FOREACH(const DNSResourceRecord& rr, rrset) {
     feedRecord(rr);
index 7b21b44745ff9fe4e84038db1beda58fb645ae96..7bd3a0836b35fbcb4a0f7b524bedb6d381161d55 100644 (file)
@@ -90,6 +90,7 @@ private:
   string d_UpdateLastCheckofZoneQuery;
   string d_InfoOfAllMasterDomainsQuery;
   string d_DeleteZoneQuery;            
+  string d_DeleteRRSet;
   string d_ZoneLastChangeQuery;
   
   string d_firstOrderQuery;