if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_AddBucketFollowup]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_AddBucketFollowup] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_AddCrashInstance2]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_AddCrashInstance2] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_AddDriver]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_AddDriver] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_AddToDrBin]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_AddToDrBin] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_CategorizeBuckets]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_CategorizeBuckets] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_CheckCrashExists]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_CheckCrashExists] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_DeleteSolution]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_DeleteSolution] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_EmptyBuckets]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_EmptyBuckets] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_GetIntBucket]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_GetIntBucket] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_GetProblems]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_GetProblems] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_HexToInt]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_HexToInt] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_ListBucket]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_ListBucket] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_LookupBucket]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_LookupBucket] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_NewIssues]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_NewIssues] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_NewIssuesThisWeek]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_NewIssuesThisWeek] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_NewIssuesToday]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_NewIssuesToday] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_PrivateCleanupCrash]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_PrivateCleanupCrash] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_RetriageCrash]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_RetriageCrash] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_SearchDb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_SearchDb] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_SendMailForBucket]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_SendMailForBucket] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_SolvedIssuesThisWeek]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_SolvedIssuesThisWeek] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_SolvedIssuesToday]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_SolvedIssuesToday] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[DBGP_CompleteRetriageRequest]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[DBGP_CompleteRetriageRequest] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[DBGP_CreateRetriageRequest]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[DBGP_CreateRetriageRequest] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[DBGP_ApproveRetriageRequest]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[DBGP_ApproveRetriageRequest] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[DBGP_ClearPoolCorruption]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[DBGP_ClearPoolCorruption] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[DBGP_BuildDebugPortalTables]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[DBGP_BuildDebugPortalTables] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[DBGP_SetPoolCorruption]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[DBGP_SetPoolCorruption] GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_AddBucketFollowup Script Date: 12/19/2001 2:06:04 PM ******/ -- Update StoreProc to add buckets CREATE PROCEDURE sp_AddBucketFollowup @i_BucketStr varchar(100), @i_FollowupStr varchar(50) AS BEGIN DECLARE @iBucket int DECLARE @iFollowup int IF NOT EXISTS (SELECT * FROM FollowupIds WHERE Followup = @i_FollowupStr) BEGIN INSERT INTO FollowupIds VALUES (@i_FollowupStr) SELECT @iFollowup = @@IDENTITY END ELSE BEGIN SELECT @iFollowup = iFollowup FROM FollowupIds WHERE Followup = @i_FollowupStr END SELECT @iBucket = iBucket FROM BucketToInt WHERE BucketId = @i_BucketStr IF @iBucket IS NOT NULL BEGIN -- Bucket exists in bucket table IF NOT EXISTS (SELECT iBucket FROM BucketToInt b WHERE BucketId = @i_BucketStr AND b.iFollowup = @iFollowup) BEGIN -- Update followup UPDATE BucketToInt SET iFollowup = @iFollowup WHERE iBucket = @iBucket END END ELSE BEGIN INSERT INTO BucketToInt (BucketId, iFollowup) VALUES (@i_BucketStr, @iFollowup) SELECT @iBucket = @@IDENTITY END -- SELECT @i_BucketStr AS BucketId, @iBucket AS iBucket, @iFollowup AS iFollowup -- select * from buckettoint where bucketid = @i_BucketStr END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_AddCrashInstance2 Script Date: 12/14/2001 5:00:04 PM ******/ /* Adds a crash instance to CrashDb Returns isBucket, igBucket if successfull */ CREATE PROCEDURE sp_AddCrashInstance2 ( @ip_retriageBucket bit, @ip_BucketId varchar(100), @ip_Path varchar(256), @ip_FollowUp varchar(50), @ip_BuildNo int, @ip_Source int, @ip_CpuId bigint, @ip_OverClocked bit, @ip_IncidentId bigint, @ip_gBucketId varchar(100), @ip_DriverName varchar (100), @ip_Type int ) AS BEGIN DECLARE @i_sBucket int DECLARE @i_gBucket int DECLARE @i_Followup int DECLARE @i_OldFollowup int DECLARE @i_DriverName int DECLARE @i_OldDriverName int SET NOCOUNT ON -- Find the specific bucket SELECT @i_sBucket = iBucket, @i_OldFollowup = iFollowup, @i_OldDriverName = iDriverName FROM BucketToInt WHERE BucketId = @ip_BucketId -- If the specifc bucket does not exist, or we want to update the -- fields IF ( (@i_sBucket IS NULL) OR (@ip_retriageBucket = 1) ) BEGIN SELECT @i_Followup = iFollowup FROM FollowupIds WHERE Followup = @ip_FollowUp --get (or add) the followup information. -- IF NOT EXISTS (SELECT * FROM FollowupIds -- WHERE Followup = @ip_FollowUp) if (@i_Followup is null) BEGIN INSERT INTO FollowupIds VALUES (@ip_FollowUp, NULL) SELECT @i_Followup = @@IDENTITY END -- ELSE -- BEGIN -- SELECT @i_Followup = iFollowup FROM FollowupIds -- WHERE Followup = @ip_FollowUp -- END --get (or add) the driver name. SELECT @i_DriverName = iDriverName FROM DrNames WHERE DriverName = @ip_DriverName if (@i_DriverName is null) -- IF NOT EXISTS (SELECT * FROM DrNames -- WHERE DriverName = @ip_DriverName) BEGIN INSERT INTO DrNames (DriverName) VALUES (@ip_DriverName) SELECT @i_DriverName = @@IDENTITY END -- ELSE -- BEGIN -- SELECT @i_DriverName = iDriverName FROM DrNames -- WHERE DriverName = @ip_DriverName -- END END IF ( @i_sBucket IS NULL) BEGIN INSERT INTO BucketToInt (BucketId, iFollowup, iDriverName, Platform) -- added platfrom param sbeer 02/20/02 VALUES (@ip_BucketId, @i_Followup, @i_DriverName, @ip_Type) SELECT @i_sBucket = @@IDENTITY END ELSE BEGIN -- Bucket exists in bucket table. Update it if necessary IF @ip_RetriageBucket = 1 BEGIN IF ( (@i_OldFollowup is null) or (@i_OldDriverName is null) or (@i_OldFollowup != @i_Followup) OR (@i_OldDriverName != @i_DriverName) ) BEGIN UPDATE BucketToInt SET iFollowup = @i_Followup, iDriverName = @i_DriverName, Platform = @ip_Type -- added platfrom param sbeer 02/20/02 WHERE iBucket = @i_sBucket END END END -- Add generic bucket SELECT @i_gBucket = iBucket FROM BucketToInt WHERE BucketId = @ip_gBucketId IF (@i_gBucket IS NULL) BEGIN INSERT BucketToInt ( BucketID, iBucket, iFollowUp,Platform) VALUES (@ip_gBucketId,0,0,@ip_Type) --added explicit column names solson 02/14/02 SELECT @i_gBucket = @@IDENTITY END -- Add the Crash Instance to the crash instance table and the mapping -- table IF NOT EXISTS (SELECT IncidentId FROM CrashInstances WHERE IncidentId = @ip_IncidentId) BEGIN INSERT INTO CrashInstances VALUES ( @ip_Path, @ip_BuildNo, @ip_CpuId, @ip_IncidentId, @i_sBucket, @i_gBucket, GetDate(), @ip_Source) END ELSE BEGIN IF (@ip_retriageBucket = 1) BEGIN UPDATE CrashInstances SET sBucket = @i_sBucket, gBucket = @i_gBucket WHERE IncidentId = @ip_IncidentId END END SET NOCOUNT OFF SELECT @i_sBucket AS sBucket, @i_gBucket AS gBucket END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_AddDriver Script Date: 12/19/2001 2:06:04 PM ******/ CREATE PROCEDURE sp_AddDriver ( @i_DriverName varchar(100), @i_Bucket int ) AS BEGIN DECLARE @BinId int IF NOT EXISTS (SELECT * FROM DrNames WHERE BinName = @i_DriverName) BEGIN INSERT INTO DrNames VALUES (@i_DriverName) END SELECT @BinId = BinId FROM DrNames WHERE BinName = @i_DriverName IF NOT EXISTS (SELECT * FROM DriverMap WHERE iBucket = @i_Bucket) BEGIN INSERT INTO DriverMap VALUES ( @i_Bucket, @BinId ) END ELSE BEGIN UPDATE DriverMap SET BinId = @BinId WHERE iBucket = @i_Bucket END END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_AddToDrBin Script Date: 12/19/2001 2:06:04 PM ******/ /****** Object: Stored Procedure dbo.sp_AddToDrBin Script Date: 11/7/2001 3:53:58 AM ******/ CREATE PROC sp_AddToDrBin ( @i_CIDNAME VARCHAR(20), @i_BinName VARCHAR(100), @i_BinStamp INT ) AS BEGIN DECLARE @t_CID BIGINT DECLARE @t_CIDName VARCHAR(20) DECLARE @t_BinID BIGINT DECLARE @t_BinName VARCHAR(100) -- Insert record into table DriversUsed IF NOT EXISTS (SELECT CIDName FROM DriverUsed WHERE CIDName = @i_CIDName) BEGIN INSERT dbo.DriverUsed(CIDName) VALUES (@i_CIDName) END -- Insert record into table DrNames IF NOT EXISTS (SELECT BinName FROM dbo.DrNames WHERE BinName = LOWER(@i_BinName)) BEGIN INSERT dbo.DrNames(BinName) VALUES (LOWER(@i_BinName)) END -- SELECT @t_BinID=BinID FROM dbo.DrNames WHERE BinName = LOWER(@i_BinName) SELECT @t_CID=CID FROM dbo.DriverUsed WHERE CIDName = @i_CIDName -- Insert record into IF NOT EXISTS (SELECT CID FROM dbo.DrBins WHERE CID = @t_CID AND BinID = @t_BinID AND BinStamp = @i_BinStamp) BEGIN INSERT dbo.DrBins VALUES(@t_CID, @i_BinStamp, @t_BinID) END END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_CategorizeBuckets Script Date: 12/19/2001 2:06:02 PM ******/ /****** Object: Stored Procedure dbo.sp_CategorizeBuckets Script Date: 11/7/2001 3:53:58 AM ******/ CREATE PROCEDURE sp_CategorizeBuckets @ip_Followup varchar(50), @ip_SortBy varchar(100) AS BEGIN -- sort by bucketid IF (@ip_SortBy = 'BucketId' OR @ip_SortBy = 'Bucket') BEGIN select BucketId, Instances, BugId AS Bug from BucketGroups WHERE Followup = @ip_Followup order by BucketId END -- sort by #Instances IF (@ip_SortBy = 'Instances') BEGIN select BucketId, Instances, BugId AS Bug from BucketGroups WHERE Followup = @ip_Followup order by Instances DESC END END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_CheckCrashExists Script Date: 12/14/2001 5:00:04 PM ******/ CREATE PROCEDURE sp_CheckCrashExists @i_IncidentId AS int AS BEGIN DECLARE @retval as int SET @retval = 0 IF EXISTS (SELECT * FROM CrashInstances WHERE IncidentId = @i_IncidentId) BEGIN SET @retval = 1 END SELECT @retval AS CrashExists END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_DeleteSolution Script Date: 12/19/2001 2:06:05 PM ******/ /****** Object: Stored Procedure dbo.sp_DeleteSolution Script Date: 11/7/2001 3:53:58 AM ******/ CREATE PROCEDURE sp_DeleteSolution @BucketId varchar(100) AS BEGIN DECLARE @iBucket AS int DECLARE @DelId AS int SELECT @iBucket = iBucket FROM BucketToInt WHERE BucketId = @BucketId DELETE FROM RaidBugs WHERE iBucket = @iBucket SELECT @DelId = SolId FROM SolutionsMap WHERE iBucket = @iBucket DELETE FROM SolutionsMap WHERE iBucket = @iBucket IF NOT EXISTS (SELECT * FROM Solutions WHERE SolId = @DelId) BEGIN -- No one else used the same solution DELETE FROM Solutions WHERE @DelId = Solutions.SolId END SELECT @DelId = CommentId FROM CommentMap WHERE iBucket = @iBucket DELETE FROM CommentMap WHERE iBucket = @iBucket IF NOT EXISTS (SELECT * FROM Comments WHERE CommentId = @DelId) BEGIN -- No one else used the same solution DELETE FROM Coments WHERE @DelId = Comments.CommentId END END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_EmptyBuckets Script Date: 12/19/2001 2:06:02 PM ******/ /****** Object: Stored Procedure dbo.sp_EmptyBuckets Script Date: 11/7/2001 3:53:58 AM ******/ CREATE PROCEDURE sp_EmptyBuckets @i_Remove int AS BEGIN IF @i_Remove = 1 BEGIN DELETE FROM CrashBuckets WHERE BucketId NOT IN (SELECT DISTINCT(BucketId) FROM BucketMap) END SELECT Followup, BucketId AS Bucket FROM CrashBuckets WHERE BucketId NOT IN (SELECT DISTINCT(BucketId) FROM BucketMap) END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_GetIntBucket Script Date: 12/19/2001 2:06:02 PM ******/ CREATE PROCEDURE sp_GetIntBucket @i_BucketId1 as varchar(256), @i_BucketId2 as varchar(256) AS BEGIN DECLARE @id1 as int DECLARE @id2 as int SELECT @id1 = iBucket FROM BucketToInt WHERE BucketId = @i_BucketId1 SELECT @id2 = iBucket FROM BucketToInt WHERE BucketId = @i_BucketId2 SELECT @id1, @id2 END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_GetProblems Script Date: 12/19/2001 2:06:02 PM ******/ /****** Object: Stored Procedure dbo.sp_GetProblems Script Date: 11/7/2001 3:53:58 AM ******/ CREATE PROCEDURE sp_GetProblems @ip_BucketTypes int AS BEGIN -- BucketType = 0 : List all IF (@ip_BucketTypes = 0) BEGIN select * from bucketgroups order by Instances DESC END -- BucketType = 1 : List unresolved, unraided IF (@ip_BucketTypes = 1) BEGIN select * from bucketgroups --where ISNULL(bugid, 0) = 0 AND ISNULL(solvedate, '1/1/1900') = '1/1/1900' order by Instances DESC END -- BucketType = 2 : List raided buckets IF (@ip_BucketTypes = 2) BEGIN select * from bucketgroups where ISNULL(bugid, 0)<>0 order by Instances DESC END -- BucketType = 3 : List solved buckets IF (@ip_BucketTypes = 3) BEGIN select * from bucketgroups -- where ISNULL(solvedate, '1/1/1900')<>'1/1/1900' order by Instances DESC END END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_HexToInt Script Date: 12/19/2001 2:06:03 PM ******/ /****** Object: Stored Procedure dbo.sp_HexToInt Script Date: 11/7/2001 3:53:58 AM ******/ CREATE PROCEDURE sp_HexToInt @i_HexVal as varchar(10), @i_Len as int AS BEGIN DECLARE @Value as bigint DECLARE @Sub as int SET @Sub = 0 SET @Value = 0 while (@i_Len <> @Sub) BEGIN SET @Value = @Value * 16 SET @Value = @Value + (ASCII(SUBSTRING(@i_HexVal, @Sub+1, 1)) - 48) SET @Sub = @Sub + 1 END return @Value END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_ListBucket Script Date: 12/19/2001 2:06:05 PM ******/ /****** Object: Stored Procedure dbo.sp_ListBucket Script Date: 11/7/2001 3:53:58 AM ******/ CREATE PROCEDURE sp_ListBucket @BucketId varchar (100) AS BEGIN SELECT BuildNo, Path, Source FROM CrashInsTances, BucketToInt, BucketToCrash WHERE CrashInstances.CrashId = BucketToCrash.CrashId AND BucketToInt.iBucket = BucketToCrash.iBucket AND BucketToInt.BucketId=@BucketId END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_LookupBucket Script Date: 12/19/2001 2:06:05 PM ******/ /****** Object: Stored Procedure dbo.sp_LookupBucket Script Date: 11/7/2001 3:53:58 AM ******/ CREATE PROCEDURE sp_LookupBucket @s_BucketId varchar(100) AS BEGIN DECLARE @i_Bug int DECLARE @d_CommentDate DATETIME DECLARE @s_Comment varchar (1000) DECLARE @s_OSVersion varchar (30) DECLARE @s_CommentBy varchar (30) DECLARE @iBucket AS int DECLARE @FaultyDriver AS varchar (100) SELECT @iBucket = iBucket FROM BucketToInt WHERE BucketId = @s_BucketId -- Get the Raid bug SELECT @i_Bug = BugId FROM RaidBugs WHERE iBucket = @iBucket -- get the comment SELECT @s_Comment = Comment, @s_CommentBy = CommentBy, @d_CommentDate = EntryDate FROM Comments, CommentMap WHERE Comments.iBucket = @iBucket AND Comments.CommentId = CommentMap.CommentId -- get faulty driver SELECT @FaultyDriver = BinName FROM DrNames, DriverMap WHERE DriverMap.iBucket = @iBucket AND DriverMap.BinID = DrNames.BinID -- Output values SELECT @i_Bug AS Bug, @s_Comment AS Comment, @s_CommentBy AS CommentBy, @d_CommentDate AS CommentDate, @FaultyDriver AS FaultyDriver END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_NewIssues Script Date: 12/19/2001 2:06:05 PM ******/ /****** Object: Stored Procedure dbo.sp_NewIssues Script Date: 11/7/2001 3:53:58 AM ******/ CREATE PROCEDURE sp_NewIssues @i_DaysOld int AS BEGIN IF @i_DaysOld = 0 BEGIN SET @i_DaysOld = 1 END -- Display new buckets SELECT BucketToInt.BucketId AS Bucket, MAX(EntryDate)AS NewestEntry FROM CrashInstances, BucketToInt, BucketToCrash WHERE DATEDIFF(day,EntryDate,GETDATE()) < @i_DaysOld AND BucketToCrash.CrashId = CrashInstances.CrashId AND BucketToCrash.iBucket = BucketToInt.iBucket GROUP BY BucketId END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_NewIssuesThisWeek Script Date: 12/19/2001 2:06:06 PM ******/ /****** Object: Stored Procedure dbo.sp_NewIssuesThisWeek Script Date: 11/7/2001 3:53:59 AM ******/ CREATE PROCEDURE sp_NewIssuesThisWeek AS BEGIN -- Display new crashes added today /* SELECT BucketMap.BucketId AS Bucket, MIN(EntryDate)AS OldestEntry FROM CrashInstances, BucketMap WHERE DATEDIFF(day,EntryDate,GETDATE()) <= 7 AND BucketMap.CrashId = CrashInstances.CrashId GROUP BY BucketId */ EXEC sp_NewIssues 7 END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_NewIssuesToday Script Date: 12/19/2001 2:06:06 PM ******/ /****** Object: Stored Procedure dbo.sp_NewIssuesToday Script Date: 11/7/2001 3:53:59 AM ******/ CREATE PROCEDURE sp_NewIssuesToday AS BEGIN -- Display new crashes added today /* SELECT Followup, BucketMap.BucketId AS Bucket, COUNT (BucketMap.CrashId) AS Instances FROM CrashInstances, BucketMap, CrashBuckets WHERE DATEPART(dd,EntryDate) = DATEPART(dd,GETDATE()) AND DATEPART(mm,EntryDate) = DATEPART(mm,GETDATE()) AND DATEPART(yy,EntryDate) = DATEPART(yy,GETDATE()) AND BucketMap.CrashId = CrashInstances.CrashId AND CrashBuckets.BucketId = BucketMap.BucketId GROUP BY BucketMap.BucketId, Followup ORDER BY Instances DESC */ EXEC sp_NewIssues 1 END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_PrivateCleanupCrash Script Date: 12/19/2001 2:06:05 PM ******/ CREATE PROCEDURE sp_PrivateCleanupCrash @CrashId bigint AS BEGIN DELETE FROM BucketToCrash where Crashid = @CrashId IF EXISTS (SELECT * FROM OVERCLOCKED WHERE CrashId = @CrashId) BEGIN DELETE FROM OverClocked WHERE CrashId = @CrashId END delete from Crashinstances where Crashid = @CrashId END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_RetriageCrash Script Date: 12/19/2001 2:06:05 PM ******/ -- Change RetriageCrash CREATE PROCEDURE sp_RetriageCrash @ip_CrashId bigint, @ip_sBucketId varchar(100), @ip_gBucketId varchar(100), @ip_FollowUp varchar(50) AS BEGIN DECLARE @b_BucketExists int DECLARE @isBucket int DECLARE @igBucket int -- Check if crash exists IF NOT EXISTS (SELECT CrashId FROM CrashInstances WHERE CrashId = @ip_CrashId) BEGIN return 1 END -- Add Buckt to followup mapping EXEC sp_AddBucketFollowup @ip_sBucketId, @ip_FollowUp SELECT @isBucket = iBucket FROM BucketToInt WHERE BucketId = @ip_sBucketId SELECT @igBucket = iBucket FROM BucketToInt WHERE BucketId = @ip_gBucketId -- Insert the Bucket into bucketmapping table IF EXISTS (SELECT iBucket FROM BucketToCrash WHERE CrashId = @ip_CrashId ) BEGIN UPDATE BucketToCrash SET iBucket = @isBucket, gBucket = @igBucket FROM BucketToCrash WHERE CrashId = @ip_CrashId END ELSE BEGIN INSERT BucketToCrash VALUES (@ip_CrashId, @isBucket, @igBucket) END RETURN 0 END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_SearchDb Script Date: 12/19/2001 2:06:03 PM ******/ /****** Object: Stored Procedure dbo.sp_SearchDb Script Date: 11/7/2001 3:53:58 AM ******/ CREATE PROCEDURE sp_SearchDb @i_BucketStr varchar(100), @i_BucketStrType int, -- 0 : Equals, 1 : Contains @i_FollowUpStr varchar( 50 ), @i_FollowUpType int, -- 0 : Equals, 1 : Contains @i_BuildLower int, @i_BuildUpper int, @i_SolType int, -- 0 : All, 1 : Solved, 2 : Raided @i_GroupBuckets int -- 0 : List individual instances, 1 groupby buckets AS BEGIN SELECT * FROM BucketGroups WHERE (@i_FollowUpStr = '' OR Followup LIKE @i_FollowUpStr) AND (@i_BucketStr = '' OR BucketId LIKE @i_BucketStr) END /* OLD CODE IF (@i_BucketStr = '' AND @i_GroupBuckets <> 0) BEGIN SELECT cb.BucketId AS Bucket, fp.Followup AS Followup, COUNT (DISTINCT bm.CrashId) As Instances FROM CrashInstances AS ci, BucketToCrash AS bm, FollowupIds AS fp, BucketToInt AS cb, SolutionsMap AS si, RaidBugs AS rb WHERE (@i_FollowUpStr = '' OR fp.Followup LIKE @i_FollowUpStr) AND (@i_SolType = 0 OR ((@i_SolType = 1) AND cb.iBucket IN (SELECT iBucket FROM SolutionsMap)) OR ((@i_SolType = 2) AND cb.iBucket IN (SELECT iBucket FROM RaidBugs)) OR ((@i_SolType = 3) AND cb.iBucket IN (SELECT SolutionsMap.iBucket FROM SolutionsMap, RaidBugs WHERE RaidBugs.iBucket = SolutionsMap.iBucket))) AND ci.CrashId = bm.CrashId AND bm.iBucket = cb.iBucket AND fp.iBucket = cb.iBucket AND (ci.BuildNo BETWEEN @i_BuildLower AND @i_BuildUpper) GROUP BY cb.BucketId, fp.Followup ORDER BY instances DESC END ELSE IF (@i_GroupBuckets <> 0) BEGIN SELECT cb.BucketId AS Bucket, fp.Followup AS Followup, COUNT (DISTINCT bm.CrashId) As Instances FROM CrashInstances AS ci, BucketToCrash AS bm, Followups AS fp, BucketToInt AS cb, SolutionsMap AS si, RaidBugs AS rb WHERE (@i_FollowUpStr = '' OR fp.Followup LIKE @i_FollowUpStr) AND (@i_BucketStr = '' OR cb.BucketId LIKE @i_BucketStr) AND (@i_SolType = 0 OR ((@i_SolType = 1) AND cb.iBucket IN (SELECT iBucket FROM SolutionsMap)) OR ((@i_SolType = 2) AND cb.iBucket IN (SELECT iBucket FROM RaidBugs)) OR ((@i_SolType = 3) AND cb.iBucket IN (SELECT SolutionsMap.iBucket FROM SolutionsMap, RaidBugs WHERE RaidBugs.iBucket = SolutionsMap.iBucket))) AND ci.CrashId = bm.CrashId AND bm.iBucket = cb.iBucket AND fp.iBucket = cb.iBucket AND (ci.BuildNo BETWEEN @i_BuildLower AND @i_BuildUpper) GROUP BY cb.BucketId, fp.Followup ORDER BY instances DESC END ELSE BEGIN SELECT DISTINCT Path, cb.BucketId AS Bucket, Source FROM CrashInstances AS ci, BucketToCrash AS bm, Followups AS fp, BucketToInt AS cb, SolutionsMap AS si, RaidBugs AS rb WHERE ((@i_FollowUpStr = '' OR fp.Followup LIKE @i_FollowUpStr) AND (@i_BucketStr = '' OR cb.BucketId LIKE @i_BucketStr)) AND ( @i_SolType = 0 OR ((@i_SolType = 1) AND cb.iBucket IN (SELECT iBucket FROM SolutionsMap)) OR ((@i_SolType = 2) AND cb.iBucket IN (SELECT iBucket FROM RaidBugs)) OR ((@i_SolType = 3) AND cb.iBucket IN (SELECT SolutionsMap.iBucket FROM SolutionsMap, RaidBugs WHERE RaidBugs.iBucket = SolutionsMap.iBucket))) AND ci.CrashId = bm.CrashId AND bm.iBucket = cb.iBucket AND fp.iBucket = cb.iBucket AND (ci.BuildNo BETWEEN @i_BuildLower AND @i_BuildUpper) END */ GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_SendMailForBucket Script Date: 12/19/2001 2:06:03 PM ******/ /****** Object: Stored Procedure dbo.sp_SendMailForBucket Script Date: 11/7/2001 3:53:58 AM ******/ CREATE PROCEDURE sp_SendMailForBucket @Bucket varchar(100) AS BEGIN DECLARE @MailTo varchar(50) DECLARE @Mesg varchar(1000) DECLARE @Subj varchar(50) SET @MailTo = '' SET @Subj = 'You have been assigned a new bucket' SET @Mesg = 'Click on http://dbgdumps/cr/crashinstances.asp?bucketid=' + @Bucket -- Send mail to person following up on given Bucket SELECT @MailTo = Followup FROM CrashBuckets WHERE BucketId = @Bucket IF @MailTo <> '' BEGIN EXEC master.dbo.xp_startmail EXEC master.dbo.xp_sendmail @recipients = @MailTo, @message = @Mesg, @subject = @Subj EXEC master.dbo.xp_stopmail END ELSE BEGIN SELECT 'Could not send mail - bucket not found' END END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_SolvedIssuesThisWeek Script Date: 12/19/2001 2:06:03 PM ******/ /****** Object: Stored Procedure dbo.sp_SolvedIssuesThisWeek Script Date: 11/7/2001 3:53:58 AM ******/ CREATE PROCEDURE sp_SolvedIssuesThisWeek AS BEGIN -- Display crash buckets SELECT BucketId AS Bucket, SolveDate FROM SolvedIssues WHERE SolveDate >= DATEADD(day,-7,GETDATE()) END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO /****** Object: Stored Procedure dbo.sp_SolvedIssuesToday Script Date: 12/19/2001 2:06:03 PM ******/ /****** Object: Stored Procedure dbo.sp_SolvedIssuesToday Script Date: 11/7/2001 3:53:58 AM ******/ CREATE PROCEDURE sp_SolvedIssuesToday AS BEGIN -- Display crash buckets solved today SELECT BucketId AS Bucket, SolveDate FROM SolvedIssues WHERE DATEPART(dd,SolveDate) = DATEPART(dd,GETDATE()) AND DATEPART(mm,SolveDate) = DATEPART(mm,GETDATE()) AND DATEPART(yy,SolveDate) = DATEPART(yy,GETDATE()) END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE DBGP_CompleteRetriageRequest ( @RequestID int, @Tester char(10) ) AS UPDATE TriageQueue SET Tester = @Tester, CompleteDate = GetDate() where RequestID = @RequestID GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE DBGP_CreateRetriageRequest( @BucketID varchar(100), @Alias char(10), @Reason varchar( 256 ) ) AS INSERT INTO TriageQueue ( BucketID, Requestor, Reason ) VALUES ( @bucketID, @Alias, @Reason ) GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE DBGP_ApproveRetriageRequest ( @RequestID int, @Approver char(10) ) AS UPDATE TriageQueue SET Approver = @Approver, ApprovalDate = GetDate() where RequestID = @RequestID GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE DBGP_ClearPoolCorruption ( @BucketID varchar(100) ) AS UPDATE BucketToInt SET PoolCorruption = NULL WHERE BucketID = @BucketID GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS OFF GO CREATE PROCEDURE DBGP_BuildDebugPortalTables AS --exec DBGP_UpdateCrashData PRINT '------ Dropping table DBGPortal_CrashData -----' if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[DBGPortal_CrashData]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[DBGPortal_CrashData] PRINT '------ Done dropping table -----' PRINT '------ Dropping table Index CrashData1 -----' IF EXISTS (SELECT name FROM sysindexes WHERE name = 'DBGPortal_CrashData1') DROP INDEX DBGPortal_CrashData.DBGPortal_CrashData1 PRINT '------ Done -----' PRINT '------ Dropping table Index IX_DBGPortal_CrashData -----' IF EXISTS( SELECT name FROM sysindexes WHERE name = 'IX_DBGPortal_CrashData' ) DROP INDEX [DBGPortal_CrashData].IX_DBGPortal_CrashData PRINT '------ Done -----' PRINT '------ Dropping table Index CrashData_1 -----' IF EXISTS( SELECT name FROM sysindexes WHERE name = 'IX_DBGPortal_CrashData_1' ) DROP INDEX [DBGPortal_CrashData].IX_DBGPortal_CrashData_1 PRINT '------ Done -----' PRINT '------ Dropping table Index CrashData_2 -----' IF EXISTS( SELECT name FROM sysindexes WHERE name = 'IX_DBGPortal_CrashData_2' ) DROP INDEX [DBGPortal_CrashData].IX_DBGPortal_CrashData_2 PRINT '------ Done -----' PRINT '------ Dropping table Index CrashData_3 -----' IF EXISTS( SELECT name FROM sysindexes WHERE name = 'IX_DBGPortal_CrashData_3' ) DROP INDEX [DBGPortal_CrashData].IX_DBGPortal_CrashData_3 PRINT '------ Done -----' PRINT '------ Dropping table Index CrashData_4 -----' IF EXISTS( SELECT name FROM sysindexes WHERE name = 'IX_DBGPortal_CrashData_4' ) DROP INDEX [DBGPortal_CrashData].IX_DBGPortal_CrashData_4 PRINT '------ Done -----' PRINT '------ Dropping table Index CrashData_5 -----' IF EXISTS( SELECT name FROM sysindexes WHERE name = 'IX_DBGPortal_CrashData_5' ) DROP INDEX [DBGPortal_CrashData].IX_DBGPortal_CrashData_5 PRINT '------ Done -----' PRINT '------ Creating Table DBGPotal_CrashData -----' CREATE TABLE [dbo].[DBGPortal_CrashData] ( [DataIndex] [int] IDENTITY (1, 1) NOT NULL , [iBucket] [int] NULL , [BuildNo] [int] NULL , [IncidentID] [int] NULL , [EntryDate] [datetime] NULL , [TrackID] [nvarchar] (16) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Email] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Path] [varchar] (256) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Description] [nvarchar] (512) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Comments] [nvarchar] (1024) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Repro] [nvarchar] (1024) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) ON [PRIMARY] PRINT '------ Done -----' PRINT '------ Populating table CrashData -----' INSERT INTO dbgportal_CrashData (Path, BuildNo, EntryDate, IncidentID, email, Description, Comments, Repro, iBucket, TrackID ) select Crash.Path, BuildNo, EntryDate, Inc.IncidentID, Email, Description, Comments, Repro, Crash.sBucket, trackID from CrashInstances as Crash left join KaCustomer2.dbo.Incident as Inc on Crash.IncidentID=Inc.IncidentID left join KaCustomer2.dbo.customer as Cust on Inc.HighId = Cust.HighID and Inc.LowId = Cust.LowID PRINT '------ Done -----' PRINT '------ Creating clustered index DBGPotal_Crashdata1 -----' CREATE CLUSTERED INDEX [DBGPortal_CrashData1] ON [dbo].[DBGPortal_CrashData]([iBucket]) ON [PRIMARY] PRINT '------ Done -----' PRINT '------ Creating Index IX_DBG... -----' CREATE INDEX [IX_DBGPortal_CrashData] ON [dbo].[DBGPortal_CrashData]([Path], [BuildNo], [EntryDate], [Email], [IncidentID], [TrackID]) ON [PRIMARY] PRINT '------ Done -----' PRINT '------ Creating Index IX_DBG. .1. -----' CREATE INDEX [IX_DBGPortal_CrashData_1] ON [dbo].[DBGPortal_CrashData]([BuildNo]) ON [PRIMARY] PRINT '------ Done -----' PRINT '------ Creating Index IX_DBG. .2 -----' CREATE INDEX [IX_DBGPortal_CrashData_2] ON [dbo].[DBGPortal_CrashData]([Email]) ON [PRIMARY] PRINT '------ Done -----' PRINT '------ Creating Index IX_DBG. .3. -----' CREATE INDEX [IX_DBGPortal_CrashData_3] ON [dbo].[DBGPortal_CrashData]([Path]) ON [PRIMARY] PRINT '------ Done -----' PRINT '------ Creating Index IX_DBG. .4. -----' CREATE INDEX [IX_DBGPortal_CrashData_4] ON [dbo].[DBGPortal_CrashData]([EntryDate]) ON [PRIMARY] PRINT '------ Done -----' PRINT '------ Creating Index IX_DBG. .5. -----' CREATE INDEX [IX_DBGPortal_CrashData_5] ON [dbo].[DBGPortal_CrashData]([TrackID]) ON [PRIMARY] PRINT '------ Done -----' PRINT '------ Dropping table BucketDAta. -----' /****** Object: Table [dbo].[DBGPortal_BucketData] Script Date: 1/23/2002 6:49:53 PM ******/ if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[DBGPortal_BucketData]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[DBGPortal_BucketData] PRINT '------ Done -----' PRINT '------ Delteing index IX_...BucketData. -----' IF EXISTS (SELECT name FROM sysindexes WHERE name = 'IX_DBGPortal_BucketData') DROP INDEX DBGPortal_BucketData.IX_DBGPortal_BucketData PRINT '------ Done -----' PRINT '------ Createing BucketData Table -----' /****** Object: Table [dbo].[DBGPortal_BucketData] Script Date: 1/23/2002 6:49:53 PM ******/ CREATE TABLE [dbo].[DBGPortal_BucketData] ( [BucketIndex] [int] NULL , [iBucket] [int] NOT NULL , [CrashCount] [int] NOT NULL , [BugID] [int] NULL , [SolutionID] [int] NULL, [Platform][int] NULL, [FollowUp] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [BucketID] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) ON [PRIMARY] PRINT '------ Done -----' PRINT '------ Creating Tmp table-----' declare @tmpTable Table( AnIndex int IDENTITY(1,1) NOT NULL, -- [BucketIndex] [int], iBucket int, CrashCount int , BugID int , SolutionID int, Platform int, FollowUp varchar(50), BucketID varchar(100) ) PRINT '------ Done -----' PRINT '------ Populating temp table with bucketdata. -----' --INSERT INTO @TmpTable ( iBucket, BucketID, FollowUP, CrashCount, BugID, SolutionID, Platform) INSERT INTO @TmpTable ( iBucket, CrashCount, BugID, SolutionID, Platform, FollowUP, BucketID ) SELECT One.iBucket, CrashCount, BugID, SolutionID, Platform, FollowUP, BTI.BucketID FROM ( SELECT TOP 100 PERCENT COUNT(IBucket) as CrashCount, iBucket FROM DbGPortal_CrashData GROUP BY iBucket ORDER BY CrashCount DESC ) as One INNER JOIN BucketToint as BTI on One.iBucket = BTI.iBucket LEFT JOIN FollowUpIds as F ON BTI.iFollowUP = F.iFollowUp LEFT JOIN Solutions.DBO.SolvedBuckets ON BucketID = strBucket LEFT JOIN RaidBugs as R ON BTI.iBucket = R.iBucket WHERE BugID is NULL and SolutioNID is NULL ORDER BY CrashCount DESC PRINT '------ Done -----' PRINT '------ Populating DBGPortal_BucketData table. -----' INSERT INTO DBGPOrtal_BucketData ( BucketIndex, iBucket, CrashCount, BugID, SolutionID, Platform , FollowUP, BucketID ) SELECT AnIndex, iBucket, CrashCount, BugID, SolutionID, Platform, FollowUP, BucketID FROM @TmpTable ORDER BY CrashCount DESC PRINT '------ Done -----' PRINT '------ Clearing temp talbe -----' DELETE FROM @TmpTable PRINT '------ Done -----' PRINT '------ Populating temp table iwth solved raided buckets -----' INSERT INTO @TmpTable ( iBucket, CrashCount, BugID, SolutionID, Platform, FollowUp, BucketID ) SELECT One.iBucket, CrashCount, BugID, SolutionID, Platform, FollowUP, BTI.BucketID FROM ( SELECT TOP 100 PERCENT COUNT(IBucket) as CrashCount, iBucket FROM DbGPortal_CrashData GROUP BY iBucket ORDER BY CrashCount DESC ) as One INNER JOIN BucketToint as BTI on One.iBucket = BTI.iBucket LEFT JOIN FollowUpIds as F ON BTI.iFollowUP = F.iFollowUp LEFT JOIN Solutions.DBO.SolvedBuckets ON BucketID = strBucket LEFT JOIN RaidBugs as R ON BTI.iBucket = R.iBucket WHERE BugID is not NULL or SolutioNID is NOT NULL ORDER BY CrashCount DESC PRINT '------ Done -----' PRINT '------ Populating BucketData table with solved, raidied data. -----' INSERT INTO DBGPOrtal_BucketData ( BucketIndex, iBucket, CrashCount, BugID, SolutionID, Platform, FollowUP, BucketID ) SELECT AnIndex, iBucket, CrashCount, BugID, SolutionID, Platform, FollowUp, BucketID FROM @TmpTable ORDER BY CrashCount DESC PRINT '------ Done -----' PRINT '------ Creating clusterd index. -----' CREATE CLUSTERED INDEX [IX_DBGPortal_BucketData] ON [dbo].[DBGPortal_BucketData]([CrashCount] DESC ) ON [PRIMARY] PRINT '------ Done -----' GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE DBGP_SetPoolCorruption( @BucketID varchar(100) ) AS UPDATE BucketToInt SET PoolCorruption = 1 WHERE BucketID = @BucketID GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO