-- PostgreSQL database dump
--
-\restrict g17YBf4lli4s7tEbGaZCAN5jdVrZH0FZC9n71ikclDKr9c5DPwjSBWlT6huk57h
+\restrict ZeEQIdrFtt8lZBacF2YikE2NldALCViC5aH05xXVTjf5DSP1ITtfKT3w9cYoumo
-- Dumped from database version 17.7 (Debian 17.7-0+deb13u1)
-- Dumped by pg_dump version 17.7 (Debian 17.7-0+deb13u1)
total_domains integer DEFAULT 0 NOT NULL,
pending_reports integer DEFAULT 0 NOT NULL,
priority integer DEFAULT 0 NOT NULL,
- subsumed_domains integer DEFAULT 0 NOT NULL
+ subsumed_domains integer DEFAULT 0 NOT NULL,
+ optimized_at timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL
);
-- PostgreSQL database dump complete
--
-\unrestrict g17YBf4lli4s7tEbGaZCAN5jdVrZH0FZC9n71ikclDKr9c5DPwjSBWlT6huk57h
+\unrestrict ZeEQIdrFtt8lZBacF2YikE2NldALCViC5aH05xXVTjf5DSP1ITtfKT3w9cYoumo
return self.backend.db.fetch(stmt)
+ # Optimized At
+ optimized_at: datetime.datetime = sqlmodel.Field(
+ sa_column_kwargs = {"server_default" : sqlmodel.text("CURRENT_TIMESTAMP")}
+ )
+
+ # Optimize!
+
async def optimize(self, update_stats=True):
"""
Optimizes this list
log.info(_("Identified %s redunduant domain(s)") % len(redundant_names))
log.info(_("De-listed %s domain(s)") % len(delisted_names))
+ # Mark as optimized
+ self.updated_at = self.optimized_at = sqlmodel.func.current_timestamp()
+ await self.backend.db.flush_and_refresh(self)
+
# Update all stats afterwards
if update_stats:
await self.update_stats()