diff --git a/hive/indexer/blocks.py b/hive/indexer/blocks.py index 71aa9bb9544db57643c167fb9f51e3e5304e1587..ad34dd6944b28b6e6eb81defca6dc1ae347ebd44 100644 --- a/hive/indexer/blocks.py +++ b/hive/indexer/blocks.py @@ -59,6 +59,7 @@ class Blocks: @classmethod def _process(cls, block, is_initial_sync=False): """Process a single block. Assumes a trx is open.""" + #pylint: disable=too-many-branches num = cls._push(block) date = block['timestamp'] @@ -197,12 +198,16 @@ class Blocks: post_ids = tuple(DB.query_col(sql, date=date)) # remove all recent records - DB.query("DELETE FROM hive_posts_cache WHERE post_id IN :ids", ids=post_ids) DB.query("DELETE FROM hive_feed_cache WHERE created_at >= :date", date=date) DB.query("DELETE FROM hive_reblogs WHERE created_at >= :date", date=date) DB.query("DELETE FROM hive_follows WHERE created_at >= :date", date=date) #* - DB.query("DELETE FROM hive_post_tags WHERE post_id IN :ids", ids=post_ids) - DB.query("DELETE FROM hive_posts WHERE id IN :ids", ids=post_ids) + + # remove posts: core, tags, cache entries + if post_ids: + DB.query("DELETE FROM hive_posts_cache WHERE post_id IN :ids", ids=post_ids) + DB.query("DELETE FROM hive_post_tags WHERE post_id IN :ids", ids=post_ids) + DB.query("DELETE FROM hive_posts WHERE id IN :ids", ids=post_ids) + DB.query("DELETE FROM hive_payments WHERE block_num = :num", num=num) DB.query("DELETE FROM hive_blocks WHERE num = :num", num=num)