mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
aurblup: make provider updates more robust
Reverse the order of deletion and addition so that deletion comes first. This prevents corner cases such as failing unique key constraints when a provided package changes from lower case to upper case and the old name is not yet gone. Helped-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
parent
042f3f2622
commit
44af2b430f
1 changed files with 3 additions and 3 deletions
|
@ -39,13 +39,13 @@ def main():
|
||||||
cur = conn.execute("SELECT Name, Provides FROM OfficialProviders")
|
cur = conn.execute("SELECT Name, Provides FROM OfficialProviders")
|
||||||
oldproviders = set(cur.fetchall())
|
oldproviders = set(cur.fetchall())
|
||||||
|
|
||||||
|
for pkg, provides in oldproviders.difference(providers):
|
||||||
|
conn.execute("DELETE FROM OfficialProviders "
|
||||||
|
"WHERE Name = ? AND Provides = ?", [pkg, provides])
|
||||||
for pkg, provides in providers.difference(oldproviders):
|
for pkg, provides in providers.difference(oldproviders):
|
||||||
repo = repomap[(pkg, provides)]
|
repo = repomap[(pkg, provides)]
|
||||||
conn.execute("INSERT INTO OfficialProviders (Name, Repo, Provides) "
|
conn.execute("INSERT INTO OfficialProviders (Name, Repo, Provides) "
|
||||||
"VALUES (?, ?, ?)", [pkg, repo, provides])
|
"VALUES (?, ?, ?)", [pkg, repo, provides])
|
||||||
for pkg, provides in oldproviders.difference(providers):
|
|
||||||
conn.execute("DELETE FROM OfficialProviders "
|
|
||||||
"WHERE Name = ? AND Provides = ?", [pkg, provides])
|
|
||||||
|
|
||||||
conn.commit()
|
conn.commit()
|
||||||
conn.close()
|
conn.close()
|
||||||
|
|
Loading…
Add table
Reference in a new issue