Compare commits

...

2 Commits

View File

@@ -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