From 93ce602150c3f0072f0d08619dc1c2351e505e72 Mon Sep 17 00:00:00 2001 From: Marko Kreen Date: Wed, 23 Jun 2010 17:11:03 +0300 Subject: [PATCH] londiste compare: calculate checksum Also allow specify format string. Patch by Hannu Krosing --- python/londiste/compare.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/python/londiste/compare.py b/python/londiste/compare.py index 23324cf0..a52d24be 100644 --- a/python/londiste/compare.py +++ b/python/londiste/compare.py @@ -23,21 +23,24 @@ class Comparator(Syncer): self.log.info('Counting %s' % tbl) - q = "select count(1) from only _TABLE_" + q = "select count(1) as cnt, sum(hashtext(t.*::text)) as chksum from only _TABLE_ t" q = self.cf.get('compare_sql', q) q = q.replace('_TABLE_', skytools.quote_fqident(tbl)) + f = "%(cnt)d rows, checksum=%(chksum)s" + f = self.cf.get('compare_fmt', f) + self.log.debug("srcdb: " + q) src_curs.execute(q) src_row = src_curs.fetchone() - src_str = ", ".join(map(str, src_row)) - self.log.info("srcdb: res = %s" % src_str) + src_str = f % src_row + self.log.info("srcdb: %s" % src_str) self.log.debug("dstdb: " + q) dst_curs.execute(q) dst_row = dst_curs.fetchone() - dst_str = ", ".join(map(str, dst_row)) - self.log.info("dstdb: res = %s" % dst_str) + dst_str = f % dst_row + self.log.info("dstdb: %s" % dst_str) if src_str != dst_str: self.log.warning("%s: Results do not match!" % tbl) -- 2.39.5