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.
 
 
 
 
 
 

852 lines
17 KiB

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ApproveSolution]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[ApproveSolution]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CrashSolution]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[CrashSolution]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetClassSolution]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[GetClassSolution]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetClasses]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[GetClasses]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetContact]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[GetContact]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetModule]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[GetModule]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetMoreInfo]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[GetMoreInfo]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetPreApprovedSolutionID]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[GetPreApprovedSolutionID]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetPreApprovedSolutions]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[GetPreApprovedSolutions]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetProduct]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[GetProduct]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetSolution]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[GetSolution]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetSolutionClasses]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[GetSolutionClasses]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetSolutionID]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[GetSolutionID]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetTempClassSolution]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[GetTempClassSolution]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetTemplate]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[GetTemplate]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[RecreatSolvedBucketIndex]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[RecreatSolvedBucketIndex]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[RecreateStopCodeIndex]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[RecreateStopCodeIndex]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SetContact]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[SetContact]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SetIndexBucket]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[SetIndexBucket]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SetIndexStopCode]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[SetIndexStopCode]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SetModule]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[SetModule]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SetPreApprovedCrashSolution]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[SetPreApprovedCrashSolution]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SetPreApprovedLIveSolutionID]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[SetPreApprovedLIveSolutionID]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SetProduct]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[SetProduct]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SetSolution]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[SetSolution]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SetTemplate]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[SetTemplate]
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE ApproveSolution(
@SolutionID int,
@ApprovedBy nvarchar(30),
@ApprovedDate datetime
) AS
UPDATE PreApprovedSolutions SET
Approved = 1,
ApprovedBy = @ApprovedBy,
WhenApproved = @ApprovedDate
WHERE SolutionID = @SolutionID
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE CrashSolution (
@SolutionID int,
@ClassID int
) AS
UPDATE KaKnownIssue.dbo.CrashClass SET
SolutionID = @SolutionID
WHERE
ClassID = @ClassID
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE GetClassSolution (
@ClassID int
) AS
SELECT SolutionID FROM KaKnownIssue.dbo.CrashClass WHERE ClassID = @ClassID
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE GetClasses
AS
SELECT KaCrash.ClassID, KaCrash.ClassID FROM KaKnownIssue.dbo.CrashClass KaCrash ORDER BY KaCrash.ClassID
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE GetContact (
@ContactID int
) AS
SELECT CompanyName, CompanyAddress1, CompanyAddress2, CompanyCity, CompanyState, CompanyZip,
CompanyMainPhone, CompanySupportPhone, CompanyFax, CompanyWebSite,
ContactName, ContactAddress1, ContactAddress2, ContactCity, ContactState, ContactZip,
contactPhone, ContactEMail, ContactOccupation
FROM Contacts
WHERE ContactID = @ContactID
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE GetModule (
@ModuleID int
) AS
SELECT ModuleName FROM Modules WHERE ModuleID = @ModuleID
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE GetMoreInfo(
@BucketID int,
@Lang nvarchar(4)
) AS
--DECLARE @BucketID char(8)
--SELECT @BucketID = BucketID FROM SolvedBuckets WHERE = @ClassID
SELECT KBs FROM HelpInfo WHERE iStopCode = @BucketID AND Lang = @Lang
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE GetPreApprovedSolutionID AS
DECLARE @SolutionID int
DECLARE MyCursor CURSOR FOR
SELECT TOP 1 SolutionID + 1 AS MySolutionID
FROM PreApprovedSolutions
ORDER BY SolutionID DESC
OPEN MyCursor
FETCH MyCursor INTO @SolutionID
CLOSE MyCursor
DEALLOCATE MyCursor
INSERT INTO PreApprovedSolutions
(SolutionID, Lang, Approved )
VALUES
(@SolutionID, 'USA', '-1')
SELECT @SolutionID AS MySolutionID
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE GetPreApprovedSolutions AS
SELECT SolutionID, Lang, SolutionType, ModuleID, BugID, Approved, ApprovedBy, WhenApproved, CreatedBy from PreApprovedSolutions order by SolutionID
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE GetProduct (
@ProductID int
) AS
SELECT ProductName FROM Products WHERE ProductID = @ProductID
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE GetSolution(
@ClassID int,
@Lang nvarchar(4)
) AS
----SELECT SolutionType, SP, TemplateID, ProductID, Description, ContactID, ModuleID
-----FROM KaKnownIssue.dbo.SolutionEx KaSolution INNER JOIN KaKnownIssue.dbo.CrashClass KaCrash ON
--KaSolution.SolutionID = KaCrash.SolutionID
--WHERE ClassID = @ClassID AND Lang = @Lang AND KaSolution.SolutionID <> 1
SELECT SolutionType, SP, TemplateID, ProductID, Description, ContactID, ModuleID, BucketType
FROM SolutionEx KaSolution INNER JOIN SolvedBuckets KaCrash ON
KaSolution.SolutionID = KaCrash.SolutionID
WHERE Bucket = @ClassID AND Lang = @Lang AND KaSolution.SolutionID <> 1
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE GetSolutionClasses (
@SolutionID int
) AS
SELECT CrashClass.ClassID, HintKey, Data FROM KaKnownIssue.dbo.CrashClass CrashClass
LEFT JOIN (SELECT TOP 1 ClassID, HintKey, Data FROM KaKnownIssue.dbo.HintData ORDER BY DataID) AS Hint
ON CrashClass.ClassID = Hint.ClassID
WHERE CrashClass.SolutionID = @SolutionID AND SolutionID <> 0
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE GetSolutionID
AS
DECLARE @SolutionID int
DECLARE MyCursor CURSOR FOR
SELECT TOP 1 KaCrash.SolutionID + 1 AS MySolutionID
FROM KaKnownIssue.dbo.SolutionEx KaCrash
ORDER BY KaCrash.SolutionID DESC
OPEN MyCursor
FETCH MyCursor INTO @SolutionID
CLOSE MyCursor
DEALLOCATE MyCursor
INSERT INTO KaKnownIssue.dbo.SolutionEx
(SolutionID, Lang)
VALUES
(@SolutionID, 'USA')
SELECT @SolutionID AS MySolutionID
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE GetTempClassSolution (
@ClassID int
) AS
SELECT SolutionID, Approved
FROM PreApprovedSolutions WHERE
SolutionID = (SELECT SolutionID FROM PreApprovedSolutionClassIds WHERE ClassID = @ClassID)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE GetTemplate (
@TemplateID int
) AS
SELECT TemplateName, Description FROM Templates WHERE TemplateID = @TemplateID
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[RecreatSolvedBucketIndex]
AS
DROP INDEX Incident.SOLVEDBUCKET_INDEX
CREATE INDEX SOLVEDBUCKET_INDEX on SolvedBuckets (Bucket)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[RecreateStopCodeIndex]
AS
DROP INDEX Incident.STOPCODE_INDEX
CREATE INDEX STOPCODE_INDEX on HelpInfo (iStopCode)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE SetContact (
@ContactID int,
@CompanyName nvarchar(128),
@CompanyAddress1 nvarchar(64),
@CompanyAddress2 nvarchar(64),
@CompanyCity nvarchar(16),
@CompanyState nvarchar(4),
@CompanyZip nvarchar(16),
@CompanyMainPhone nvarchar(16),
@CompanySupportPhone nvarchar(16),
@CompanyFax nvarchar(16),
@CompanyWebSite nvarchar(128),
@ContactName nvarchar(32),
@ContactOccupation nvarchar(32),
@ContactAddress1 nvarchar(64),
@ContactAddress2 nvarchar(64),
@ContactCity nvarchar(16),
@ContactState nvarchar(4),
@ContactZip nvarchar(16),
@ContactPhone nvarchar(16),
@ContactEMail nvarchar(64)
) AS
IF EXISTS(SELECT * FROM Contacts WHERE ContactID = @ContactID)
UPDATE Contacts SET
CompanyName = @CompanyName,
CompanyAddress1 = @CompanyAddress1,
CompanyAddress2 = @CompanyAddress2,
CompanyCity = @CompanyCity,
CompanyState = @CompanyState,
CompanyZip = @CompanyZip,
CompanyMainPhone = @CompanyMainPhone,
CompanySupportPhone = @CompanySupportPhone,
CompanyFax = @CompanyFax,
CompanyWebSite = @CompanyWebSite,
ContactName = @ContactName,
ContactOccupation = @ContactOccupation,
ContactAddress1 = @contactAddress1,
ContactAddress2 = @ContactAddress2,
ContactCity = @ContactCity,
ContactState = @ContactState,
ContactZip = @ContactZip,
ContactPhone = @ContactPhone,
ContactEMail = @ContactEMail
WHERE
ContactID = @ContactID
ELSE
INSERT INTO Contacts
(CompanyName, CompanyAddress1, CompanyAddress2, CompanyCity, CompanyState, CompanyZip,
CompanyMainPhone, CompanySupportPhone, CompanyFax, CompanyWebSite,
ContactName, ContactOccupation, ContactAddress1, ContactAddress2, ContactCity, ContactState, ContactZip,
ContactPhone, ContactEMail)
VALUES
(@CompanyName, @CompanyAddress1, @CompanyAddress2, @CompanyCity, @CompanyState, @CompanyZip,
@CompanyMainPhone, @CompanySupportPhone, @CompanyFax, @CompanyWebSite,
@ContactName, @ContactOccupation, @ContactAddress1, @ContactAddress2, @ContactCity, @ContactState, @ContactZip,
@ContactPhone, @ContactEMail)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[SetIndexBucket]
AS
IF not EXISTS (SELECT name FROM sysindexes
WHERE name = 'BUCKET_INDEX')
begin
CREATE INDEX BUCKET_INDEX on SolvedBuckets (Bucket)
end
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[SetIndexStopCode]
AS
IF not EXISTS (SELECT name FROM sysindexes
WHERE name = 'STOPCODE_INDEX')
begin
CREATE INDEX STOPCODE_INDEX on HelpInfo (iStopCode)
end
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE SetModule (
@ModuleID int,
@ModuleName nvarchar(128)
) AS
IF EXISTS (SELECT * FROM Modules WHERE ModuleID = @ModuleID)
UPDATE Modules SET
ModuleName = @ModuleName
WHERE
ModuleID = @ModuleID
ELSE
INSERT INTO Modules
(ModuleName)
VALUES
(@ModuleName)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE SetPreApprovedCrashSolution (
@SolutionID int,
@ClassID int
) AS
IF EXISTS ( select * from PreApprovedSolutionClassIDs where ClassID = @ClassID )
UPDATE PreApprovedSolutionClassIDs SET SolutionID = @SolutionID WHERE ClassID = @ClassID
ELSE
INSERT INTO PreApprovedSolutionClassIDs ( SolutionID, ClassID ) VALUES ( @SolutionID, @ClassID )
UPDATE PreApprovedSolutions SET Approved =' 0', ApprovedBy='', LiveSolutionID='' WHERE SolutionID = @SolutionID
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE SetPreApprovedLIveSolutionID(
@tmpSolutionID int,
@liveSolutionID int )
AS
UPDATE PreApprovedSolutions SET liveSolutionID = @liveSolutionID WHERE solutionID = @tmpSolutionID
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE SetProduct (
@ProductID int,
@ProductName nvarchar(128)
) AS
IF EXISTS (SELECT * FROM Products WHERE ProductID = @ProductID)
UPDATE Products SET
ProductName = @ProductName
WHERE
ProductID = @ProductID
ELSE
INSERT INTO Products
(ProductName)
VALUES
(@ProductName)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE SetSolution(
@SolutionID int,
@Lang nvarchar(4),
@SolutionType tinyint,
@SP tinyint,
@TemplateID int,
@ProductID int,
@Description nvarchar(1024),
@ContactID int,
@ModuleID int,
@BugID int
) AS
IF EXISTS (SELECT * FROM KaKnownIssue.dbo.SolutionEx WHERE SolutionID = @SolutionID AND Lang = @Lang)
UPDATE KaKnownIssue.dbo.SolutionEx SET
SolutionType = @SolutionType,
SP = @SP,
TemplateID = @TemplateID,
ProductID = @ProductID,
Description = @Description,
ContactID = @ContactID,
ModuleID = @ModuleID,
BugID = @BugID
WHERE
SolutionID = @SolutionID AND
Lang = @Lang
ELSE
INSERT INTO KaKnownIssue.dbo.SolutionEx
(SolutionID, Lang, SolutionType, SP, TemplateID, ProductID, Description, ContactID, ModuleID, BugID)
VALUES
(@SolutionID, @Lang, @SolutionType, @SP, @TemplateID, @ProductID, @Description, @ContactID, @ModuleID, @BugID)
SELECT Solution = @@IDENTITY
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE SetTemplate (
@TemplateID int,
@TemplateName nvarchar(32),
@Description ntext
) AS
IF EXISTS (SELECT * FROM Templates WHERE TemplateID = @TemplateID)
UPDATE Templates SET
TemplateName = @TemplateName,
Description = @Description
WHERE
TemplateID = @TemplateID
ELSE
INSERT INTO Templates
(TemplateName, Description)
VALUES
(@TemplateName, @Description)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO