mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-08-23 17:47:31 +00:00
fix: key must be unique (sql)
This commit is contained in:
parent
d30307b29e
commit
0acd0c23d3
1 changed files with 8 additions and 6 deletions
|
@ -373,7 +373,7 @@ class ChannelDB(SqlDB):
|
||||||
orphaned = [] # no channel announcement for channel update
|
orphaned = [] # no channel announcement for channel update
|
||||||
expired = [] # update older than two weeks
|
expired = [] # update older than two weeks
|
||||||
deprecated = [] # update older than database entry
|
deprecated = [] # update older than database entry
|
||||||
good = [] # good updates
|
good = {} # good updates
|
||||||
to_delete = [] # database entries to delete
|
to_delete = [] # database entries to delete
|
||||||
# filter orphaned and expired first
|
# filter orphaned and expired first
|
||||||
known = []
|
known = []
|
||||||
|
@ -398,17 +398,19 @@ class ChannelDB(SqlDB):
|
||||||
old_policies = self.get_policies_for_updates(known)
|
old_policies = self.get_policies_for_updates(known)
|
||||||
for payload in known:
|
for payload in known:
|
||||||
timestamp = int.from_bytes(payload['timestamp'], "big")
|
timestamp = int.from_bytes(payload['timestamp'], "big")
|
||||||
start_node = payload['start_node'].hex()
|
start_node = payload['start_node']
|
||||||
short_channel_id = payload['short_channel_id'].hex()
|
short_channel_id = payload['short_channel_id']
|
||||||
old_policy = old_policies.get(short_channel_id+start_node)
|
key = (short_channel_id+start_node).hex()
|
||||||
|
old_policy = old_policies.get(key)
|
||||||
if old_policy:
|
if old_policy:
|
||||||
if timestamp <= old_policy.timestamp:
|
if timestamp <= old_policy.timestamp:
|
||||||
deprecated.append(short_channel_id)
|
deprecated.append(short_channel_id)
|
||||||
else:
|
else:
|
||||||
good.append(payload)
|
good[key] = payload
|
||||||
to_delete.append(old_policy)
|
to_delete.append(old_policy)
|
||||||
else:
|
else:
|
||||||
good.append(payload)
|
good[key] = payload
|
||||||
|
good = list(good.values())
|
||||||
return orphaned, expired, deprecated, good, to_delete
|
return orphaned, expired, deprecated, good, to_delete
|
||||||
|
|
||||||
def add_channel_update(self, payload):
|
def add_channel_update(self, payload):
|
||||||
|
|
Loading…
Add table
Reference in a new issue