fix: reposts being returned for single tags

This commit is contained in:
Tom 2020-04-22 23:16:30 -04:00
parent 289c12bd9a
commit 49458d1085

View file

@ -547,10 +547,10 @@ def _apply_constraints_for_array_attributes(constraints, attr, cleaner, for_coun
if for_count or attr == 'tag': if for_count or attr == 'tag':
if attr == 'tag': if attr == 'tag':
any_queries[f'#_any_{attr}'] = f""" any_queries[f'#_any_{attr}'] = f"""
(claim.claim_type != {CLAIM_TYPES['repost']} ((claim.claim_type != {CLAIM_TYPES['repost']}
AND claim.claim_hash IN (SELECT claim_hash FROM tag WHERE tag IN ({values}))) OR AND claim.claim_hash IN (SELECT claim_hash FROM tag WHERE tag IN ({values}))) OR
(claim.claim_type == {CLAIM_TYPES['repost']} AND (claim.claim_type == {CLAIM_TYPES['repost']} AND
claim.reposted_claim_hash IN (SELECT claim_hash FROM tag WHERE tag IN ({values}))) claim.reposted_claim_hash IN (SELECT claim_hash FROM tag WHERE tag IN ({values}))))
""" """
else: else:
any_queries[f'#_any_{attr}'] = f""" any_queries[f'#_any_{attr}'] = f"""
@ -606,10 +606,10 @@ def _apply_constraints_for_array_attributes(constraints, attr, cleaner, for_coun
if for_count: if for_count:
if attr == 'tag': if attr == 'tag':
constraints[f'#_not_{attr}'] = f""" constraints[f'#_not_{attr}'] = f"""
(claim.claim_type != {CLAIM_TYPES['repost']} ((claim.claim_type != {CLAIM_TYPES['repost']}
AND claim.claim_hash NOT IN (SELECT claim_hash FROM tag WHERE tag IN ({values}))) AND AND claim.claim_hash NOT IN (SELECT claim_hash FROM tag WHERE tag IN ({values}))) OR
(claim.claim_type == {CLAIM_TYPES['repost']} AND (claim.claim_type == {CLAIM_TYPES['repost']} AND
claim.reposted_claim_hash NOT IN (SELECT claim_hash FROM tag WHERE tag IN ({values}))) claim.reposted_claim_hash NOT IN (SELECT claim_hash FROM tag WHERE tag IN ({values}))))
""" """
else: else:
constraints[f'#_not_{attr}'] = f""" constraints[f'#_not_{attr}'] = f"""