From: Miod Vallat Date: Wed, 9 Jul 2025 19:46:19 +0000 (+0200) Subject: Heed the domain_id in list rather than try and recompute it. NFCI X-Git-Tag: rec-5.4.0-alpha0~34^2~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6572103f0e43ab6d5d2c425d67cbb4b8706a441d;p=thirdparty%2Fpdns.git Heed the domain_id in list rather than try and recompute it. NFCI Signed-off-by: Miod Vallat --- diff --git a/modules/lmdbbackend/lmdbbackend.cc b/modules/lmdbbackend/lmdbbackend.cc index fcf675ba16..c12c073f8b 100644 --- a/modules/lmdbbackend/lmdbbackend.cc +++ b/modules/lmdbbackend/lmdbbackend.cc @@ -1717,36 +1717,23 @@ bool LMDBBackend::deleteDomain(const ZoneName& domain) return true; } -bool LMDBBackend::list(const ZoneName& target, domainid_t /* id */, bool include_disabled) +bool LMDBBackend::list(const ZoneName& target, domainid_t domain_id, bool include_disabled) { + d_lookupdomain = target; d_includedisabled = include_disabled; - DomainInfo di; - { - auto dtxn = d_tdomains->getROTransaction(); - if ((di.id = dtxn.get<0>(target, di))) { - // cerr << "Found domain " << target << " on domain_id " << di.id << ", list requested " << id << endl; - } - else { - // cerr << "Did not find " << target << endl; - return false; - } - } - - d_rotxn = getRecordsROTransaction(di.id, d_rwtxn); + d_rotxn = getRecordsROTransaction(domain_id, d_rwtxn); d_txnorder = true; d_getcursor = std::make_shared(d_rotxn->txn->getCursor(d_rotxn->db->dbi)); - compoundOrdername co; - std::string match = co(di.id); + compoundOrdername co; // NOLINT(readability-identifier-length) + std::string match = co(domain_id); MDBOutVal key, val; if (d_getcursor->prefix(match, key, val) != 0) { d_getcursor.reset(); } - d_lookupdomain = target; - // Make sure we start with fresh data d_currentrrset.clear(); d_currentrrsetpos = 0; diff --git a/modules/lmdbbackend/lmdbbackend.hh b/modules/lmdbbackend/lmdbbackend.hh index fdc08f14a8..c01f292e32 100644 --- a/modules/lmdbbackend/lmdbbackend.hh +++ b/modules/lmdbbackend/lmdbbackend.hh @@ -74,7 +74,7 @@ public: ~LMDBBackend(); unsigned int getCapabilities() override; - bool list(const ZoneName& target, domainid_t domainId, bool include_disabled) override; + bool list(const ZoneName& target, domainid_t domain_id, bool include_disabled) override; bool getDomainInfo(const ZoneName& domain, DomainInfo& info, bool getserial = true) override; bool createDomain(const ZoneName& domain, const DomainInfo::DomainKind kind, const vector& primaries, const string& account) override;