forked from LBRYCommunity/lbry-sdk
wallet server, skip table join for count(*) query
This commit is contained in:
parent
ae11d72f66
commit
77afbcded6
1 changed files with 5 additions and 4 deletions
|
@ -634,7 +634,7 @@ class SQLDB:
|
||||||
r(self.update_claimtrie, height, recalculate_claim_hashes, deleted_claim_names, forward_timer=True)
|
r(self.update_claimtrie, height, recalculate_claim_hashes, deleted_claim_names, forward_timer=True)
|
||||||
r(calculate_trending, self.db, height, self.main.first_sync, daemon_height)
|
r(calculate_trending, self.db, height, self.main.first_sync, daemon_height)
|
||||||
|
|
||||||
def get_claims(self, cols, **constraints):
|
def get_claims(self, cols, join=True, **constraints):
|
||||||
if 'order_by' in constraints:
|
if 'order_by' in constraints:
|
||||||
sql_order_by = []
|
sql_order_by = []
|
||||||
for order_by in constraints['order_by']:
|
for order_by in constraints['order_by']:
|
||||||
|
@ -710,9 +710,10 @@ class SQLDB:
|
||||||
_apply_constraints_for_array_attributes(constraints, 'language')
|
_apply_constraints_for_array_attributes(constraints, 'language')
|
||||||
_apply_constraints_for_array_attributes(constraints, 'location')
|
_apply_constraints_for_array_attributes(constraints, 'location')
|
||||||
|
|
||||||
|
select = f"SELECT {cols} FROM claim"
|
||||||
|
|
||||||
sql, values = query(
|
sql, values = query(
|
||||||
f"""
|
select if not join else select+"""
|
||||||
SELECT {cols} FROM claim
|
|
||||||
LEFT JOIN claimtrie USING (claim_hash)
|
LEFT JOIN claimtrie USING (claim_hash)
|
||||||
LEFT JOIN claim as channel ON (claim.channel_hash=channel.claim_hash)
|
LEFT JOIN claim as channel ON (claim.channel_hash=channel.claim_hash)
|
||||||
""", **constraints
|
""", **constraints
|
||||||
|
@ -727,7 +728,7 @@ class SQLDB:
|
||||||
constraints.pop('offset', None)
|
constraints.pop('offset', None)
|
||||||
constraints.pop('limit', None)
|
constraints.pop('limit', None)
|
||||||
constraints.pop('order_by', None)
|
constraints.pop('order_by', None)
|
||||||
count = self.get_claims('count(*)', **constraints)
|
count = self.get_claims('count(*)', join=False, **constraints)
|
||||||
return count[0][0]
|
return count[0][0]
|
||||||
|
|
||||||
def _search(self, **constraints):
|
def _search(self, **constraints):
|
||||||
|
|
Loading…
Add table
Reference in a new issue