launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #29206
[Merge] ~cjwatson/launchpad:remove-unnecessary-xpr-joins into launchpad:master
Colin Watson has proposed merging ~cjwatson/launchpad:remove-unnecessary-xpr-joins into launchpad:master.
Commit message:
Remove several unnecessary joins of {Source,Binary}PackageRelease
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/430028
--
Your team Launchpad code reviewers is requested to review the proposed merge of ~cjwatson/launchpad:remove-unnecessary-xpr-joins into launchpad:master.
diff --git a/lib/lp/soyuz/model/archive.py b/lib/lp/soyuz/model/archive.py
index 02581d4..119e534 100644
--- a/lib/lp/soyuz/model/archive.py
+++ b/lib/lp/soyuz/model/archive.py
@@ -2776,10 +2776,8 @@ class Archive(SQLBase):
.find(
(LibraryFileAlias.filename, LibraryFileContent.sha1),
SourcePackagePublishingHistory.archive == self,
- SourcePackageRelease.id
- == SourcePackagePublishingHistory.sourcepackagereleaseID,
- SourcePackageReleaseFile.sourcepackagerelease
- == SourcePackageRelease.id,
+ SourcePackagePublishingHistory.sourcepackagerelease
+ == SourcePackageReleaseFile.sourcepackagerelease,
LibraryFileAlias.id == SourcePackageReleaseFile.libraryfileID,
LibraryFileAlias.filename.is_in(source_files),
LibraryFileContent.id == LibraryFileAlias.contentID,
diff --git a/lib/lp/soyuz/model/binarypackagebuild.py b/lib/lp/soyuz/model/binarypackagebuild.py
index 3689956..f565e74 100644
--- a/lib/lp/soyuz/model/binarypackagebuild.py
+++ b/lib/lp/soyuz/model/binarypackagebuild.py
@@ -1581,7 +1581,6 @@ class BinaryPackageBuildMacaroonIssuer(MacaroonIssuerBase):
# Circular imports.
from lp.soyuz.model.archive import Archive
from lp.soyuz.model.archivedependency import ArchiveDependency
- from lp.soyuz.model.sourcepackagerelease import SourcePackageRelease
# Binary package builds only support free-floating macaroons for
# librarian or archive authentication, not ones bound to a user.
@@ -1601,9 +1600,7 @@ class BinaryPackageBuildMacaroonIssuer(MacaroonIssuerBase):
clauses.extend(
[
BinaryPackageBuild.source_package_release_id
- == SourcePackageRelease.id,
- SourcePackageReleaseFile.sourcepackagereleaseID
- == SourcePackageRelease.id,
+ == SourcePackageReleaseFile.sourcepackagereleaseID,
SourcePackageReleaseFile.libraryfile == context,
]
)
diff --git a/lib/lp/soyuz/model/packagediff.py b/lib/lp/soyuz/model/packagediff.py
index f2783e5..92677ef 100644
--- a/lib/lp/soyuz/model/packagediff.py
+++ b/lib/lp/soyuz/model/packagediff.py
@@ -191,18 +191,13 @@ class PackageDiff(StormBase):
def _countDeletedLFAs(self):
"""How many files associated with either source package have been
deleted from the librarian?"""
- # Circular import.
- from lp.soyuz.model.sourcepackagerelease import SourcePackageRelease
-
return (
IStore(LibraryFileAlias)
.find(
LibraryFileAlias.id,
- SourcePackageRelease.id.is_in(
+ SourcePackageReleaseFile.sourcepackagereleaseID.is_in(
(self.from_source_id, self.to_source_id)
),
- SourcePackageReleaseFile.sourcepackagereleaseID
- == SourcePackageRelease.id,
SourcePackageReleaseFile.libraryfileID == LibraryFileAlias.id,
LibraryFileAlias.content == None,
)
diff --git a/lib/lp/soyuz/model/publishing.py b/lib/lp/soyuz/model/publishing.py
index 1c8e497..9db21bc 100644
--- a/lib/lp/soyuz/model/publishing.py
+++ b/lib/lp/soyuz/model/publishing.py
@@ -648,8 +648,7 @@ class SourcePackagePublishingHistory(SQLBase, ArchivePublisherBase):
LibraryFileContent.id == LibraryFileAlias.contentID,
LibraryFileAlias.id == SourcePackageReleaseFile.libraryfileID,
SourcePackageReleaseFile.sourcepackagerelease
- == SourcePackageRelease.id,
- SourcePackageRelease.id == self.sourcepackagereleaseID,
+ == self.sourcepackagereleaseID,
)
source_urls = proxied_source_urls(
[source for source, _ in sources], self
@@ -1243,8 +1242,8 @@ class BinaryPackagePublishingHistory(SQLBase, ArchivePublisherBase):
(LibraryFileAlias, LibraryFileContent),
LibraryFileContent.id == LibraryFileAlias.contentID,
LibraryFileAlias.id == BinaryPackageFile.libraryfileID,
- BinaryPackageFile.binarypackagerelease == BinaryPackageRelease.id,
- BinaryPackageRelease.id == self.binarypackagereleaseID,
+ BinaryPackageFile.binarypackagerelease
+ == self.binarypackagereleaseID,
)
binary_urls = proxied_urls(
[binary for binary, _ in binaries], self.archive