Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

91 lines
1.6 KiB

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE sp_RetriageCrash
@ip_CrashId bigint,
@ip_BucketId varchar(100),
@ip_FollowUp varchar(50)
AS
BEGIN
DECLARE @b_BucketExists int
DECLARE @i_iBucket int
-- Check if crash exists
IF NOT EXISTS
(SELECT CrashId FROM CrashInstances WHERE CrashId = @ip_CrashId)
BEGIN
return 1
END
-- Insert the Bucket into bucket table
SET @b_BucketExists = 1
IF NOT EXISTS
(SELECT BucketId FROM BucketToInt WHERE BucketId = @ip_BucketId)
BEGIN
SET @b_BucketExists = 0
INSERT BucketToInt VALUES (@ip_BucketId)
END
SELECT @i_iBucket = iBucket FROM BucketToInt WHERE BucketId = @ip_BucketId
-- Update the follouwp
IF NOT EXISTS
(SELECT iBucket FROM Followups WHERE iBucket = @i_iBucket)
BEGIN
INSERT Followups VALUES (@i_iBucket,@ip_FollowUp)
END
ELSE IF NOT EXISTS (SELECT iBucket FROM Followups
WHERE iBucket = @i_iBucket AND Followup = @ip_FollowUp)
BEGIN
-- Bucket used to have different followup
SET @b_BucketExists = 2
UPDATE Followups
SET Followup = @ip_FollowUp
WHERE iBucket = @i_iBucket
END
-- Insert the Bucket into bucketmapping table
IF EXISTS
(SELECT iBucket FROM BucketToCrash WHERE CrashId = @ip_CrashId)
BEGIN
DELETE FROM BucketToCrash WHERE CrashId = @ip_CrashId
END
IF NOT EXISTS
(SELECT iBucket FROM BucketToCrash WHERE iBucket = @i_iBucket AND CrashId = @ip_CrashId)
BEGIN
INSERT BucketToCrash VALUES (@ip_CrashId, @i_iBucket)
END
RETURN 0
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO