]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Provide rrset timestamps in LMDB.
authorMiod Vallat <miod.vallat@powerdns.com>
Fri, 18 Jul 2025 08:27:25 +0000 (10:27 +0200)
committerMiod Vallat <miod.vallat@powerdns.com>
Wed, 6 Aug 2025 04:56:45 +0000 (06:56 +0200)
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
(cherry picked from commit 75531c0b7e0d7a317a7c01951e64c67d14697943)

modules/lmdbbackend/lmdbbackend.cc
modules/lmdbbackend/lmdbbackend.hh

index 82f4d603393bdf0e92c7308b215f3f8da9e70d20..70f8780c57db6849dcf475ed7be6f5113cab1f13 100644 (file)
@@ -1513,6 +1513,7 @@ bool LMDBBackend::get(DNSZoneRecord& zr)
       }
 
       serFromString(d_currentVal.get<string_view>(), d_currentrrset);
+      d_currentrrsettime = LMDBLS::LSgetTimestamp(d_currentVal.getNoStripHeader<string_view>()) / (1000UL * 1000UL * 1000UL);
       d_currentrrsetpos = 0;
     }
     else {
@@ -1567,6 +1568,7 @@ bool LMDBBackend::get(DNSResourceRecord& rr)
   rr.domain_id = zr.domain_id;
   rr.auth = zr.auth;
   rr.disabled = zr.disabled;
+  rr.last_modified = d_currentrrsettime;
 
   return true;
 }
index 4df9c34cbe8306ea8fa5a6a5522a9d54119fdf6a..f5c7123d54c16a7d402d444095e7f0a69a65ce40 100644 (file)
@@ -323,6 +323,7 @@ private:
 
   vector<LMDBResourceRecord> d_currentrrset;
   size_t d_currentrrsetpos;
+  time_t d_currentrrsettime;
   MDBOutVal d_currentKey;
   MDBOutVal d_currentVal;
   bool d_includedisabled;