dbo.ADS_TDADSGroupInADSGroup
Database TriggerSQL_TRIGGERSandbox DB
Interpretation
- Database trigger. Treat parent table and enqueue/object-layer calls as the main relation points.
- DBQueue relation detected. Follow the task procedure and referenced-by list for async processing.
Relations
- Bulk DBQueue insert -> ADS-K-ADSGroupInADSGroup / ADS_ZGroupInADSGroup at line 10
- References QBM_PDBQueueInsert_Bulk
- Trigger parent table: ADSGroupInADSGroup
Typed Edges
- queues DBQueue task ADS_ZGroupInADSGroup at line 10 Bulk DBQueue insert -> ADS-K-ADSGroupInADSGroup / ADS_ZGroupInADSGroup at line 10
- trigger on table ADSGroupInADSGroup Trigger parent table: ADSGroupInADSGroup
- references source dbo.QBM_FGIBitPatternXMarkedForDel source text reference
- references source dbo.QBM_FGISessionContext source text reference
- references source dbo.QBM_PDBQueueInsert_Bulk source text reference
- references source dbo.QBM_PSessionErrorAdd source text reference
- references source dbo.ADS_TDAdsGroup source text reference
References
- dbo.QBM_FGIBitPatternXMarkedForDel
- dbo.QBM_FGISessionContext
- dbo.QBM_PDBQueueInsert_Bulk
- dbo.QBM_PSessionErrorAdd
- dbo.ADS_TDAdsGroup
Referenced By
- No direct source references extracted.
Complete Source
1CREATE trigger ADS_TDADSGroupInADSGroup2 ON ADSGroupInADSGroup FOR3DELETE NOT FOR Replication4AS5BEGIN6 IF EXISTS(7 SELECT TOP 1 18 FROM deleted)9 GOTO start10 RETURN start:11 BEGIN TRY12 DECLARE @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|',13 0)14 DECLARE @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')15 IF EXISTS(16 SELECT TOP 1 117 FROM deleted i18 JOIN ADSGroup g19 ON i.UID_ADSGroupParent = g.UID_ADSGroup AND 1 = g.HasReadOnlyMemberships AND dbo.QBM_FGISessionContext('Fullsync') = '' AND i.XMarkedForDeletion20 & @QBM_BitPatternXMarkedForDel_OutStanding = 0)21 BEGIN22 RAISERROR('#LDS#Cannot delete {0} because assignment to groups with read only memberships are not permitted.|ADSGroupInADSGroup|',23 18,24 2)25 WITH nowait26 END27 DECLARE @DBQueueElements_01 QBM_YDBQueueRaw28 INSERT INTO @DBQueueElements_01(object,29 subobject,30 genprocid)31 SELECT32 x.uid,33 NULL,34 @GenProcID35 FROM(36 SELECT uid_ADSGroupParent AS uid37 FROM deleted38 UNION39 SELECT UID_ADSGroupChild40 FROM deleted41 UNION42 SELECT co.uid_ADSGroupParent AS uid43 FROM deleted i44 JOIN ADSGroupcollection co45 ON i.UID_ADSGroupChild = co.UID_ADSGroupChild46 UNION47 SELECT co.uid_ADSGroupParent48 FROM deleted i49 JOIN ADSGroupcollection co50 ON i.UID_ADSGroupParent = co.UID_ADSGroupChild51 UNION52 SELECT co.UID_ADSGroupChild53 FROM deleted i54 JOIN ADSGroupcollection co55 ON i.UID_ADSGroupChild = co.UID_ADSGroupParent56 UNION57 SELECT co.UID_ADSGroupChild58 FROM deleted i59 JOIN ADSGroupcollection co60 ON i.UID_ADSGroupParent = co.UID_ADSGroupParent) AS x61 EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-ADSGroupInADSGroup',62 @DBQueueElements_0163 END TRY64 BEGIN CATCH65 EXEC QBM_PSessionErrorAdd DEFAULT66 RAISERROR('',67 18,68 1)69 WITH NOWAIT70 END CATCH71 ende:72 RETURN73END
Open raw exported source
1create trigger ADS_TDADSGroupInADSGroup on ADSGroupInADSGroup for Delete not for Replication as begin if exists (select top 1 1 from deleted2) goto start return start: BEGIN TRY declare @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0) declare3 @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') if exists (select top 1 1 from deleted i join ADSGroup g on i.UID_ADSGroupParent = g.UID_ADSGroup4 and 1 = g.HasReadOnlyMemberships and dbo.QBM_FGISessionContext ('Fullsync') = '' and i.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding =5 0 ) begin raiserror( '#LDS#Cannot delete {0} because assignment to groups with read only memberships are not permitted.|ADSGroupInADSGroup|', 18, 2) with6 nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from7 ( select uid_ADSGroupParent as uid from deleted union select UID_ADSGroupChild from deleted union select co.uid_ADSGroupParent as uid from deleted i 8join ADSGroupcollection co on i.UID_ADSGroupChild = co.UID_ADSGroupChild union select co.uid_ADSGroupParent from deleted i join ADSGroupcollection co 9on i.UID_ADSGroupParent = co.UID_ADSGroupChild union select co.UID_ADSGroupChild from deleted i join ADSGroupcollection co on i.UID_ADSGroupChild = co.UID_ADSGroupParent10 union select co.UID_ADSGroupChild from deleted i join ADSGroupcollection co on i.UID_ADSGroupParent = co.UID_ADSGroupParent ) as x exec QBM_PDBQueueInsert_Bulk11 'ADS-K-ADSGroupInADSGroup', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:12 return end 13