Find a way to make COMPONENT
and REPOSITORY_META_COMPONENT
tables JOIN
-able
#1465
Labels
enhancement
New feature or request
p2
Non-critical bugs, and features that help organizations to identify and reduce risk
performance
size/M
Medium effort
Current Behavior
It is not possible to join the
COMPONENT
andREPOSITORY_META_COMPONENT
tables:COMPONENT
hasPURL
andPURL_COORDINATES
columnsREPOSITORY_META_COMPONENT
hasREPOSITORY_TYPE
,NAMESPACE
andNAME
columnsREPOSITORY_TYPE
is not necessarily the same a PURL typepkg:npm/%40foo/[email protected]
)NAMESPACE
andNAME
columns ofREPOSITORY_META_COMPONENT
contain PURL namespace and name in URL-decoded formThus:
This causes a few bad limitations:
/api/v1/finding/project/{uuid}
endpoint, we run into the N+1 problem because we can't join the data in the original findings SQL query: https://github.com/DependencyTrack/hyades-apiserver/blob/main/src/main/java/org/dependencytrack/persistence/FindingsQueryManager.java#L380-L408REPOSITORY_META_COMPONENT
records that refer to components that no longer exist in the portfolio. The table can thus only grow over time.Proposed Behavior
Find a way to make
COMPONENT
andREPOSITORY_META_COMPONENT
tablesJOIN
-able.Creating new columns, new SQL helper functions etc. are all possibilities we can investigate.
Checklist
The text was updated successfully, but these errors were encountered: