[svn] commit: r2533 - in /branches/trac232/src: bin/auth/auth_srv.cc lib/datasrc/data_source.cc lib/datasrc/data_source.h lib/datasrc/sqlite3_datasrc.cc lib/datasrc/sqlite3_datasrc.h lib/datasrc/tests/sqlite3_unittest.cc

BIND 10 source code commits bind10-changes at lists.isc.org
Mon Jul 19 14:46:14 UTC 2010


Author: jelte
Date: Mon Jul 19 14:46:14 2010
New Revision: 2533

Log:
removed sqlite3 specific calls from doIXFR and moved it up to data_source.h
also a bit of general cleanup

Modified:
    branches/trac232/src/bin/auth/auth_srv.cc
    branches/trac232/src/lib/datasrc/data_source.cc
    branches/trac232/src/lib/datasrc/data_source.h
    branches/trac232/src/lib/datasrc/sqlite3_datasrc.cc
    branches/trac232/src/lib/datasrc/sqlite3_datasrc.h
    branches/trac232/src/lib/datasrc/tests/sqlite3_unittest.cc

Modified: branches/trac232/src/bin/auth/auth_srv.cc
==============================================================================
--- branches/trac232/src/bin/auth/auth_srv.cc (original)
+++ branches/trac232/src/bin/auth/auth_srv.cc Mon Jul 19 14:46:14 2010
@@ -364,7 +364,7 @@
                                    RRTTL(args->get("rr_ttl")->stringValue())));
         RdataPtr rdata = createRdata(rrset->getType(), rrset->getClass(), args->get("rr_rdata")->stringValue());
         rrset->addRdata(rdata);
-        DataSrcTransaction transaction(datasource, zone_name);
+        DataSrcTransaction transaction(datasource, zone_name, RRClass::IN());
         DataSrc::Result r = datasource->startTransaction(transaction);
         if (r != DataSrc::SUCCESS) {
             return isc::config::createAnswer(r, "error starting transaction");
@@ -414,7 +414,7 @@
                 rrset->addRdata(rdata);
             }
         }
-        DataSrcTransaction transaction(datasource, zone_name);
+        DataSrcTransaction transaction(datasource, zone_name, RRClass::IN());
         DataSrc::Result r = datasource->startTransaction(transaction);
         if (r != DataSrc::SUCCESS) {
             return isc::config::createAnswer(r, "error starting transaction");
@@ -501,7 +501,7 @@
         DataSrc* datasource = const_cast<DataSrc*>(match.getDataSource());
         // hmz can't we assign RRTypes?
         if (datasource) {
-            DataSrcTransaction transaction(datasource, zone_name);
+            DataSrcTransaction transaction(datasource, zone_name, RRClass::IN());
             DataSrc::Result r = datasource->startTransaction(transaction);
             if (r != DataSrc::SUCCESS) {
                 return isc::config::createAnswer(r, "error starting transaction");
@@ -588,7 +588,7 @@
         impl_->data_sources_.findClosestEnclosure(match);
         DataSrc* datasource = const_cast<DataSrc*>(match.getDataSource());
         if (datasource) {
-            DataSrcTransaction transaction(datasource, zone_name);
+            DataSrcTransaction transaction(datasource, zone_name, RRClass::IN());
             DataSrc::Result result = datasource->startTransaction(transaction);
             if (result != DataSrc::SUCCESS) {
                 return isc::config::createAnswer(result, "error starting transaction");

Modified: branches/trac232/src/lib/datasrc/data_source.cc
==============================================================================
--- branches/trac232/src/lib/datasrc/data_source.cc (original)
+++ branches/trac232/src/lib/datasrc/data_source.cc Mon Jul 19 14:46:14 2010
@@ -1246,52 +1246,96 @@
 //
 DataSrc::Result
 DataSrc::init(const isc::data::ElementPtr config UNUSED_PARAM) {
-    return NOT_IMPLEMENTED;
+    return (NOT_IMPLEMENTED);
 }
 
 DataSrc::Result
 DataSrc::startTransaction(DataSrcTransaction& transaction UNUSED_PARAM)
 {
-    return NOT_IMPLEMENTED;
+    return (NOT_IMPLEMENTED);
 }
 
 DataSrc::Result
 DataSrc::commitTransaction(DataSrcTransaction& transaction UNUSED_PARAM)
 {
-    return NOT_IMPLEMENTED;
+    return (NOT_IMPLEMENTED);
 }
 
 DataSrc::Result
 DataSrc::rollbackTransaction(DataSrcTransaction& transaction UNUSED_PARAM)
 {
-    return NOT_IMPLEMENTED;
+    return (NOT_IMPLEMENTED);
 }
 
 DataSrc::Result
 DataSrc::addRRset(DataSrcTransaction& transaction UNUSED_PARAM,
                   const isc::dns::ConstRRsetPtr rrset UNUSED_PARAM)
 {
-    return NOT_IMPLEMENTED;
+    return (NOT_IMPLEMENTED);
 }
 
 DataSrc::Result
 DataSrc::delRRset(DataSrcTransaction& transaction UNUSED_PARAM,
                   isc::dns::ConstRRsetPtr rrset UNUSED_PARAM)
 {
-    return NOT_IMPLEMENTED;
+    return (NOT_IMPLEMENTED);
 }
 
 DataSrc::Result
 DataSrc::delZone(DataSrcTransaction& transaction UNUSED_PARAM)
 {
-    return NOT_IMPLEMENTED;
+    return (NOT_IMPLEMENTED);
 }
 
 DataSrc::Result
 DataSrc::replaceZone(DataSrcTransaction& transaction UNUSED_PARAM,
-                     RRsetList& rrsets UNUSED_PARAM)
-{
-    return NOT_IMPLEMENTED;
+                     const RRsetList& UNUSED_PARAM)
+{
+    return (NOT_IMPLEMENTED);
+}
+
+static bool
+equalRRsets(ConstRRsetPtr a, ConstRRsetPtr b) {
+    if (a->getName() != b->getName() ||
+        a->getClass() != b->getClass() ||
+        a->getType() != b->getType() ||
+        a->getRdataCount() != b->getRdataCount()) {
+        return (false);
+    }
+    RdataIteratorPtr ita = a->getRdataIterator();
+    RdataIteratorPtr itb = b->getRdataIterator();
+    itb->first();
+    for (ita->first(); !ita->isLast(); ita->next()) {
+        if (ita->getCurrent().compare(itb->getCurrent()) != 0) {
+            return (false);
+        }
+        itb->next();
+    }
+    return (true);
+}
+
+bool
+DataSrc::haveRRset(DataSrcTransaction& transaction UNUSED_PARAM,
+                   ConstRRsetPtr rrset) {
+    RRsetList rrset_list;
+    DataSrc::Result result;
+    uint32_t flags = 0;
+
+    if (rrset->getClass() == RRClass::ANY() || rrset->getClass() == RRClass::NONE()) {
+        result = findExactRRset(rrset->getName(), RRClass::IN(),
+                                         rrset->getType(), rrset_list, flags, NULL);
+    } else {
+        result = findExactRRset(rrset->getName(), rrset->getClass(),
+                                         rrset->getType(), rrset_list, flags, NULL);
+    }
+    if (result != DataSrc::SUCCESS || rrset_list.size() == 0) {
+        return (false);
+    }
+    if (rrset->getRdataCount() > 0) {
+        return (equalRRsets(rrset, *(rrset_list.begin())));
+    } else {
+        return ((*(rrset_list.begin()))->getRdataCount() > 0);
+    }
 }
 
 DataSrc::Result
@@ -1299,7 +1343,74 @@
                 const isc::dns::RRsetIterator start UNUSED_PARAM,
                 const isc::dns::RRsetIterator end UNUSED_PARAM)
 {
-    return NOT_IMPLEMENTED;
+    if (transaction.getState() != DataSrcTransaction::RUNNING) {
+        return (DataSrc::ERROR);
+    }
+
+    RRsetIterator rrsets = start;
+    RRsetPtr final_soa = *rrsets;
+    rrsets++;
+    RRsetPtr first_soa = *rrsets;
+    rrsets++;
+    if (first_soa->getType() == RRType::SOA()) {
+        if (!haveRRset(transaction, first_soa)) {
+            std::cout << "[XX] Start SOA does not match mine: " << first_soa->toText() << std::endl;
+            return (DataSrc::ERROR);
+        }
+    } else {
+        // Not a SOA, then this must be an AXFR-type response
+        //int zone_id = transaction.getData()->get("zone_id")->intValue();
+        //delAll(zone_id);
+        RRsetList empty_list;
+        replaceZone(transaction, empty_list);
+        
+        while (rrsets != end) {
+            addRRset(transaction, *rrsets++);
+        }
+        return (DataSrc::SUCCESS);
+    }
+    bool deleting = true;
+
+    std::cout << "[XX] final soa: " << final_soa->toText() << std::endl;
+    RRsetPtr cur_rrset;
+    while (rrsets != end) {
+        cur_rrset = *rrsets;
+        std::cout << "[XX] cur rrset: " << cur_rrset->toText() << std::endl;
+
+        // If we see a SOA, it means we are switching operations (either
+        // we start deleting or adding depending on what we were doing
+        // before.
+        // We don't delete the actual SOA itself, 
+        if (cur_rrset->getType() == RRType::SOA()) {
+            // TODO: check if serial has increased compared to the last soa we saw
+            deleting = !deleting;
+        } else {
+            if (deleting) {
+                // check if rrset exists, if not, something is very wrong, abort
+                if (haveRRset(transaction, cur_rrset)) {
+                    std::cout << "[XX] delete: " << cur_rrset->toText() << std::endl;
+                    delRRset(transaction, cur_rrset);
+                } else {
+                    std::cout << "[XX] rrset for delete not found: " << cur_rrset->toText() << std::endl;
+                    return (DataSrc::ERROR);
+                }
+            } else {
+                std::cout << "[XX] add: " << cur_rrset->toText() << std::endl;
+                addRRset(transaction, cur_rrset);
+            }
+        }
+        rrsets++;
+    }
+    if (equalRRsets(cur_rrset, final_soa)) {
+        // Finally replace the SOA
+        delRRset(transaction, first_soa);
+        addRRset(transaction, final_soa);
+        return (DataSrc::SUCCESS);
+    } else {
+        std::cout << "[XX] something went wrong" << std::endl;
+        return (DataSrc::ERROR);
+    }
+    return (NOT_IMPLEMENTED);
 }
 
 
@@ -1375,47 +1486,47 @@
 DataSrc::Result
 MetaDataSrc::startTransaction(DataSrcTransaction& transaction UNUSED_PARAM)
 {
-    return NOT_IMPLEMENTED;
+    return (NOT_IMPLEMENTED);
 }
 
 DataSrc::Result
 MetaDataSrc::commitTransaction(DataSrcTransaction& transaction UNUSED_PARAM)
 {
-    return NOT_IMPLEMENTED;
+    return (NOT_IMPLEMENTED);
 }
 
 DataSrc::Result
 MetaDataSrc::rollbackTransaction(DataSrcTransaction& transaction UNUSED_PARAM)
 {
-    return NOT_IMPLEMENTED;
+    return (NOT_IMPLEMENTED);
 }
 
 DataSrc::Result
 MetaDataSrc::addRRset(DataSrcTransaction& transaction UNUSED_PARAM,
                       isc::dns::ConstRRsetPtr rrset UNUSED_PARAM)
 {
-    return NOT_IMPLEMENTED;
+    return (NOT_IMPLEMENTED);
 }
 
 DataSrc::Result
 MetaDataSrc::delRRset(DataSrcTransaction& transaction UNUSED_PARAM,
                       isc::dns::ConstRRsetPtr rrset UNUSED_PARAM)
 {
-    return NOT_IMPLEMENTED;
+    return (NOT_IMPLEMENTED);
 }
 
 DataSrc::Result
 MetaDataSrc::delZone(DataSrcTransaction& transaction UNUSED_PARAM)
 {
-    return NOT_IMPLEMENTED;
+    return (NOT_IMPLEMENTED);
 }
 
 DataSrc::Result
 MetaDataSrc::replaceZone(DataSrcTransaction& transaction UNUSED_PARAM,
-                         RRsetList& rrsets UNUSED_PARAM)
-{
-    return NOT_IMPLEMENTED;
-}
-
-}
-}
+                         const isc::dns::RRsetList& rrset_list UNUSED_PARAM)
+{
+    return (NOT_IMPLEMENTED);
+}
+
+}
+}

Modified: branches/trac232/src/lib/datasrc/data_source.h
==============================================================================
--- branches/trac232/src/lib/datasrc/data_source.h (original)
+++ branches/trac232/src/lib/datasrc/data_source.h Mon Jul 19 14:46:14 2010
@@ -185,12 +185,13 @@
                                 _data_source(data_source),
                                 _state(INIT) {};
     ~DataSrcTransaction();
-    states getState() { return _state; };
+    states getState() { return (_state); };
     void setState(states state) { _state = state; };
-    isc::data::ElementPtr getData() { return _data; };
+    isc::data::ElementPtr getData() { return (_data); };
     void setData(isc::data::ElementPtr data) { _data = data; };
-    const isc::dns::Name getZoneName() { return _zone_name; };
-    const isc::dns::RRClass getZoneClass() { return _zone_class; };
+    const isc::dns::Name getZoneName() { return (_zone_name); };
+    const isc::dns::RRClass getZoneClass() { return (_zone_class); };
+    DataSrc* getDataSource() { return (_data_source); };
 
 private:
     isc::data::ElementPtr _data;
@@ -225,9 +226,9 @@
     void setClass(isc::dns::RRClass& c) { rrclass = c; }
     void setClass(const isc::dns::RRClass& c) { rrclass = c; }
 
-    Result init() { return NOT_IMPLEMENTED; }
+    Result init() { return (NOT_IMPLEMENTED); }
     Result init(const isc::data::ElementPtr config);
-    Result close() { return NOT_IMPLEMENTED; }
+    Result close() { return (NOT_IMPLEMENTED); }
 
     virtual Result findRRset(const isc::dns::Name& qname,
                              const isc::dns::RRClass& qclass,
@@ -273,7 +274,9 @@
                             isc::dns::ConstRRsetPtr rrset);
     virtual Result delZone(DataSrcTransaction&  transaction);
     virtual Result replaceZone(DataSrcTransaction&  transaction,
-                               isc::dns::RRsetList& rrsets);
+                               const isc::dns::RRsetList& rrsets);
+    virtual bool haveRRset(DataSrcTransaction& transaction,
+                           isc::dns::ConstRRsetPtr rrset);
     virtual Result startTransaction(DataSrcTransaction&  transaction);
     virtual Result commitTransaction(DataSrcTransaction&  transaction);
     virtual Result rollbackTransaction(DataSrcTransaction&  transaction);
@@ -363,7 +366,7 @@
                             isc::dns::ConstRRsetPtr rrset);
     virtual Result delZone(DataSrcTransaction&  transaction);
     virtual Result replaceZone(DataSrcTransaction&  transaction,
-                               isc::dns::RRsetList& rrsets);
+                               const isc::dns::RRsetList& rrsets);
     // end of writable data sources part
 private:
     std::vector<ConstDataSrcPtr> data_sources;

Modified: branches/trac232/src/lib/datasrc/sqlite3_datasrc.cc
==============================================================================
--- branches/trac232/src/lib/datasrc/sqlite3_datasrc.cc (original)
+++ branches/trac232/src/lib/datasrc/sqlite3_datasrc.cc Mon Jul 19 14:46:14 2010
@@ -1077,7 +1077,7 @@
 
 DataSrc::Result
 Sqlite3DataSrc::replaceZone(DataSrcTransaction& transaction,
-                            isc::dns::RRsetList& rrsets)
+                            const isc::dns::RRsetList& rrsets)
 {
     if (transaction.getState() != DataSrcTransaction::RUNNING) {
         return DataSrc::ERROR;
@@ -1089,8 +1089,13 @@
     if (result != DataSrc::SUCCESS) {
         return result;
     }
-    BOOST_FOREACH(isc::dns::RRsetPtr rrset, rrsets) {
-        addRRset(transaction, rrset);
+
+    RRsetList::const_iterator it = rrsets.begin();
+    while (it != rrsets.end()) {
+        result = addRRset(transaction, *it);
+        if (result != DataSrc::SUCCESS) {
+            return result;
+        }
     }
     return DataSrc::SUCCESS;
 }
@@ -1171,135 +1176,6 @@
     return result;
 }
 
-static bool
-equalRRsets(const RRsetPtr& a, const RRsetPtr& b) {
-    if (a->getName() != b->getName() ||
-        a->getClass() != b->getClass() ||
-        a->getType() != b->getType() ||
-        a->getRdataCount() != b->getRdataCount()) {
-        return false;
-    }
-    RdataIteratorPtr ita = a->getRdataIterator();
-    RdataIteratorPtr itb = b->getRdataIterator();
-    itb->first();
-    for (ita->first(); !ita->isLast(); ita->next()) {
-        if (ita->getCurrent().compare(itb->getCurrent()) != 0) {
-            return false;
-        }
-        itb->next();
-    }
-    return true;
-}
-
-// should we have this as a convenience function in DataSrc?
-static bool
-haveRRset(const AbstractDataSrc *datasrc, const RRsetPtr rrset) {
-    RRsetList rrset_list;
-    DataSrc::Result result;
-    uint32_t flags = 0;
-
-    cout << "[XX] haveRRset called on " << rrset->toText() << endl;
-    
-    if (rrset->getClass() == RRClass::ANY() || rrset->getClass() == RRClass::NONE()) {
-        result = datasrc->findExactRRset(rrset->getName(), RRClass::IN(),
-                                         rrset->getType(), rrset_list, flags, NULL);
-    } else {
-        result = datasrc->findExactRRset(rrset->getName(), rrset->getClass(),
-                                         rrset->getType(), rrset_list, flags, NULL);
-    }
-    if (result != DataSrc::SUCCESS || rrset_list.size() == 0) {
-        cout << "[XX] findExact result not SUCCESS or rrset_list.size 0" << endl;
-        cout << "[XX] size: " << rrset_list.size() << endl;
-        cout << "[XX] returning false" << endl;
-        return false;
-    }
-    if (rrset->getRdataCount() > 0) {
-        cout << "[XX] checking for completely equal" << endl;
-        cout << "[XX] want: " << rrset->toText() << endl;
-        cout << "[XX] have: " << (*(rrset_list.begin()))->toText() << endl;
-        cout << "[XX] returning: " << equalRRsets(rrset, *(rrset_list.begin())) << endl;
-        return equalRRsets(rrset, *(rrset_list.begin()));
-    } else {
-        cout << "[XX] rdata count for match 0, so we found it" << endl;
-        cout << "[XX] returning: " << ((*(rrset_list.begin()))->getRdataCount() > 0) << endl;
-        return ((*(rrset_list.begin()))->getRdataCount() > 0);
-    }
-}
-
-// TODO: this is a very general one, move to DataSrc?
-//       also more specific return values on error
-DataSrc::Result
-Sqlite3DataSrc::doIXFR(DataSrcTransaction& transaction,
-                       const RRsetIterator start,
-                       const RRsetIterator end)
-{
-    if (transaction.getState() != DataSrcTransaction::RUNNING) {
-        return DataSrc::ERROR;
-    }
-
-    RRsetIterator rrsets = start;
-    RRsetPtr final_soa = *rrsets;
-    rrsets++;
-    RRsetPtr first_soa = *rrsets;
-    rrsets++;
-    if (first_soa->getType() == RRType::SOA()) {
-        if (!haveRRset(this, first_soa)) {
-            std::cout << "[XX] Start SOA does not match mine: " << first_soa->toText() << std::endl;
-            return DataSrc::ERROR;
-        }
-    } else {
-        // Not a SOA, then this must be an AXFR-type response
-        int zone_id = transaction.getData()->get("zone_id")->intValue();
-        delAll(zone_id);
-        
-        while (rrsets != end) {
-            addRRset(transaction, *rrsets++);
-        }
-        return DataSrc::SUCCESS;
-    }
-    bool deleting = true;
-
-    std::cout << "[XX] final soa: " << final_soa->toText() << std::endl;
-    RRsetPtr cur_rrset;
-    while (rrsets != end) {
-        cur_rrset = *rrsets;
-        std::cout << "[XX] cur rrset: " << cur_rrset->toText() << std::endl;
-
-        // If we see a SOA, it means we are switching operations (either
-        // we start deleting or adding depending on what we were doing
-        // before.
-        // We don't delete the actual SOA itself, 
-        if (cur_rrset->getType() == RRType::SOA()) {
-            // TODO: check if serial has increased compared to the last soa we saw
-            deleting = !deleting;
-        } else {
-            if (deleting) {
-                // check if rrset exists, if not, something is very wrong, abort
-                if (haveRRset(this, cur_rrset)) {
-                    std::cout << "[XX] delete: " << cur_rrset->toText() << std::endl;
-                    delRRset(transaction, cur_rrset);
-                } else {
-                    std::cout << "[XX] rrset for delete not found: " << cur_rrset->toText() << std::endl;
-                    return DataSrc::ERROR;
-                }
-            } else {
-                std::cout << "[XX] add: " << cur_rrset->toText() << std::endl;
-                addRRset(transaction, cur_rrset);
-            }
-        }
-        rrsets++;
-    }
-    if (equalRRsets(cur_rrset, final_soa)) {
-        // Finally replace the SOA
-        delRRset(transaction, first_soa);
-        addRRset(transaction, final_soa);
-        return DataSrc::SUCCESS;
-    } else {
-        std::cout << "[XX] something went wrong" << std::endl;
-        return DataSrc::ERROR;
-    }
-}
-
 isc::dns::Rcode
 Sqlite3DataSrc::updateCheckPrerequisite(DataSrcTransaction& transaction, RRsetPtr prereq)
 {
@@ -1311,10 +1187,10 @@
             return Rcode::FORMERR();
         }
         if (prereq->getType() == RRType::ANY()) {
-            if (!haveRRset(this, prereq)) {
+            if (!haveRRset(transaction, prereq)) {
                 return Rcode::NXDOMAIN();
             }
-        } else if (!haveRRset(this, prereq)) {
+        } else if (!haveRRset(transaction, prereq)) {
             return Rcode::NXRRSET();
         }
     } else if (prereq->getClass() == RRClass::NONE()) {
@@ -1323,10 +1199,10 @@
             return Rcode::FORMERR();
         }
         if (prereq->getType() == RRType::ANY()) {
-            if (haveRRset(this, prereq)) {
+            if (haveRRset(transaction, prereq)) {
                 return Rcode::YXDOMAIN();
             }
-        } else if (haveRRset(this, prereq)) {
+        } else if (haveRRset(transaction, prereq)) {
             return Rcode::YXRRSET();
         }
     } else if (prereq->getClass() == transaction.getZoneClass()) {
@@ -1334,7 +1210,7 @@
             return Rcode::FORMERR();
         }
         // 3.2.3 talks about rebuilding sets, but we already have full rrsets
-        if (!haveRRset(this, prereq)) {
+        if (!haveRRset(transaction, prereq)) {
             return Rcode::NXRRSET();
         }
     } else {

Modified: branches/trac232/src/lib/datasrc/sqlite3_datasrc.h
==============================================================================
--- branches/trac232/src/lib/datasrc/sqlite3_datasrc.h (original)
+++ branches/trac232/src/lib/datasrc/sqlite3_datasrc.h Mon Jul 19 14:46:14 2010
@@ -119,11 +119,13 @@
     DataSrc::Result delRRset(DataSrcTransaction& transaction,
                              isc::dns::ConstRRsetPtr rrset);
     DataSrc::Result replaceZone(DataSrcTransaction& transaction,
-                                isc::dns::RRsetList& rrsets);
+                                const isc::dns::RRsetList& rrset_list);
     DataSrc::Result delZone(DataSrcTransaction& transaction);
+/*
     DataSrc::Result doIXFR(DataSrcTransaction& transaction,
                            const isc::dns::RRsetIterator start,
                            const isc::dns::RRsetIterator end);
+*/
     DataSrc::Result doUpdate(DataSrcTransaction& transaction,
                              isc::dns::Message& msg);
 

Modified: branches/trac232/src/lib/datasrc/tests/sqlite3_unittest.cc
==============================================================================
--- branches/trac232/src/lib/datasrc/tests/sqlite3_unittest.cc (original)
+++ branches/trac232/src/lib/datasrc/tests/sqlite3_unittest.cc Mon Jul 19 14:46:14 2010
@@ -980,6 +980,7 @@
               data_source.rollbackTransaction(transaction));
     EXPECT_EQ(DataSrc::ERROR,
               data_source.addRRset(transaction, new_rrset));
+    RRsetIterator rrset_it = RRsetIterator();
     RRsetList empty_list;
     EXPECT_EQ(DataSrc::ERROR,
               data_source.replaceZone(transaction, empty_list));
@@ -1117,12 +1118,12 @@
     EXPECT_EQ(DataSrc::SUCCESS, find_flags);
     EXPECT_EQ(1, result_sets.size());
 
-    RRsetList new_list;
+    RRsetList empty_list;
 
     // Replace them, roll back
     DataSrcTransaction transaction1(&data_source, zone_name, RRClass::IN());
     data_source.startTransaction(transaction1);
-    data_source.replaceZone(transaction1, new_list);
+    data_source.replaceZone(transaction1, empty_list);
     data_source.rollbackTransaction(transaction1);
 
     // check whether it still exists
@@ -1135,7 +1136,7 @@
     // Replace them, commit
     DataSrcTransaction transaction2(&data_source, zone_name, RRClass::IN());
     data_source.startTransaction(transaction2);
-    data_source.replaceZone(transaction2, new_list);
+    data_source.replaceZone(transaction2, empty_list);
     data_source.commitTransaction(transaction2);
     
     // check whether it's gone now




More information about the bind10-changes mailing list