From 06c7d7a8fd01dc794cde95e7768f9bf74acfe830 Mon Sep 17 00:00:00 2001 From: Tobi Awe Date: Thu, 2 Apr 2026 10:57:28 +0100 Subject: [PATCH] Reposition join before variable use --- .../GetPopularDashboardResources.sql | 22 ++++++++++--------- .../Resources/GetRatedDashboardResources.sql | 14 +++++++----- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/GetPopularDashboardResources.sql b/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/GetPopularDashboardResources.sql index ac69b896..7c26d451 100644 --- a/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/GetPopularDashboardResources.sql +++ b/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/GetPopularDashboardResources.sql @@ -97,6 +97,17 @@ BEGIN AND rv.Id = r.CurrentResourceVersionId AND rv.Deleted = 0 + JOIN hierarchy.NodeResource nr + ON r.Id = nr.ResourceId AND nr.Deleted = 0 + JOIN hierarchy.Node n + ON n.Id = nr.NodeId AND n.Hidden = 0 AND n.Deleted = 0 + JOIN hierarchy.NodePath np + ON np.NodeId = n.Id AND np.Deleted = 0 AND np.IsActive = 1 + JOIN hierarchy.NodeVersion nv + ON nv.NodeId = np.CatalogueNodeId AND nv.VersionStatusId = 2 AND nv.Deleted = 0 + JOIN hierarchy.CatalogueNodeVersion cnv + ON cnv.NodeVersionId = nv.Id AND cnv.Deleted = 0 + -- Deterministic ResourceReference lookup OUTER APPLY ( SELECT TOP 1 rr.OriginalResourceReferenceId @@ -135,16 +146,7 @@ BEGIN ON r.CurrentResourceVersionId = rvrs.ResourceVersionId AND rvrs.Deleted = 0 - JOIN hierarchy.NodeResource nr - ON r.Id = nr.ResourceId AND nr.Deleted = 0 - JOIN hierarchy.Node n - ON n.Id = nr.NodeId AND n.Hidden = 0 AND n.Deleted = 0 - JOIN hierarchy.NodePath np - ON np.NodeId = n.Id AND np.Deleted = 0 AND np.IsActive = 1 - JOIN hierarchy.NodeVersion nv - ON nv.NodeId = np.CatalogueNodeId AND nv.VersionStatusId = 2 AND nv.Deleted = 0 - JOIN hierarchy.CatalogueNodeVersion cnv - ON cnv.NodeVersionId = nv.Id AND cnv.Deleted = 0 + -- Bookmark lookup using same ResourceReference LEFT JOIN hub.UserBookmark ub diff --git a/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/GetRatedDashboardResources.sql b/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/GetRatedDashboardResources.sql index dd16bb2b..bdd2348b 100644 --- a/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/GetRatedDashboardResources.sql +++ b/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/GetRatedDashboardResources.sql @@ -94,6 +94,13 @@ BEGIN ON rvrs.ResourceVersionId = r.CurrentResourceVersionId AND rvrs.RatingCount > 0 + -- Hierarchy joins + JOIN hierarchy.NodeResource nr ON r.Id = nr.ResourceId AND nr.Deleted = 0 + JOIN hierarchy.Node n ON n.Id = nr.NodeId AND n.Hidden = 0 AND n.Deleted = 0 + JOIN hierarchy.NodePath np ON np.NodeId = n.Id AND np.Deleted = 0 AND np.IsActive = 1 + JOIN hierarchy.NodeVersion nv ON nv.NodeId = np.CatalogueNodeId AND nv.VersionStatusId = 2 AND nv.Deleted = 0 + JOIN hierarchy.CatalogueNodeVersion cnv ON cnv.NodeVersionId = nv.Id AND cnv.Deleted = 0 + -- Deterministic ResourceReference lookup OUTER APPLY ( SELECT TOP 1 rr.OriginalResourceReferenceId @@ -129,12 +136,7 @@ BEGIN GROUP BY rp.ResourceVersionId ) rpAgg ON rpAgg.ResourceVersionId = r.CurrentResourceVersionId - -- Hierarchy joins - JOIN hierarchy.NodeResource nr ON r.Id = nr.ResourceId AND nr.Deleted = 0 - JOIN hierarchy.Node n ON n.Id = nr.NodeId AND n.Hidden = 0 AND n.Deleted = 0 - JOIN hierarchy.NodePath np ON np.NodeId = n.Id AND np.Deleted = 0 AND np.IsActive = 1 - JOIN hierarchy.NodeVersion nv ON nv.NodeId = np.CatalogueNodeId AND nv.VersionStatusId = 2 AND nv.Deleted = 0 - JOIN hierarchy.CatalogueNodeVersion cnv ON cnv.NodeVersionId = nv.Id AND cnv.Deleted = 0 + -- Bookmark lookup LEFT JOIN hub.UserBookmark ub