From fb2aeb8192e43e8d1b893d33f6840b77ea6e481e Mon Sep 17 00:00:00 2001 From: mschill Date: Thu, 18 Sep 2025 14:00:25 -0400 Subject: [PATCH] B2025-049 Admin Tool Purge Change History --- PROMS/VEPROMS User Interface/PROMSFixes.Sql | 60 +++++++++++++++++++-- 1 file changed, 55 insertions(+), 5 deletions(-) diff --git a/PROMS/VEPROMS User Interface/PROMSFixes.Sql b/PROMS/VEPROMS User Interface/PROMSFixes.Sql index 709d2f7f..f36c64d6 100644 --- a/PROMS/VEPROMS User Interface/PROMSFixes.Sql +++ b/PROMS/VEPROMS User Interface/PROMSFixes.Sql @@ -24288,8 +24288,23 @@ BEGIN Delete from ROFSTs where ROFSTID not in(select rofstid from Associations) and DTS < @dte delete from roimages where rodbid not in(select rodbid from rofsts) and DTS < @dte delete from documents where docid not in(select docid from entries) and DTS < @dte + PRINT 'Temporarally storing Items to delete' + declare @Items table (ItemID bigint PRIMARY KEY, deletestatus int) + INSERT INTO @Items + Select Child.ItemID, Child.deletestatus + FROM tblItems AS Child + INNER JOIN tblContents AS parent + ON Parent.ContentID = Child.ContentID + AND Parent.deletestatus = Child.deletestatus + Where + parent.deletestatus != 0 and parent.ActionDTS < @dte PRINT 'Phase 1' delete from tblAnnotations where deletestatus != 0 and DTS < @dte + delete tblAnnotations + from tblAnnotations + INNER JOIN @Items Itms + ON Itms.ItemID = tblAnnotations.ItemID AND tblAnnotations.deletestatus != 0 + delete from drousages where docid in(select docid from tbldocuments where deletestatus != 0) and DTS < @dte delete from tblEntries where deletestatus != 0 and DTS < @dte delete from tblDocuments where deletestatus != 0 and DTS < @dte @@ -24297,11 +24312,46 @@ BEGIN delete from tblImages where deletestatus != 0 and DTS < @dte PRINT 'Phase 2' delete from tblROUsages where deletestatus != 0 and DTS < @dte - delete from tblTransitions where deletestatus != 0 and DTS < @dte - delete from tblParts where deletestatus != 0 and DTS < @dte - delete from tblItems where deletestatus != 0 and ItemID Not IN (Select ItemID from Parts) and DTS < @dte - PRINT 'Purge Contents' - delete from tblContents where deletestatus != 0 and DTS < @dte + delete tblROUsages + from tblROUsages + INNER JOIN tblContents ON tblContents.ContentID = tblROUsages.ContentID + AND tblContents.deletestatus = tblROUsages.deletestatus + where tblContents.deletestatus != 0 and tblContents.ActionDTS < @dte + PRINT 'Deleting Transitions' + delete from tblTransitions where deletestatus != 0 and + (DTS < @dte + OR RangeID in (Select ItemID FROM @Items) + OR ToID in (Select ItemID FROM @Items) + OR FromID in (Select ContentID from tblContents where deletestatus != 0 and ActionDTS < @dte) + ) + PRINT 'Deleting Items and Parts' + delete from tblItems where deletestatus != 0 and DTS < @dte + delete from tblParts where deletestatus != 0 and ItemID Not IN (Select ItemID from Items) and DTS < @dte + PRINT 'Purging Parts with deleted Contents' + DELETE from Child + FROM tblParts AS Child + INNER JOIN tblItems + ON tblItems.ItemID = Child.ItemID + AND tblItems.deletestatus = Child.deletestatus + INNER JOIN tblContents AS parent + ON parent.ContentID = tblItems.ContentID + AND parent.deletestatus = tblItems.deletestatus + Where + parent.deletestatus != 0 and parent.ActionDTS < @dte + DELETE FROM tblParts + where deletestatus != 0 AND + ContentID in + (Select ContentID from tblContents where deletestatus != 0 and ActionDTS < @dte) + + PRINT 'Purging Items with deleted Contents' + alter table tblItems nocheck constraint FK_Items_Items + DELETE tblItems + FROM tblItems + INNER JOIN @Items Itms + ON Itms.ItemID = tblItems.ItemID AND Itms.deletestatus = tblItems.deletestatus + alter table tblItems check constraint FK_Items_Items + PRINT 'Purging Contents' + delete from tblContents where deletestatus != 0 and ActionDTS < @dte PRINT 'Phase 3' delete from AnnotationAudits where DTS < @dte delete from ContentAudits where DTS < @dte