mtime = max(mtime, r[2])
return (count, size, mtime)
- def nodes_set_latest_version(self, node, serial):
+ def nodes_set_latest_version(self, node, serial=None):
+ v = self.versions
+ if not serial:
+ s = select(v.c.serial, v.c.node == node).order_by(desc(v.c.mtime)).limit(1)
+ r = self.conn.excecute(s)
+ row = r.fetchone()
+ serial = row[0] if row else None
+ r.close()
s = self.nodes.update().where(self.nodes.c.node == node)
s = s.values(latest_version = serial)
self.conn.execute(s).close()
s = self.versions.delete().where(self.versions.c.serial == serial)
self.conn.execute(s).close()
- props = self.version_lookup(node, cluster=cluster, all_props=False)
- if props:
- self.nodes_set_latest_version(v.node, serial)
+ self.nodes_set_latest_version(v.node)
return hash, size