Handle direct dependency relationships in is_exclusive_dependency_of
#590
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Handles direct dependency relationships in the
is_exclusive_dependency_of
CEL policy function.Addressed Issue
N/A
Additional Details
Because the recursive query only operates on the
COMPONENT
table, it doesn't "see" occurrences of a component's UUID being referenced inPROJECT.DIRECT_DEPENDENCIES
.Added a separate query to check for this condition. It also acts as a short-circuiting mechanism that can avoid the expensive recursive query from being executed, as the existence of a direct dependency already false-ifies the "is exclusive dependency of another component" condition.
Checklist
This PR implements an enhancement, and I have provided tests to verify that it works as intendedThis PR introduces changes to the database model, and I have added corresponding update logicThis PR introduces new or alters existing behavior, and I have updated the documentation accordingly