Skip to content

Commit 720da88

Browse files
author
Gyan Ranjan Panda
committed
Filter unresolved dependencies in memory to guarantee zero DB queries
Replaces queryset .unresolved() call with in-memory list comprehension. This ensures the prefetch guarantee is airtight with no potential for additional database queries during tree traversal. Signed-off-by: Gyan Ranjan Panda <gyanranjanpanda@gmail.com>
1 parent ec81e02 commit 720da88

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

scanpipe/views.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2778,7 +2778,12 @@ def get_node(self, package, stack=None):
27782778
]
27792779

27802780
# Unresolved dependencies
2781-
for dependency in package.declared_dependencies.unresolved():
2781+
# Unresolved dependencies - filter in memory to avoid DB query
2782+
unresolved_deps = [
2783+
dep for dep in package.declared_dependencies.all()
2784+
if dep.resolved_to_package_id is None
2785+
]
2786+
for dependency in unresolved_deps:
27822787
children.append(
27832788
{
27842789
"name": dependency.package_url,

0 commit comments

Comments
 (0)