From b97c21544edd4df244dc486c31307f9af3934390 Mon Sep 17 00:00:00 2001 From: Rich Date: Thu, 30 Jul 2009 18:56:01 +0000 Subject: [PATCH] SQL Updates For: Inserting new Items Search Performance OWNER Execution Contents Number Field increased to 256 --- PROMS/SQL/PROMS2010.SQL | 1423 +++++++++++++++++++++++++++++++++++---- 1 file changed, 1284 insertions(+), 139 deletions(-) diff --git a/PROMS/SQL/PROMS2010.SQL b/PROMS/SQL/PROMS2010.SQL index 3efdbec3..e9a27fea 100644 --- a/PROMS/SQL/PROMS2010.SQL +++ b/PROMS/SQL/PROMS2010.SQL @@ -17,6 +17,7 @@ CREATE PROCEDURE [dbo].[addAnnotation] @newAnnotationID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -71,6 +72,7 @@ CREATE PROCEDURE [dbo].[addAnnotationType] @newTypeID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -122,6 +124,7 @@ CREATE PROCEDURE [dbo].[addAssignment] @newAID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -177,6 +180,7 @@ CREATE PROCEDURE [dbo].[addAssociation] @newAssociationID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -230,6 +234,7 @@ CREATE PROCEDURE [dbo].[addConnection] @newDBID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -277,7 +282,7 @@ GO CREATE PROCEDURE [dbo].[addContent] ( - @Number nvarchar(30)=null, + @Number nvarchar(256)=null, @Text nvarchar(MAX)=null, @Type int=null, @FormatID int=null, @@ -287,6 +292,7 @@ CREATE PROCEDURE [dbo].[addContent] @newContentID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -343,6 +349,7 @@ CREATE PROCEDURE [dbo].[addDetail] @newDetailID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -398,6 +405,7 @@ CREATE PROCEDURE [dbo].[addDocument] @newDocID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -457,6 +465,7 @@ CREATE PROCEDURE [dbo].[addDocVersion] @newVersionID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -514,6 +523,7 @@ CREATE PROCEDURE [dbo].[addEntry] @UserID nvarchar(100), @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -563,6 +573,7 @@ CREATE PROCEDURE [dbo].[addFigure] @newFigureID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -619,6 +630,7 @@ CREATE PROCEDURE [dbo].[addFolder] @newFolderID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -682,6 +694,7 @@ CREATE PROCEDURE [dbo].[addFormat] @newFormatID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -737,6 +750,7 @@ CREATE PROCEDURE [dbo].[addGroup] @newGID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -787,6 +801,7 @@ CREATE PROCEDURE [dbo].[addItem] @newItemID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -832,6 +847,7 @@ CREATE PROCEDURE [dbo].[addItemChild] @ItemID int=null, @Number nvarchar(30)=null, @Text nvarchar(MAX)=null, @FormatID int=null, @Config nvarchar(MAX)=null, @FromType int=null, @Type int=null, @DTS datetime, @UserID nvarchar(100), @newItemID int output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -849,6 +865,34 @@ BEGIN TRY -- Try Block BEGIN EXECUTE UpdatePart @ParentContentID, @FromType, @newItemID, @DTS, @UserID, @LastChanged, @newLastChanged output UPDATE [Items] SET [PreviousID]=@newItemID WHERE [ItemID]=@ChildID + -- Update content records for the transitions + Update CC + Set Text = DBO.vefn_FixTransitionText(Text,TT.TransitionID,TT.TranType,TT.ToID,TT.RangeID,@ItemID,@newItemID) + From CONTENTS CC + JOIN Transitions TT ON TT.FromID = CC.ContentID + WHERE TT.ToID = @ChildID OR TT.RangeID = @ChildID + -- Update transitions that pointed to @ItemID to point to @newItemID + Update TRANSITIONS + Set ToID = CASE ToID WHEN @ChildID THEN @newItemID ELSE ToID END, + RangeID = CASE RangeID WHEN @ChildID THEN @newItemID ELSE RangeID END + WHERE ToID = @ChildID OR RangeID = @ChildID + -- Add 'Verification Required' AnnotationType + DECLARE @typeID int + SELECT @typeID = TypeID from AnnotationTypes where Name = 'Verification Required' + IF(@typeID IS NULL) + BEGIN + INSERT INTO [AnnotationTypes] ([Name],[UserID]) VALUES ('Verification Required','Volian') + SELECT @typeID = SCOPE_IDENTITY() + END + -- Add "Verification Required" Annotation for each Transition that points to @newItemID or @NextID + -- I don't expect to see any transitions that point to @ChildID. They should have changed in + -- the update above to point to @newItemID. This is here for consistency with the other insert + -- stored procedures + INSERT INTO [Annotations] ([ItemID],[TypeID],[SearchText],[UserID]) + SELECT ItemID, @typeID,'Verify Transition Destination',@UserID + FROM Items where CONTENTID in (SELECT FromID FROM TRANSITIONS + where ToID IN(@ChildID,@newItemID) OR RangeID IN(@ChildID,@newItemID)) + -- Transition Text gets updated in ItemInsertExt.cs END IF( @@TRANCOUNT > 0 ) COMMIT PRINT 'Child Added ' + ltrim(str(@newItemID)) @@ -875,6 +919,7 @@ CREATE PROCEDURE [dbo].[addItemSiblingAfter] @ItemID int=null, @Number nvarchar(30)=null, @Text nvarchar(MAX)=null, @FormatID int=null, @Config nvarchar(MAX)=null, @Type int=null, @DTS datetime, @UserID nvarchar(100), @newItemID int output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -888,8 +933,46 @@ BEGIN TRY -- Try Block EXECUTE AddContent @Number, @Text, @NewType, @FormatID, @Config, @DTS, @UserID, @ContentID output, @newLastChanged output EXECUTE AddItem @ItemID, @ContentID, @DTS, @UserID , @newItemID output, @newLastChanged output UPDATE [ITEMS] SET [PreviousID]=@newItemID, [DTS]=@DTS, [UserID]=@UserID where [ItemID]=@NextID -- Should be UpdateItem + -- Get a list of Transitions which need to change children of @ItemID that point to @NextID + DECLARE @NextStepTransitions TABLE + ( + [TransitionID] int PRIMARY KEY, + [FromID] [int], + [ToID] [int], + [RangeID] [int], + [TranType] [int], + [Config] [nvarchar](max) + ) + Insert into @NextStepTransitions select * from vefn_NextStepTransitions(@NextID,@ItemID) + IF (SELECT COUNT(*) from @NextStepTransitions) > 0 -- Next Step Transitions + BEGIN + -- Update all transitions in the list to point to @newItemID + Update TT + Set TT.ToID = CASE TT.ToID WHEN @NextID THEN @newItemID ELSE TT.ToID END, + TT.RangeID = CASE TT.RangeID WHEN @NextID THEN @newItemID ELSE TT.RangeID END + From TRANSITIONS TT + JOIN @NextStepTransitions NS ON NS.TransitionID = TT.TransitionID + -- Update content records for the transitions + Update CC + Set Text = DBO.vefn_FixTransitionText(Text,NS.TransitionID,NS.TranType,NS.ToID,NS.RangeID,@NextID,@newItemID) + From CONTENTS CC + JOIN @NextStepTransitions NS ON NS.FromID = CC.ContentID + END + -- Add 'Verification Required' AnnotationType + DECLARE @typeID int + SELECT @typeID = TypeID from AnnotationTypes where Name = 'Verification Required' + IF(@typeID IS NULL) + BEGIN + INSERT INTO [AnnotationTypes] ([Name],[UserID]) VALUES ('Verification Required','Volian') + SELECT @typeID = SCOPE_IDENTITY() + END + -- Add "Verification Required" Annotation for each Transition that points to @newItemID or @NextID + INSERT INTO [Annotations] ([ItemID],[TypeID],[SearchText],[UserID]) + SELECT ItemID, @typeID,'Verify Transition Destination',@UserID + FROM Items where CONTENTID in (SELECT FromID FROM TRANSITIONS + where ToID IN(@NextID,@newItemID) OR RangeID IN(@NextID,@newItemID)) + -- Transition Text gets updated in ItemInsertExt.cs IF( @@TRANCOUNT > 0 ) COMMIT - PRINT 'Sibling Added After ' + ltrim(str(@newItemID)) EXECUTE GetItem @newItemID END TRY BEGIN CATCH -- Catch Block @@ -913,6 +996,7 @@ CREATE PROCEDURE [dbo].[addItemSiblingBefore] @ItemID int=null, @Number nvarchar(30)=null, @Text nvarchar(MAX)=null, @FormatID int=null, @Config nvarchar(MAX)=null, @Type int=null, @DTS datetime, @UserID nvarchar(100), @newItemID int output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -925,6 +1009,62 @@ BEGIN TRY -- Try Block EXECUTE AddItem @PreviousID, @ContentID, @DTS, @UserID , @newItemID output, @newLastChanged output UPDATE [ITEMS] SET [PreviousID]=@newItemID where [ItemID]=@ItemID -- Should be UpdateItem UPDATE [PARTS] SET [ItemID]=@newItemID where [ItemID]=@ItemID -- Should be UpdatePart + IF @PreviousID is null -- The step is replacing the first step + BEGIN + -- Update content records for the transitions + Update CC + Set Text = DBO.vefn_FixTransitionText(Text,TT.TransitionID,TT.TranType,TT.ToID,TT.RangeID,@ItemID,@newItemID) + From CONTENTS CC + JOIN Transitions TT ON TT.FromID = CC.ContentID + WHERE TT.ToID = @ItemID OR TT.RangeID = @ItemID + -- Update transitions that pointed to @ItemID to point to @newItemID + Update TRANSITIONS + Set ToID = CASE ToID WHEN @ItemID THEN @newItemID ELSE ToID END, + RangeID = CASE RangeID WHEN @ItemID THEN @newItemID ELSE RangeID END + WHERE ToID = @ItemID OR RangeID = @ItemID + END + ELSE -- Check for Transitions that point to the Next Step + BEGIN + -- Get a list of Transitions which need to change children of @ItemID that point to @NextID + DECLARE @NextStepTransitions TABLE + ( + [TransitionID] int PRIMARY KEY, + [FromID] [int], + [ToID] [int], + [RangeID] [int], + [TranType] [int], + [Config] [nvarchar](max) + ) + Insert into @NextStepTransitions select * from vefn_NextStepTransitions(@ItemID,@PreviousID) + IF (SELECT COUNT(*) from @NextStepTransitions) > 0 -- Next Step Transitions + BEGIN + -- Update all transitions in the list to point to @newItemID + Update TT + Set TT.ToID = CASE TT.ToID WHEN @ItemID THEN @newItemID ELSE TT.ToID END, + TT.RangeID = CASE TT.RangeID WHEN @ItemID THEN @newItemID ELSE TT.RangeID END + From TRANSITIONS TT + JOIN @NextStepTransitions NS ON NS.TransitionID = TT.TransitionID + -- Update content records for the transitions + Update CC + Set Text = DBO.vefn_FixTransitionText(Text,NS.TransitionID,NS.TranType,NS.ToID,NS.RangeID,@ItemID,@newItemID) + From CONTENTS CC + JOIN @NextStepTransitions NS ON NS.FromID = CC.ContentID + END + END + -- Add 'Verification Required' AnnotationType + DECLARE @typeID int + SELECT @typeID = TypeID from AnnotationTypes where Name = 'Verification Required' + IF(@typeID IS NULL) + BEGIN + INSERT INTO [AnnotationTypes] ([Name],[UserID]) VALUES ('Verification Required','Volian') + SELECT @typeID = SCOPE_IDENTITY() + END + -- Add "Verification Required" Annotation for each Transition that points to @newItemID or @NextID + INSERT INTO [Annotations] ([ItemID],[TypeID],[SearchText],[UserID]) + SELECT ItemID, @typeID,'Verify Transition Destination',@UserID + FROM Items where CONTENTID in (SELECT FromID FROM TRANSITIONS + where ToID IN(@ItemID,@newItemID) OR RangeID IN(@ItemID,@newItemID)) + -- Transition Text gets updated in ItemInsertExt.cs IF( @@TRANCOUNT > 0 ) COMMIT PRINT 'Sibling Added Before ' + ltrim(str(@newItemID)) EXECUTE GetItem @newItemID @@ -958,6 +1098,7 @@ CREATE PROCEDURE [dbo].[addMembership] @newUGID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1012,6 +1153,7 @@ CREATE PROCEDURE [dbo].[addPart] @UserID nvarchar(100), @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1068,6 +1210,7 @@ CREATE PROCEDURE [dbo].[addPermission] @newPID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1130,6 +1273,7 @@ CREATE PROCEDURE [dbo].[addRODb] @newRODbID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1183,6 +1327,7 @@ CREATE PROCEDURE [dbo].[addROFst] @newROFstID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1235,6 +1380,7 @@ CREATE PROCEDURE [dbo].[addROImage] @newImageID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1287,6 +1433,7 @@ CREATE PROCEDURE [dbo].[addRole] @newRID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1337,6 +1484,7 @@ CREATE PROCEDURE [dbo].[addRoUsage] @newROUsageID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1392,6 +1540,7 @@ CREATE PROCEDURE [dbo].[addTransition] @newTransitionID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1455,6 +1604,7 @@ CREATE PROCEDURE [dbo].[addUser] @newUID int output, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1518,6 +1668,7 @@ CREATE PROCEDURE [dbo].[addZContent] @OldStepSequence nvarchar(32), @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1559,6 +1710,7 @@ CREATE PROCEDURE [dbo].[addZTransition] @Oldto nvarchar(32), @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1598,6 +1750,7 @@ CREATE PROCEDURE [dbo].[deleteAnnotation] ( @AnnotationID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1626,6 +1779,7 @@ CREATE PROCEDURE [dbo].[deleteAnnotationType] ( @TypeID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1656,6 +1810,7 @@ CREATE PROCEDURE [dbo].[deleteAssignment] ( @AID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1684,6 +1839,7 @@ CREATE PROCEDURE [dbo].[deleteAssociation] ( @AssociationID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1712,6 +1868,7 @@ CREATE PROCEDURE [dbo].[deleteConnection] ( @DBID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1742,6 +1899,7 @@ CREATE PROCEDURE [dbo].[deleteContent] ( @ContentID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1784,6 +1942,7 @@ CREATE PROCEDURE [dbo].[deleteDetail] ( @DetailID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1812,6 +1971,7 @@ CREATE PROCEDURE [dbo].[deleteDocument] ( @DocID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1842,6 +2002,7 @@ CREATE PROCEDURE [dbo].[deleteDocVersion] ( @VersionID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1872,6 +2033,7 @@ CREATE PROCEDURE [dbo].[deleteEntry] ( @ContentID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1900,6 +2062,7 @@ CREATE PROCEDURE [dbo].[deleteFigure] ( @FigureID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1928,6 +2091,7 @@ CREATE PROCEDURE [dbo].[deleteFolder] ( @FolderID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1960,6 +2124,7 @@ CREATE PROCEDURE [dbo].[deleteFormat] ( @FormatID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -1994,6 +2159,7 @@ CREATE PROCEDURE [dbo].[deleteGroup] ( @GID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -2026,6 +2192,7 @@ CREATE PROCEDURE [dbo].[deleteItem] ( @ItemID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -2064,6 +2231,7 @@ CREATE PROCEDURE [dbo].[deleteMembership] ( @UGID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -2093,6 +2261,7 @@ CREATE PROCEDURE [dbo].[deletePart] @ContentID int, @FromType int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -2121,6 +2290,7 @@ CREATE PROCEDURE [dbo].[deletePermission] ( @PID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -2149,6 +2319,7 @@ CREATE PROCEDURE [dbo].[deleteRODb] ( @RODbID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -2183,6 +2354,7 @@ CREATE PROCEDURE [dbo].[deleteROFst] ( @ROFstID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -2215,6 +2387,7 @@ CREATE PROCEDURE [dbo].[deleteROImage] ( @ImageID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -2245,6 +2418,7 @@ CREATE PROCEDURE [dbo].[deleteRole] ( @RID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -2277,6 +2451,7 @@ CREATE PROCEDURE [dbo].[deleteRoUsage] ( @ROUsageID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -2305,6 +2480,7 @@ CREATE PROCEDURE [dbo].[deleteTransition] ( @TransitionID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -2335,6 +2511,7 @@ CREATE PROCEDURE [dbo].[deleteUser] ( @UID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -2365,6 +2542,7 @@ CREATE PROCEDURE [dbo].[deleteZContent] ( @ContentID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -2393,6 +2571,7 @@ CREATE PROCEDURE [dbo].[deleteZTransition] ( @TransitionID int ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -2421,7 +2600,8 @@ CREATE PROCEDURE [dbo].[existsAnnotation] ( @AnnotationID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Annotations] WHERE [AnnotationID]=@AnnotationID RETURN @@ -2441,7 +2621,8 @@ CREATE PROCEDURE [dbo].[existsAnnotationType] ( @TypeID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [AnnotationTypes] WHERE [TypeID]=@TypeID RETURN @@ -2461,7 +2642,8 @@ CREATE PROCEDURE [dbo].[existsAssignment] ( @AID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Assignments] WHERE [AID]=@AID RETURN @@ -2481,7 +2663,8 @@ CREATE PROCEDURE [dbo].[existsAssociation] ( @AssociationID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Associations] WHERE [AssociationID]=@AssociationID RETURN @@ -2501,7 +2684,8 @@ CREATE PROCEDURE [dbo].[existsConnection] ( @DBID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Connections] WHERE [DBID]=@DBID RETURN @@ -2521,7 +2705,8 @@ CREATE PROCEDURE [dbo].[existsContent] ( @ContentID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Contents] WHERE [ContentID]=@ContentID RETURN @@ -2541,7 +2726,8 @@ CREATE PROCEDURE [dbo].[existsDetail] ( @DetailID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Details] WHERE [DetailID]=@DetailID RETURN @@ -2561,7 +2747,8 @@ CREATE PROCEDURE [dbo].[existsDocument] ( @DocID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Documents] WHERE [DocID]=@DocID RETURN @@ -2581,7 +2768,8 @@ CREATE PROCEDURE [dbo].[existsDocVersion] ( @VersionID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [DocVersions] WHERE [VersionID]=@VersionID RETURN @@ -2601,7 +2789,8 @@ CREATE PROCEDURE [dbo].[existsEntry] ( @ContentID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Entries] WHERE [ContentID]=@ContentID RETURN @@ -2621,7 +2810,8 @@ CREATE PROCEDURE [dbo].[existsFigure] ( @FigureID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Figures] WHERE [FigureID]=@FigureID RETURN @@ -2641,7 +2831,8 @@ CREATE PROCEDURE [dbo].[existsFolder] ( @FolderID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Folders] WHERE [FolderID]=@FolderID RETURN @@ -2661,7 +2852,8 @@ CREATE PROCEDURE [dbo].[existsFormat] ( @FormatID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Formats] WHERE [FormatID]=@FormatID RETURN @@ -2681,7 +2873,8 @@ CREATE PROCEDURE [dbo].[existsGroup] ( @GID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Groups] WHERE [GID]=@GID RETURN @@ -2701,7 +2894,8 @@ CREATE PROCEDURE [dbo].[existsItem] ( @ItemID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Items] WHERE [ItemID]=@ItemID RETURN @@ -2721,7 +2915,8 @@ CREATE PROCEDURE [dbo].[existsMembership] ( @UGID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Memberships] WHERE [UGID]=@UGID RETURN @@ -2742,7 +2937,8 @@ CREATE PROCEDURE [dbo].[existsPart] @ContentID int, @FromType int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Parts] WHERE [ContentID]=@ContentID AND [FromType]=@FromType RETURN @@ -2762,7 +2958,8 @@ CREATE PROCEDURE [dbo].[existsPermission] ( @PID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Permissions] WHERE [PID]=@PID RETURN @@ -2782,7 +2979,8 @@ CREATE PROCEDURE [dbo].[existsRODb] ( @RODbID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [RODbs] WHERE [RODbID]=@RODbID RETURN @@ -2802,7 +3000,8 @@ CREATE PROCEDURE [dbo].[existsROFst] ( @ROFstID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [ROFsts] WHERE [ROFstID]=@ROFstID RETURN @@ -2822,7 +3021,8 @@ CREATE PROCEDURE [dbo].[existsROImage] ( @ImageID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [ROImages] WHERE [ImageID]=@ImageID RETURN @@ -2842,7 +3042,8 @@ CREATE PROCEDURE [dbo].[existsRole] ( @RID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Roles] WHERE [RID]=@RID RETURN @@ -2862,7 +3063,8 @@ CREATE PROCEDURE [dbo].[existsRoUsage] ( @ROUsageID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [RoUsages] WHERE [ROUsageID]=@ROUsageID RETURN @@ -2882,7 +3084,8 @@ CREATE PROCEDURE [dbo].[existsTransition] ( @TransitionID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Transitions] WHERE [TransitionID]=@TransitionID RETURN @@ -2902,7 +3105,8 @@ CREATE PROCEDURE [dbo].[existsUser] ( @UID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [Users] WHERE [UID]=@UID RETURN @@ -2922,7 +3126,8 @@ CREATE PROCEDURE [dbo].[existsZContent] ( @ContentID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [ZContents] WHERE [ContentID]=@ContentID RETURN @@ -2942,7 +3147,8 @@ CREATE PROCEDURE [dbo].[existsZTransition] ( @TransitionID int ) - AS +WITH EXECUTE AS OWNER +AS SELECT COUNT(*) FROM [ZTransitions] WHERE [TransitionID]=@TransitionID RETURN @@ -2952,6 +3158,40 @@ IF (@@Error = 0) PRINT 'Procedure Creation: existsZTransition Succeeded' ELSE PRINT 'Procedure Creation: existsZTransition Error on Creation' GO +/****** Object: StoredProcedure [getAffectedTransitions] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAffectedTransitions]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) + DROP PROCEDURE [getAffectedTransitions]; +GO + +/* +exec getAffectedTransitions 2102 +*/ + +Create PROCEDURE [dbo].[getAffectedTransitions] +( + @ItemID int +) +WITH EXECUTE AS OWNER +AS + SELECT + TT.[TransitionID], + [FromID], + [ToID], + [RangeID], + [TranType], + [Config], + [DTS], + [UserID], + [LastChanged], + (SELECT COUNT(*) FROM [ZTransitions] WHERE [ZTransitions].[TransitionID]=TT.[TransitionID]) [ZTransitionCount] + FROM [Transitions] TT join vefn_FindAffectedTransitions(@ItemID) TTZ on TTZ.TransitionID = TT.TransitionID + RETURN +GO +-- Display the status of Proc creation +IF (@@Error = 0) PRINT 'Procedure Creation: getAffectedTransitions Succeeded' +ELSE PRINT 'Procedure Creation: getAffectedTransitions Error on Creation' +GO + /****** Object: StoredProcedure [getAnnotation] ******/ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotation]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) DROP PROCEDURE [getAnnotation]; @@ -2962,6 +3202,7 @@ CREATE PROCEDURE [dbo].[getAnnotation] ( @AnnotationID int ) +WITH EXECUTE AS OWNER AS SELECT [AnnotationID], @@ -2989,6 +3230,7 @@ GO CREATE PROCEDURE [dbo].[getAnnotations] +WITH EXECUTE AS OWNER AS SELECT [AnnotationID], @@ -3018,6 +3260,7 @@ CREATE PROCEDURE [dbo].[getAnnotationsByItemID] ( @ItemID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -3057,6 +3300,7 @@ CREATE PROCEDURE [dbo].[getAnnotationsByTypeID] ( @TypeID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -3096,6 +3340,7 @@ CREATE PROCEDURE [dbo].[getAnnotationType] ( @TypeID int ) +WITH EXECUTE AS OWNER AS SELECT [TypeID], @@ -3144,6 +3389,7 @@ CREATE PROCEDURE [dbo].[getAnnotationTypeByName] ( @Name nvarchar(100) ) +WITH EXECUTE AS OWNER AS SELECT [TypeID], @@ -3169,6 +3415,7 @@ GO CREATE PROCEDURE [dbo].[getAnnotationTypes] +WITH EXECUTE AS OWNER AS SELECT [TypeID], @@ -3196,6 +3443,7 @@ CREATE PROCEDURE [dbo].[getAssignment] ( @AID int ) +WITH EXECUTE AS OWNER AS SELECT [AID], @@ -3223,6 +3471,7 @@ GO CREATE PROCEDURE [dbo].[getAssignments] +WITH EXECUTE AS OWNER AS SELECT [AID], @@ -3252,6 +3501,7 @@ CREATE PROCEDURE [dbo].[getAssignmentsByFolderID] ( @FolderID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -3298,6 +3548,7 @@ CREATE PROCEDURE [dbo].[getAssignmentsByGID] ( @GID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -3349,6 +3600,7 @@ CREATE PROCEDURE [dbo].[getAssignmentsByRID] ( @RID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -3401,6 +3653,7 @@ CREATE PROCEDURE [dbo].[getAssociation] ( @AssociationID int ) +WITH EXECUTE AS OWNER AS SELECT [AssociationID], @@ -3429,6 +3682,7 @@ CREATE PROCEDURE [dbo].[getAssociationByVersionID_ROFstID] @VersionID int, @ROFstID int ) +WITH EXECUTE AS OWNER AS SELECT [AssociationID], @@ -3454,6 +3708,7 @@ GO CREATE PROCEDURE [dbo].[getAssociations] +WITH EXECUTE AS OWNER AS SELECT [AssociationID], @@ -3481,6 +3736,7 @@ CREATE PROCEDURE [dbo].[getAssociationsByROFstID] ( @ROFstID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -3523,6 +3779,7 @@ CREATE PROCEDURE [dbo].[getAssociationsByVersionID] ( @VersionID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -3561,6 +3818,7 @@ CREATE PROCEDURE [dbo].[getChildFolders] ( @ParentID int ) +WITH EXECUTE AS OWNER AS SELECT [FolderID], @@ -3596,6 +3854,7 @@ CREATE PROCEDURE [dbo].[getChildFormats] ( @ParentID int ) +WITH EXECUTE AS OWNER AS SELECT [FormatID], @@ -3629,6 +3888,7 @@ CREATE PROCEDURE [dbo].[getConnection] ( @DBID int ) +WITH EXECUTE AS OWNER AS SELECT [DBID], @@ -3677,6 +3937,7 @@ CREATE PROCEDURE [dbo].[getConnectionByName] ( @Name nvarchar(100) ) +WITH EXECUTE AS OWNER AS SELECT [DBID], @@ -3705,6 +3966,7 @@ GO CREATE PROCEDURE [dbo].[getConnections] +WITH EXECUTE AS OWNER AS SELECT [DBID], @@ -3735,6 +3997,7 @@ CREATE PROCEDURE [dbo].[getContent] ( @ContentID int ) +WITH EXECUTE AS OWNER AS SELECT [ContentID], @@ -3891,6 +4154,7 @@ GO CREATE PROCEDURE [dbo].[getContents] +WITH EXECUTE AS OWNER AS SELECT [ContentID], @@ -3927,6 +4191,7 @@ CREATE PROCEDURE [dbo].[getContentsByFormatID] ( @FormatID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -3967,6 +4232,7 @@ CREATE PROCEDURE [dbo].[getDetail] ( @DetailID int ) +WITH EXECUTE AS OWNER AS SELECT [DetailID], @@ -3993,6 +4259,7 @@ GO CREATE PROCEDURE [dbo].[getDetails] +WITH EXECUTE AS OWNER AS SELECT [DetailID], @@ -4021,6 +4288,7 @@ CREATE PROCEDURE [dbo].[getDetailsByContentID] ( @ContentID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -4053,6 +4321,7 @@ CREATE PROCEDURE [dbo].[getDocument] ( @DocID int ) +WITH EXECUTE AS OWNER AS SELECT [DocID], @@ -4101,6 +4370,7 @@ GO CREATE PROCEDURE [dbo].[getDocuments] +WITH EXECUTE AS OWNER AS SELECT [DocID], @@ -4131,6 +4401,7 @@ CREATE PROCEDURE [dbo].[getDocVersion] ( @VersionID int ) +WITH EXECUTE AS OWNER AS SELECT [VersionID], @@ -4181,6 +4452,7 @@ GO CREATE PROCEDURE [dbo].[getDocVersions] +WITH EXECUTE AS OWNER AS SELECT [VersionID], @@ -4213,6 +4485,7 @@ CREATE PROCEDURE [dbo].[getDocVersionsByFolderID] ( @FolderID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -4249,6 +4522,7 @@ CREATE PROCEDURE [dbo].[getDocVersionsByFormatID] ( @FormatID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -4297,6 +4571,7 @@ CREATE PROCEDURE [dbo].[getDocVersionsByItemID] ( @ItemID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -4342,6 +4617,7 @@ GO CREATE PROCEDURE [dbo].[getEntries] +WITH EXECUTE AS OWNER AS SELECT [ContentID], @@ -4367,6 +4643,7 @@ CREATE PROCEDURE [dbo].[getEntriesByContentID] ( @ContentID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -4405,6 +4682,7 @@ CREATE PROCEDURE [dbo].[getEntriesByDocID] ( @DocID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -4443,6 +4721,7 @@ CREATE PROCEDURE [dbo].[getEntry] ( @ContentID int ) +WITH EXECUTE AS OWNER AS SELECT [ContentID], @@ -4469,6 +4748,7 @@ CREATE PROCEDURE [dbo].[getFigure] ( @FigureID int ) +WITH EXECUTE AS OWNER AS SELECT [FigureID], @@ -4497,6 +4777,7 @@ CREATE PROCEDURE [dbo].[getFigureByROFstID_ImageID] @ROFstID int, @ImageID int ) +WITH EXECUTE AS OWNER AS SELECT [FigureID], @@ -4522,6 +4803,7 @@ GO CREATE PROCEDURE [dbo].[getFigures] +WITH EXECUTE AS OWNER AS SELECT [FigureID], @@ -4549,6 +4831,7 @@ CREATE PROCEDURE [dbo].[getFiguresByImageID] ( @ImageID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -4587,6 +4870,7 @@ CREATE PROCEDURE [dbo].[getFiguresByROFstID] ( @ROFstID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -4626,6 +4910,7 @@ CREATE PROCEDURE [dbo].[getFolder] ( @FolderID int ) +WITH EXECUTE AS OWNER AS SELECT [FolderID], @@ -4707,6 +4992,7 @@ CREATE PROCEDURE [dbo].[getFolderByParentID_Name] @ParentID int, @Name nvarchar(100) ) +WITH EXECUTE AS OWNER AS SELECT [FolderID], @@ -4740,6 +5026,7 @@ GO CREATE PROCEDURE [dbo].[getFolders] +WITH EXECUTE AS OWNER AS SELECT [FolderID], @@ -4775,6 +5062,7 @@ CREATE PROCEDURE [dbo].[getFoldersByDBID] ( @DBID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -4814,6 +5102,7 @@ CREATE PROCEDURE [dbo].[getFoldersByFormatID] ( @FormatID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -4862,6 +5151,7 @@ CREATE PROCEDURE [dbo].[getFormat] ( @FormatID int ) +WITH EXECUTE AS OWNER AS SELECT [FormatID], @@ -4967,6 +5257,7 @@ CREATE PROCEDURE [dbo].[getFormatByParentID_Name] @ParentID int, @Name nvarchar(20) ) +WITH EXECUTE AS OWNER AS SELECT [FormatID], @@ -4998,6 +5289,7 @@ GO CREATE PROCEDURE [dbo].[getFormats] +WITH EXECUTE AS OWNER AS SELECT [FormatID], @@ -5031,6 +5323,7 @@ CREATE PROCEDURE [dbo].[getGroup] ( @GID int ) +WITH EXECUTE AS OWNER AS SELECT [GID], @@ -5123,6 +5416,7 @@ CREATE PROCEDURE [dbo].[getGroupByGroupName] ( @GroupName nvarchar(50) ) +WITH EXECUTE AS OWNER AS SELECT [GID], @@ -5150,6 +5444,7 @@ GO CREATE PROCEDURE [dbo].[getGroups] +WITH EXECUTE AS OWNER AS SELECT [GID], @@ -5179,6 +5474,7 @@ CREATE PROCEDURE [dbo].[getItem] ( @ItemID int ) +WITH EXECUTE AS OWNER AS SELECT [ItemID], @@ -5327,7 +5623,10 @@ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getItemAndChildr GO -- getItemAndChildren 111 -CREATE PROCEDURE [dbo].[getItemAndChildren] (@ItemID int) WITH EXECUTE AS OWNER AS BEGIN +CREATE PROCEDURE [dbo].[getItemAndChildren] (@ItemID int) +WITH EXECUTE AS OWNER +AS +BEGIN with Itemz([Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged]) as ( Select 0 [Level], 0 [ParentID], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] FROM [Items] @@ -5346,7 +5645,7 @@ Union All where Z.[Level] > 0 ) select I.[Level],I.[FromType],I.[Ordinal], I.[ParentID], I.[ItemID],I.[PreviousID],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged], - C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] As [cDTS],C.[UserID] As [cUserID],C.[LastChanged] As [cLastChanged] from ItemZ I + C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] [cDTS],C.[UserID] [cUserID],C.[LastChanged] [cLastChanged] from ItemZ I join Contents C on C.ContentID = I.ContentID order by I.[Level] , I.[FromType], I.[Ordinal] END @@ -5362,7 +5661,10 @@ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getItemNextAndCh GO -- getItemNextAndChildren 111 -CREATE PROCEDURE [dbo].[getItemNextAndChildren] (@ItemID int) WITH EXECUTE AS OWNER AS BEGIN +CREATE PROCEDURE [dbo].[getItemNextAndChildren] (@ItemID int) +WITH EXECUTE AS OWNER +AS +BEGIN with Itemz([Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged]) as ( Select 0 [Level], 0 [ParentID], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] FROM [Items] @@ -5380,7 +5682,7 @@ Union All join Items I on I.PreviousID = Z.ItemID ) select I.[Level],I.[FromType],I.[Ordinal], I.[ParentID], I.[ItemID],I.[PreviousID],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged], - C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] As [cDTS],C.[UserID] As [cUserID],C.[LastChanged] As [cLastChanged] from ItemZ I + C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] [cDTS],C.[UserID] [cUserID],C.[LastChanged] [cLastChanged] from ItemZ I join Contents C on C.ContentID = I.ContentID order by I.[Level] , I.[FromType], I.[Ordinal] END @@ -5397,6 +5699,7 @@ GO CREATE PROCEDURE [dbo].[getItems] +WITH EXECUTE AS OWNER AS SELECT [ItemID], @@ -5429,6 +5732,7 @@ CREATE PROCEDURE [dbo].[getItemsByContentID] ( @ContentID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -5463,6 +5767,7 @@ GO --getLibraryDocuments CREATE PROCEDURE [dbo].[getLibraryDocuments] +WITH EXECUTE AS OWNER AS SELECT [DocID], @@ -5493,6 +5798,7 @@ CREATE PROCEDURE [dbo].[getMembership] ( @UGID int ) +WITH EXECUTE AS OWNER AS SELECT [UGID], @@ -5520,6 +5826,7 @@ GO CREATE PROCEDURE [dbo].[getMemberships] +WITH EXECUTE AS OWNER AS SELECT [UGID], @@ -5549,6 +5856,7 @@ CREATE PROCEDURE [dbo].[getMembershipsByGID] ( @GID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -5597,6 +5905,7 @@ CREATE PROCEDURE [dbo].[getMembershipsByUID] ( @UID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -5637,6 +5946,7 @@ CREATE PROCEDURE [dbo].[getNextItems] ( @PreviousID int ) +WITH EXECUTE AS OWNER AS SELECT [ItemID], @@ -5668,6 +5978,7 @@ CREATE PROCEDURE [dbo].[getParentFolder] ( @ParentID int ) +WITH EXECUTE AS OWNER AS SELECT [FolderID], @@ -5704,6 +6015,7 @@ CREATE PROCEDURE [dbo].[getParentFormat] ( @ParentID int ) +WITH EXECUTE AS OWNER AS SELECT [FormatID], @@ -5740,6 +6052,7 @@ CREATE PROCEDURE [dbo].[getPart] @ContentID int, @FromType int ) +WITH EXECUTE AS OWNER AS SELECT [ContentID], @@ -5764,6 +6077,7 @@ GO CREATE PROCEDURE [dbo].[getParts] +WITH EXECUTE AS OWNER AS SELECT [ContentID], @@ -5790,6 +6104,7 @@ CREATE PROCEDURE [dbo].[getPartsByContentID] ( @ContentID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -5826,6 +6141,7 @@ CREATE PROCEDURE [dbo].[getPartsByItemID] ( @ItemID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -5865,6 +6181,7 @@ CREATE PROCEDURE [dbo].[getPermission] ( @PID int ) +WITH EXECUTE AS OWNER AS SELECT [PID], @@ -5895,6 +6212,7 @@ GO CREATE PROCEDURE [dbo].[getPermissions] +WITH EXECUTE AS OWNER AS SELECT [PID], @@ -5927,6 +6245,7 @@ CREATE PROCEDURE [dbo].[getPermissionsByRID] ( @RID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -5962,6 +6281,7 @@ CREATE PROCEDURE [dbo].[getPreviousItem] ( @PreviousID int ) +WITH EXECUTE AS OWNER AS SELECT [ItemID], @@ -5996,6 +6316,7 @@ CREATE PROCEDURE [dbo].[getRODb] ( @RODbID int ) +WITH EXECUTE AS OWNER AS SELECT [RODbID], @@ -6077,6 +6398,7 @@ CREATE PROCEDURE [dbo].[getRODbByFolderPath] ( @FolderPath nvarchar(255) ) +WITH EXECUTE AS OWNER AS SELECT [RODbID], @@ -6106,6 +6428,7 @@ GO CREATE PROCEDURE [dbo].[getRODbs] +WITH EXECUTE AS OWNER AS SELECT [RODbID], @@ -6137,6 +6460,7 @@ CREATE PROCEDURE [dbo].[getROFst] ( @ROFstID int ) +WITH EXECUTE AS OWNER AS SELECT [ROFstID], @@ -6212,6 +6536,7 @@ CREATE PROCEDURE [dbo].[getROFstByRODbID_DTS] @RODbID int, @DTS datetime ) +WITH EXECUTE AS OWNER AS SELECT [ROFstID], @@ -6239,6 +6564,7 @@ GO CREATE PROCEDURE [dbo].[getROFsts] +WITH EXECUTE AS OWNER AS SELECT [ROFstID], @@ -6268,6 +6594,7 @@ CREATE PROCEDURE [dbo].[getROFstsByRODbID] ( @RODbID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -6301,6 +6628,7 @@ CREATE PROCEDURE [dbo].[getROImage] ( @ImageID int ) +WITH EXECUTE AS OWNER AS SELECT [ImageID], @@ -6352,6 +6680,7 @@ CREATE PROCEDURE [dbo].[getROImageByRODbID_FileName_DTS] @FileName nvarchar(255), @DTS datetime ) +WITH EXECUTE AS OWNER AS SELECT [ImageID], @@ -6383,6 +6712,7 @@ CREATE PROCEDURE [dbo].[getROImageByROFstID_FileName] @ROFstID int, @FileName nvarchar(255) ) +WITH EXECUTE AS OWNER AS SELECT @@ -6416,6 +6746,7 @@ GO CREATE PROCEDURE [dbo].[getROImages] +WITH EXECUTE AS OWNER AS SELECT [ImageID], @@ -6445,6 +6776,7 @@ CREATE PROCEDURE [dbo].[getROImagesByRODbID] ( @RODbID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -6478,6 +6810,7 @@ CREATE PROCEDURE [dbo].[getRole] ( @RID int ) +WITH EXECUTE AS OWNER AS SELECT [RID], @@ -6558,6 +6891,7 @@ CREATE PROCEDURE [dbo].[getRoleByName] ( @Name nvarchar(50) ) +WITH EXECUTE AS OWNER AS SELECT [RID], @@ -6584,6 +6918,7 @@ GO CREATE PROCEDURE [dbo].[getRoles] +WITH EXECUTE AS OWNER AS SELECT [RID], @@ -6612,6 +6947,7 @@ CREATE PROCEDURE [dbo].[getRoUsage] ( @ROUsageID int ) +WITH EXECUTE AS OWNER AS SELECT [ROUsageID], @@ -6638,6 +6974,7 @@ GO CREATE PROCEDURE [dbo].[getRoUsages] +WITH EXECUTE AS OWNER AS SELECT [ROUsageID], @@ -6666,6 +7003,7 @@ CREATE PROCEDURE [dbo].[getRoUsagesByContentID] ( @ContentID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -6706,6 +7044,7 @@ CREATE PROCEDURE [dbo].[getRoUsagesByRODbID] ( @RODbID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -6743,6 +7082,7 @@ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getTopFolder]') GO CREATE PROCEDURE [dbo].[getTopFolder] +WITH EXECUTE AS OWNER AS SELECT [FolderID], @@ -6824,6 +7164,7 @@ CREATE PROCEDURE [dbo].[getTransition] ( @TransitionID int ) +WITH EXECUTE AS OWNER AS SELECT [TransitionID], @@ -6861,6 +7202,7 @@ GO CREATE PROCEDURE [dbo].[getTransitions] +WITH EXECUTE AS OWNER AS SELECT [TransitionID], @@ -6891,6 +7233,7 @@ CREATE PROCEDURE [dbo].[getTransitionsByFromID] ( @FromID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -6937,6 +7280,7 @@ CREATE PROCEDURE [dbo].[getTransitionsByRangeID] ( @RangeID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -6980,6 +7324,7 @@ CREATE PROCEDURE [dbo].[getTransitionsByToID] ( @ToID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -7023,6 +7368,7 @@ CREATE PROCEDURE [dbo].[getUser] ( @UID int ) +WITH EXECUTE AS OWNER AS SELECT [UID], @@ -7079,6 +7425,7 @@ GO CREATE PROCEDURE [dbo].[getUsers] +WITH EXECUTE AS OWNER AS SELECT [UID], @@ -7115,6 +7462,7 @@ CREATE PROCEDURE [dbo].[getZContent] ( @ContentID int ) +WITH EXECUTE AS OWNER AS SELECT [ContentID], @@ -7136,6 +7484,7 @@ GO CREATE PROCEDURE [dbo].[getZContents] +WITH EXECUTE AS OWNER AS SELECT [ContentID], @@ -7159,6 +7508,7 @@ CREATE PROCEDURE [dbo].[getZContentsByContentID] ( @ContentID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -7186,6 +7536,7 @@ CREATE PROCEDURE [dbo].[getZTransition] ( @TransitionID int ) +WITH EXECUTE AS OWNER AS SELECT [TransitionID], @@ -7207,6 +7558,7 @@ GO CREATE PROCEDURE [dbo].[getZTransitions] +WITH EXECUTE AS OWNER AS SELECT [TransitionID], @@ -7230,6 +7582,7 @@ CREATE PROCEDURE [dbo].[getZTransitionsByTransitionID] ( @TransitionID int ) +WITH EXECUTE AS OWNER AS SELECT @@ -7254,6 +7607,7 @@ GO CREATE PROCEDURE [dbo].[purgeData] +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -7339,6 +7693,7 @@ CREATE PROCEDURE [dbo].[updateAnnotation] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -7392,6 +7747,7 @@ CREATE PROCEDURE [dbo].[updateAnnotationType] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -7445,6 +7801,7 @@ CREATE PROCEDURE [dbo].[updateAssignment] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -7499,6 +7856,7 @@ CREATE PROCEDURE [dbo].[updateAssociation] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -7553,6 +7911,7 @@ CREATE PROCEDURE [dbo].[updateConnection] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -7599,7 +7958,7 @@ CREATE PROCEDURE [dbo].[updateContent] ( @ContentID int, - @Number nvarchar(30)=null, + @Number nvarchar(256)=null, @Text nvarchar(MAX)=null, @Type int=null, @FormatID int=null, @@ -7609,6 +7968,7 @@ CREATE PROCEDURE [dbo].[updateContent] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -7664,6 +8024,7 @@ CREATE PROCEDURE [dbo].[updateDetail] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -7719,6 +8080,7 @@ CREATE PROCEDURE [dbo].[updateDocument] @FileExtension nvarchar(10), @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -7777,6 +8139,7 @@ CREATE PROCEDURE [dbo].[updateDocVersion] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -7831,6 +8194,7 @@ CREATE PROCEDURE [dbo].[updateEntry] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -7881,6 +8245,7 @@ CREATE PROCEDURE [dbo].[updateFigure] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -7938,6 +8303,7 @@ CREATE PROCEDURE [dbo].[updateFolder] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -7997,6 +8363,7 @@ CREATE PROCEDURE [dbo].[updateFormat] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -8051,6 +8418,7 @@ CREATE PROCEDURE [dbo].[updateGroup] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -8102,6 +8470,7 @@ CREATE PROCEDURE [dbo].[updateItem] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -8155,6 +8524,7 @@ CREATE PROCEDURE [dbo].[updateMembership] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -8208,6 +8578,7 @@ CREATE PROCEDURE [dbo].[updatePart] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -8263,6 +8634,7 @@ CREATE PROCEDURE [dbo].[updatePermission] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -8321,6 +8693,7 @@ CREATE PROCEDURE [dbo].[updateRODb] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -8374,6 +8747,7 @@ CREATE PROCEDURE [dbo].[updateROFst] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -8427,6 +8801,7 @@ CREATE PROCEDURE [dbo].[updateROImage] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -8479,6 +8854,7 @@ CREATE PROCEDURE [dbo].[updateRole] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -8531,6 +8907,7 @@ CREATE PROCEDURE [dbo].[updateRoUsage] @RODbID int, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -8586,6 +8963,7 @@ CREATE PROCEDURE [dbo].[updateTransition] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -8648,6 +9026,7 @@ CREATE PROCEDURE [dbo].[updateUser] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -8704,6 +9083,7 @@ CREATE PROCEDURE [dbo].[updateZContent] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -8748,6 +9128,7 @@ CREATE PROCEDURE [dbo].[updateZTransition] @LastChanged timestamp, @newLastChanged timestamp output ) +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -8790,7 +9171,10 @@ select ItemID, dbo.ve_GetChildCount(ItemID) ChildCount from [Items] II Join [Contents] CC on II.ContentID = CC.ContentID and CC.Type = 0 and CC.ContentID in (Select ContentID from Parts) order dbo.ve_GetChildCount(ItemID) desc */ -CREATE FUNCTION [dbo].[ve_GetChildCount] (@ItemID int) RETURNS int WITH EXECUTE AS OWNER AS BEGIN +CREATE FUNCTION [dbo].[ve_GetChildCount] (@ItemID int) RETURNS int +WITH EXECUTE AS OWNER +AS +BEGIN declare @Count int; with Itemz([Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged]) as ( Select 0 [Level], 0 [ParentID], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] @@ -8827,7 +9211,10 @@ GO Select VersionID,Name,dbo.ve_GetFolderPath(VersionID) from DocVersions order by VersionID */ -CREATE FUNCTION [dbo].[ve_GetFolderPath] (@VersionID int) RETURNS varchar(MAX) WITH EXECUTE AS OWNER AS BEGIN +CREATE FUNCTION [dbo].[ve_GetFolderPath] (@VersionID int) RETURNS varchar(MAX) +WITH EXECUTE AS OWNER +AS +BEGIN declare @Path varchar(MAX); with Folderz(Level, FolderID, Path) as ( Select 1 Level, FolderID,CAST(Name as varchar(MAX)) @@ -8849,6 +9236,71 @@ IF (@@Error = 0) PRINT 'ScalarFunction Creation: ve_GetFolderPath Succeeded' ELSE PRINT 'ScalarFunction Creation: ve_GetFolderPath Error on Creation' GO +/****** Object: StoredProcedure [ve_GetNextTranCount] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetNextTranCount]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1) + DROP FUNCTION [ve_GetNextTranCount]; +GO + +/* +select dbo.ve_GetNextTranCount(251) NextTrans +select *, dbo.ve_GetNextTranCount(ItemID) NextTrans from vefn_AllHighLevelSteps() +Order By dbo.ve_GetNextTranCount(ItemID) DESC + + Select count(*) from Transitions TT + join contents CC on TT.FromID = CC.ContentID + where FromID in (Select ContentID from vefn_ChildItems(247)) + AND (ToID = 251 or RangeID = 251) + +declare @ItemID int; +set @ItemID=251 + + declare @Count int; + declare @PreviousID as int + select @PreviousID = PreviousID from items where ItemID = @ItemID + Print @PreviousID + if @PreviousID is not null + BEGIN + Select @Count = count(*) from vefn_ChildItems(247) + --Select @Count = count(*) from Transitions TT + --join contents CC on TT.FromID = CC.ContentID + --where FromID in (Select ContentID from vefn_ChildItems(@PreviousID)) + --AND (ToID = @ItemID or RangeID = @ItemID) + END + --ELSE + --set @Count=0 + Print 'I''m here' + Print @Count + + Select * from vefn_ChildItems(247) + +*/ + + + +CREATE FUNCTION [dbo].[ve_GetNextTranCount] (@ItemID int) RETURNS int +WITH EXECUTE AS OWNER +AS +BEGIN + declare @Count int; + declare @PreviousID as int + select @PreviousID = PreviousID from items where ItemID = @ItemID + if @PreviousID is not null + BEGIN + Select @Count = count(*) from Transitions TT + join contents CC on TT.FromID = CC.ContentID + where FromID in (Select ContentID from vefn_ChildItems(@PreviousID)) + AND (ToID = @ItemID or RangeID = @ItemID) + END + ELSE + set @Count=0 + return @Count +END; +GO +-- Display the status of Proc creation +IF (@@Error = 0) PRINT 'ScalarFunction Creation: ve_GetNextTranCount Succeeded' +ELSE PRINT 'ScalarFunction Creation: ve_GetNextTranCount Error on Creation' +GO + /****** Object: StoredProcedure [ve_GetParts] ******/ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetParts]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1) DROP FUNCTION [ve_GetParts]; @@ -8869,9 +9321,7 @@ with ContentZ(AllContents,PreviousID,HasChildren) as ( where PP.ContentID=@ContentID and PP.FromType = @FromType Union All -- - Select ZZ.AllContents + '.' + cast(II.ContentID as varchar(max)) AllContents,II.ItemID PreviousID, case when Exists(select ItemID from Items where PreviousID = II.ItemID) then 1 else 0 end - -HasChildren + Select ZZ.AllContents + '.' + cast(II.ContentID as varchar(max)) AllContents,II.ItemID PreviousID, case when Exists(select ItemID from Items where PreviousID = II.ItemID) then 1 else 0 end HasChildren from Items II Join ContentZ ZZ on II.PreviousID = ZZ.PreviousID ) @@ -8944,7 +9394,10 @@ from Items II join Contents CC on II.ContentID = CC.ContentID where ItemID in(111,265,266,267) */ -- drop function ve_GetPath -CREATE FUNCTION [dbo].[ve_GetPath] (@ItemID int) RETURNS varchar(max) WITH EXECUTE AS OWNER AS BEGIN +CREATE FUNCTION [dbo].[ve_GetPath] (@ItemID int) RETURNS varchar(max) +WITH EXECUTE AS OWNER +AS +BEGIN -- declare @STructID int --set @StructID=11 declare @Path varchar(max); @@ -9009,6 +9462,157 @@ IF (@@Error = 0) PRINT 'ScalarFunction Creation: ve_GetPath Succeeded' ELSE PRINT 'ScalarFunction Creation: ve_GetPath Error on Creation' GO +/****** Object: StoredProcedure [ve_GetPathFromContentID] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetPathFromContentID]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1) + DROP FUNCTION [ve_GetPathFromContentID]; +GO + +/* +select top 5 +[dbo].[ve_GetPathFromContentID](FromID)FromPath +,[dbo].[ve_GetPath](ToID) ToPath +,[dbo].[ve_GetPath](RangeID) RangePath + from transitions +*/ + +CREATE FUNCTION [dbo].[ve_GetPathFromContentID] (@ContentID int) RETURNS varchar(max) +WITH EXECUTE AS OWNER +AS +BEGIN + declare @ItemID int; + select top 1 @ItemID=ItemID from Items where ContentID = @ContentID; + return DBO.ve_GetPath(@ItemID) +END +GO +-- Display the status of Proc creation +IF (@@Error = 0) PRINT 'ScalarFunction Creation: ve_GetPathFromContentID Succeeded' +ELSE PRINT 'ScalarFunction Creation: ve_GetPathFromContentID Error on Creation' +GO + +/****** Object: StoredProcedure [ve_GetShortPart] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetShortPart]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1) + DROP FUNCTION [ve_GetShortPart]; +GO + +Create FUNCTION [dbo].[ve_GetShortPart] (@Number varchar(max),@Title varchar(max)) RETURNS varchar(max) +WITH EXECUTE AS OWNER +AS +BEGIN + if(isnull(@Number,'') = '') return @Title + return @Number +END +GO +-- Display the status of Proc creation +IF (@@Error = 0) PRINT 'ScalarFunction Creation: ve_GetShortPart Succeeded' +ELSE PRINT 'ScalarFunction Creation: ve_GetShortPart Error on Creation' +GO + +/****** Object: StoredProcedure [ve_GetShortPath] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetShortPath]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1) + DROP FUNCTION [ve_GetShortPath]; +GO + +/* +select ItemID, CC.Type, dbo.ve_GetPath(ItemID) +from Items II join Contents CC on II.ContentID = CC.ContentID +where ItemID in(111,265,266,267) +*/ +-- drop function ve_GetPath +Create FUNCTION [dbo].[ve_GetShortPath] (@ItemID int) RETURNS varchar(max) +WITH EXECUTE AS OWNER +AS +BEGIN +-- declare @STructID int +--set @StructID=11 +declare @Path varchar(max); +with Itemz(ItemCount,ItemID,PreviousID,FromType,CType,Number,Text,PPath, Path) as ( + Select 1,ItemID,PreviousID,0,C.Type/10000,C.Number,C.Text, + Cast(Case when C.Type < 20000 then '`' + [dbo].[ve_GetShortPart](C.Number,C.Text) else '' end as nvarchar(max)) PPath, + Cast(Case when C.Type < 20000 then '`' + [dbo].[ve_GetShortPart](C.Number,C.Text) else '1' end as nvarchar(max)) Path + from Items I + join Contents C on I.ContentID = C.ContentID + where ItemID=@ItemID + Union All +-- siblings + Select ItemCount+1,I.PreviousID,II.PreviousID,0,C.Type/10000,Z.Number,Z.Text,PPath,cast(ItemCount + 1 as nvarchar(3)) + PPath + from Items I + join Contents C on I.ContentID = C.ContentID + Join Items II on II.ItemID = I.PreviousID + Join Itemz Z on I.ItemID=Z.ItemID + where I.PreviousID != 0 + Union All +-- children + select 1,I.ItemID,I.PreviousID,P.FromType,C.Type/10000,C.Number,C.Text, + case C.Type/10000 + when 0 then '`' + [dbo].[ve_GetShortPart](C.Number,C.Text) + when 1 then '`' + [dbo].[ve_GetShortPart](C.Number,C.Text) +'`' + cast(ItemCount + 0 as varchar(3)) + else + case P.FromType + when 1 then 'PRC`' + cast(ItemCount + 0 as varchar(3)) + when 2 then '`SEC`' + cast(ItemCount + 0 as varchar(3)) + when 3 then '`Caution`' + cast(ItemCount + 0 as varchar(3)) + when 4 then '`Note`' + cast(ItemCount + 0 as varchar(3)) + when 5 then '`RNO`' + when 7 then '`Table`' + else '`' + cast(ItemCount + 0 as varchar(3)) + end end + PPath PPath, + --'1' + + case C.Type/10000 + when 0 then '`' + [dbo].[ve_GetShortPart](C.Number,C.Text) + when 1 then '`' + [dbo].[ve_GetShortPart](C.Number,C.Text) +'`' + cast(ItemCount + 0 as varchar(3)) + else + case P.FromType + when 1 then 'PRC`' + cast(ItemCount + 0 as varchar(3)) + when 2 then '`SEC`' + cast(ItemCount + 0 as varchar(3)) + when 3 then '`Caution`' + cast(ItemCount + 0 as varchar(3)) + when 4 then '`Note`' + cast(ItemCount + 0 as varchar(3)) + when 5 then '`RNO' + when 7 then '`Table' + else '`' + cast(ItemCount + 0 as varchar(3)) + end end + PPath Path + + from Parts P + join Items I on I.ContentID = P.ContentID + join Contents C on I.ContentID = C.ContentID + join Itemz Z on P.ItemID=Z.ItemID +) +select @Path = path From Itemz where ItemCount=1 and CType=0 +OPTION (MAXRECURSION 10000) +return @Path +END; +GO +-- Display the status of Proc creation +IF (@@Error = 0) PRINT 'ScalarFunction Creation: ve_GetShortPath Succeeded' +ELSE PRINT 'ScalarFunction Creation: ve_GetShortPath Error on Creation' +GO + +/****** Object: StoredProcedure [ve_GetShortPathFromContentID] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetShortPathFromContentID]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1) + DROP FUNCTION [ve_GetShortPathFromContentID]; +GO + +/* +select top 5 +[dbo].[ve_GetShortPathFromContentID](FromID)FromPath +,[dbo].[ve_GetShortPath](ToID) ToPath +,[dbo].[ve_GetShortPath](RangeID) RangePath + from transitions +*/ + +CREATE FUNCTION [dbo].[ve_GetShortPathFromContentID] (@ContentID int) RETURNS varchar(max) +WITH EXECUTE AS OWNER +AS +BEGIN + declare @ItemID int; + select top 1 @ItemID=ItemID from Items where ContentID = @ContentID; + return DBO.ve_GetShortPath(@ItemID) +END +GO +-- Display the status of Proc creation +IF (@@Error = 0) PRINT 'ScalarFunction Creation: ve_GetShortPathFromContentID Succeeded' +ELSE PRINT 'ScalarFunction Creation: ve_GetShortPathFromContentID Error on Creation' +GO + /****** Object: StoredProcedure [ve_GetSiblingCount] ******/ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetSiblingCount]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1) DROP FUNCTION [ve_GetSiblingCount]; @@ -9034,7 +9638,10 @@ where CC.Type >= 20000 order by dbo.ve_GetSiblingCount(ItemID) desc */ -CREATE FUNCTION [dbo].[ve_GetSiblingCount] (@ItemID int) RETURNS int WITH EXECUTE AS OWNER AS BEGIN +CREATE FUNCTION [dbo].[ve_GetSiblingCount] (@ItemID int) RETURNS int +WITH EXECUTE AS OWNER +AS +BEGIN declare @Count int; with Itemz([Direction], [ItemID], [PreviousID]) as ( Select 0 Direction,[ItemID], [PreviousID] @@ -9061,6 +9668,107 @@ IF (@@Error = 0) PRINT 'ScalarFunction Creation: ve_GetSiblingCount Succeeded' ELSE PRINT 'ScalarFunction Creation: ve_GetSiblingCount Error on Creation' GO +/****** Object: StoredProcedure [vefn_AllHighLevelSteps] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_AllHighLevelSteps]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1) + DROP FUNCTION [vefn_AllHighLevelSteps]; +GO + +CREATE FUNCTION [dbo].[vefn_AllHighLevelSteps]() +RETURNS @HighLevelStepTransitions TABLE +( + ParentID int + ,ItemID int PRIMARY KEY + ,Ordinal int + ,Path varchar(max) +) +WITH EXECUTE AS OWNER +AS +BEGIN +with Itemz([Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged],[pContentID], [pDTS],[pUserID],[pLastChanged]) as ( + Select 0 [Level], ParentID [ParentID], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] + ,0 [pContentID],[DTS] [pDTS], [UserID] [pUserID], [LastChanged] [pLastChanged] + FROM (select II.ItemID ParentID, PP.ItemID, PreviousID, II.ContentID, II.DTS, II.UserID, II.LastChanged from Items II +Join Contents CC on II.ContentID = CC.ContentID +Join Parts PP on PP.ContentID = II.ContentID and FromType = 6 +where CC.Type = 10000) TT +-- Siblings +Union All + select [Level] ,Z.[ParentID],Z.[Ordinal] +1, I.[ItemID], I.[PreviousID], [FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] + ,null,null,null,null + from Itemz Z + join Items I on I.PreviousID = Z.ItemID + --where Z.[Level] > 0 +) +Insert into @HighLevelStepTransitions +select [ParentID],ItemID,Ordinal,dbo.ve_GetPath([ItemID]) Path +from Itemz +Order by ParentID,ItemID +RETURN +END +GO +-- Display the status of Proc creation +IF (@@Error = 0) PRINT 'TableFunction Creation: vefn_AllHighLevelSteps Succeeded' +ELSE PRINT 'TableFunction Creation: vefn_AllHighLevelSteps Error on Creation' +GO + +/****** Object: StoredProcedure [vefn_AllHighLevelStepTransitions] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_AllHighLevelStepTransitions]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1) + DROP FUNCTION [vefn_AllHighLevelStepTransitions]; +GO + +/* +select * from vefn_AllHighLevelStepTransitions() +where ExternalTransitions > 0 +*/ + +CREATE FUNCTION [dbo].[vefn_AllHighLevelStepTransitions]() +RETURNS @HighLevelStepTransitions TABLE +( + ParentID int + ,ItemID int PRIMARY KEY + ,Ordinal int + ,Path varchar(max) + ,TransCount int + ,ExternalTransitions int + ,ExternalChildTransitions int + ,InternalTransitions int +) +WITH EXECUTE AS OWNER +AS +BEGIN +with Itemz([Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged],[pContentID], [pDTS],[pUserID],[pLastChanged]) as ( + Select 0 [Level], ParentID [ParentID], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] + ,0 [pContentID],[DTS] [pDTS], [UserID] [pUserID], [LastChanged] [pLastChanged] + FROM (select II.ItemID ParentID, PP.ItemID, PreviousID, II.ContentID, II.DTS, II.UserID, II.LastChanged from Items II +Join Contents CC on II.ContentID = CC.ContentID +Join Parts PP on PP.ContentID = II.ContentID and FromType = 6 +where CC.Type = 10000) TT +-- Siblings +Union All + select [Level] ,Z.[ParentID],Z.[Ordinal] +1, I.[ItemID], I.[PreviousID], [FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] + ,null,null,null,null + from Itemz Z + join Items I on I.PreviousID = Z.ItemID + --where Z.[Level] > 0 +) +Insert into @HighLevelStepTransitions +select [ParentID],ItemID,Ordinal,dbo.ve_GetPath([ItemID]) Path,(Select Count(*) from Transitions where ToID=ItemID OR RangeID=ItemID ) TransCount +,(Select count(*) from vefn_FindExternalTransitions(ItemID)) ExternalTransitions +,(Select count(*) from vefn_FindExternalChildTransitions(ItemID)) ExternalChildTransitions +,(Select count(*) from vefn_FindInternalTransitions(ItemID)) InternalTransitions +from Itemz +where (Select Count(*) from Transitions where ToID=ItemID OR RangeID=ItemID ) > 0 +OR(Select count(*) from vefn_FindExternalTransitions(ItemID)) > 0 +OR(Select count(*) from vefn_FindInternalTransitions(ItemID)) > 0 +Order by ParentID,ItemID +RETURN +END +GO +-- Display the status of Proc creation +IF (@@Error = 0) PRINT 'TableFunction Creation: vefn_AllHighLevelStepTransitions Succeeded' +ELSE PRINT 'TableFunction Creation: vefn_AllHighLevelStepTransitions Error on Creation' +GO + /****** Object: StoredProcedure [vefn_AllSections] ******/ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_AllSections]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1) DROP FUNCTION [vefn_AllSections]; @@ -9069,6 +9777,7 @@ GO -- Select .dbo.vefn_AllSections(10001) MyTypeSection, .dbo.vlnfn_AllSections(20001) MyTypeStep, .dbo.vlnfn_AllSections(5) MyTypeProc CREATE FUNCTION [dbo].[vefn_AllSections](@type int) RETURNS int +WITH EXECUTE AS OWNER AS BEGIN IF(@type < 20000 and @type >= 10000) @@ -9097,6 +9806,7 @@ RETURNS @IDs TABLE TypeID int PRIMARY KEY, Name varchar(100) ) +WITH EXECUTE AS OWNER AS BEGIN IF(isnull(@AnnotationTypeList,'') = '') @@ -9116,6 +9826,64 @@ IF (@@Error = 0) PRINT 'TableFunction Creation: vefn_AnnotationTypeSplit Succeed ELSE PRINT 'TableFunction Creation: vefn_AnnotationTypeSplit Error on Creation' GO +/****** Object: StoredProcedure [vefn_ChildItems] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_ChildItems]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1) + DROP FUNCTION [vefn_ChildItems]; +GO + +/* +declare @PreviousID as int +declare @ItemID as int +set @ItemID = 450 +select @PreviousID = PreviousID from items where ItemID = @ItemID + +Select * from Items where ItemID = @ItemID + +select * from Transitions +where FromID in (Select ContentID from vefn_ChildItems(@PreviousID)) +AND (ToID = @ItemID or RangeID = @ItemID) + +select CC.Text from Transitions TT +join contents CC on TT.FromID = CC.ContentID +where FromID in (Select ContentID from vefn_ChildItems(@PreviousID)) +AND (ToID = @ItemID or RangeID = @ItemID) + +*/ +CREATE FUNCTION [dbo].[vefn_ChildItems](@ItemID int) +RETURNS @Children TABLE +( + ItemID int PRIMARY KEY, + ContentID int +) +WITH EXECUTE AS OWNER +AS +BEGIN +with Itemz([Level], [ItemID], [ContentID]) as ( + Select 0 [Level], [ItemID], [ContentID] + FROM [Items] + where [ItemID]=@ItemID +Union All +-- Children + select [Level] + 1, I.[ItemID], I.[ContentID] + from Itemz Z + join Parts P on P.ContentID = Z.ContentID + join Items I on I.ItemID = P.ItemID +-- Siblings +Union All + select [Level] , I.[ItemID], I.[ContentID] + from Itemz Z + join Items I on I.PreviousID = Z.ItemID + where Z.[Level] > 0 +) +insert into @Children select ItemID, ContentID from Itemz +RETURN +END +GO +-- Display the status of Proc creation +IF (@@Error = 0) PRINT 'TableFunction Creation: vefn_ChildItems Succeeded' +ELSE PRINT 'TableFunction Creation: vefn_ChildItems Error on Creation' +GO + /****** Object: StoredProcedure [vefn_ChildrenItems] ******/ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_ChildrenItems]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1) DROP FUNCTION [vefn_ChildrenItems]; @@ -9133,17 +9901,18 @@ RETURNS @Children TABLE ItemID int PRIMARY KEY, ContentID int ) +WITH EXECUTE AS OWNER AS BEGIN with Itemz([Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged],[pContentID], [pDTS],[pUserID],[pLastChanged]) as ( Select 0 [Level], @ParentID [ParentID], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] - ,0 as [pContentID],[DTS] As [pDTS], [UserID] As [pUserID], [LastChanged] As [pLastChanged] + ,0 [pContentID],[DTS] [pDTS], [UserID] [pUserID], [LastChanged] [pLastChanged] FROM [Items] where [ItemID]=@ItemID Union All -- Children select [Level] + 1,Z.ItemID,0, I.[ItemID], I.[PreviousID], P.[FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] - ,P.[ContentID] as [pContentID],P.[DTS] As [pDTS],P.[UserID] As [pUserID],P.[LastChanged] As [pLastChanged] + ,P.[ContentID] [pContentID],P.[DTS] [pDTS],P.[UserID] [pUserID],P.[LastChanged] [pLastChanged] from Itemz Z join Parts P on P.ContentID = Z.ContentID join Items I on I.ItemID = P.ItemID @@ -9181,6 +9950,7 @@ RETURNS @IDs TABLE ItemID int, DVPath varchar(MAX) ) +WITH EXECUTE AS OWNER AS BEGIN IF(isnull(@DocVersionList,'') = '') @@ -9214,17 +9984,18 @@ RETURNS @DVContents TABLE ( ContentID int PRIMARY KEY ) +WITH EXECUTE AS OWNER AS BEGIN with Itemz([Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged],[pContentID], [pDTS],[pUserID],[pLastChanged]) as ( Select 0 [Level], 0 [ParentID], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] - ,0 as [pContentID],[DTS] As [pDTS], [UserID] As [pUserID], [LastChanged] As [pLastChanged] + ,0 [pContentID],[DTS] [pDTS], [UserID] [pUserID], [LastChanged] [pLastChanged] FROM [Items] where [ItemID] in (select [ItemID] from vefn_DocVersionSplit(@DocVersionList)) Union All -- Children select [Level] + 1,Z.ItemID,0, I.[ItemID], I.[PreviousID], P.[FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] - ,P.[ContentID] as [pContentID],P.[DTS] As [pDTS],P.[UserID] As [pUserID],P.[LastChanged] As [pLastChanged] + ,P.[ContentID] [pContentID],P.[DTS] [pDTS],P.[UserID] [pUserID],P.[LastChanged] [pLastChanged] from Itemz Z join Parts P on P.ContentID = Z.ContentID join Items I on I.ItemID = P.ItemID @@ -9250,40 +10021,48 @@ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_FindAffecte GO /* -Select FromID,.dbo.ve_GetPath(FromID),ToID,dbo.ve_GetPath(ToID) from vefn_FindAffectedTransitions(185) +select top 1 * from items order by itemid desc +Select +FromID,.dbo.ve_GetPathFromContentID(FromID) ContentPath +,ToID,dbo.ve_GetPath(ToID) ToPath +,RangeID,dbo.ve_GetPath(RangeID) RangePath +,cc.Text +from vefn_FindAffectedTransitions(2102) ttz +join transitions tt on ttz.TransitionID = tt.TransitionID +--join items ii on ii.ItemID = tt.fromID +join contents cc on tt.FromID = cc.contentid */ -CREATE FUNCTION [dbo].[vefn_FindAffectedTransitions](@ItemID int) -RETURNS @Children TABLE +Create FUNCTION [dbo].[vefn_FindAffectedTransitions](@ItemID int) +RETURNS @Transitions TABLE ( - FromID int, - ToID int + TransitionID int ) +WITH EXECUTE AS OWNER +AS BEGIN with Itemz([Level], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged],[pContentID], [pDTS],[pUserID],[pLastChanged]) as ( Select 0 [Level], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] - ,0 as [pContentID],[DTS] As [pDTS], [UserID] As [pUserID], [LastChanged] As [pLastChanged] + ,0 [pContentID],[DTS] [pDTS], [UserID] [pUserID], [LastChanged] [pLastChanged] FROM [Items] where [ItemID]=@ItemID Union All -- Children select [Level] + 1,0, I.[ItemID], I.[PreviousID], P.[FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] - ,P.[ContentID] as [pContentID],P.[DTS] As [pDTS],P.[UserID] As [pUserID],P.[LastChanged] As [pLastChanged] + ,P.[ContentID] [pContentID],P.[DTS] [pDTS],P.[UserID] [pUserID],P.[LastChanged] [pLastChanged] from Itemz Z join Parts P on P.ContentID = Z.ContentID join Items I on I.ItemID = P.ItemID --- Siblings +-- All Siblings Union All select [Level] ,Z.[Ordinal] +1, I.[ItemID], I.[PreviousID], [FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] ,null,null,null,null from Itemz Z join Items I on I.PreviousID = Z.ItemID - --where Z.[Level] > 0 + --where Z.[Level] > 0 -- This would limit the siblings to the siblings of the children and not the initial ItemID ) -insert into @Children -select ItemID [FromID], case when TT.ToID in(select ItemID from Itemz) then TT.ToID else TT.RangeID end [ToID] - from Transitions TT - join Items II on II.ContentID=TT.FromID +insert into @Transitions +select TransitionID from Transitions TT where (ToID in(select ItemID from Itemz) OR RangeID in(select ItemID from Itemz)) RETURN END @@ -9310,6 +10089,7 @@ RETURNS @FoundContents TABLE ,Type int ,Text varchar(max) ) +WITH EXECUTE AS OWNER AS BEGIN IF(ISNULL(@DocVersionList,'')='') @@ -9334,31 +10114,33 @@ IF (@@Error = 0) PRINT 'TableFunction Creation: vefn_FindContentText Succeeded' ELSE PRINT 'TableFunction Creation: vefn_FindContentText Error on Creation' GO -/****** Object: StoredProcedure [vefn_FindExternalTransitions] ******/ -IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_FindExternalTransitions]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1) - DROP FUNCTION [vefn_FindExternalTransitions]; +/****** Object: StoredProcedure [vefn_FindExternalChildTransitions] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_FindExternalChildTransitions]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1) + DROP FUNCTION [vefn_FindExternalChildTransitions]; GO /* -Select * from vefn_FindExternalTransitions(185) +Select * from vefn_FindExternalChildTransitions(185) */ -CREATE FUNCTION [dbo].[vefn_FindExternalTransitions](@ItemID int) +CREATE FUNCTION [dbo].[vefn_FindExternalChildTransitions](@ItemID int) RETURNS @Children TABLE ( - FromID int, + FromItemID int, ToID int ) +WITH EXECUTE AS OWNER +AS BEGIN with Itemz([Level], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged],[pContentID], [pDTS],[pUserID],[pLastChanged]) as ( Select 0 [Level], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] - ,0 as [pContentID],[DTS] As [pDTS], [UserID] As [pUserID], [LastChanged] As [pLastChanged] + ,0 [pContentID],[DTS] [pDTS], [UserID] [pUserID], [LastChanged] [pLastChanged] FROM [Items] where [ItemID]=@ItemID Union All -- Children select [Level] + 1,0, I.[ItemID], I.[PreviousID], P.[FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] - ,P.[ContentID] as [pContentID],P.[DTS] As [pDTS],P.[UserID] As [pUserID],P.[LastChanged] As [pLastChanged] + ,P.[ContentID] [pContentID],P.[DTS] [pDTS],P.[UserID] [pUserID],P.[LastChanged] [pLastChanged] from Itemz Z join Parts P on P.ContentID = Z.ContentID join Items I on I.ItemID = P.ItemID @@ -9371,7 +10153,59 @@ Union All where Z.[Level] > 0 ) insert into @Children -select ItemID [FromID], case when TT.ToID in(select ItemID from Itemz) then TT.ToID else TT.RangeID end [ToID] +select ItemID [FromItemID], case when TT.ToID in(select ItemID from Itemz) then TT.ToID else TT.RangeID end [ToID] + from Transitions TT + join Items II on II.ContentID=TT.FromID +where (ToID in(select ItemID from Itemz where Level > 0) OR RangeID in(select ItemID from Itemz where Level > 0)) +AND FromID not in(Select ContentID from ItemZ) +RETURN +END +GO +-- Display the status of Proc creation +IF (@@Error = 0) PRINT 'TableFunction Creation: vefn_FindExternalChildTransitions Succeeded' +ELSE PRINT 'TableFunction Creation: vefn_FindExternalChildTransitions Error on Creation' +GO + +/****** Object: StoredProcedure [vefn_FindExternalTransitions] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_FindExternalTransitions]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1) + DROP FUNCTION [vefn_FindExternalTransitions]; +GO + +/* +Select * from vefn_FindExternalTransitions(185) +*/ + +CREATE FUNCTION [dbo].[vefn_FindExternalTransitions](@ItemID int) +RETURNS @Children TABLE +( + FromItemID int, + ToID int +) +WITH EXECUTE AS OWNER +AS +BEGIN +with Itemz([Level], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged],[pContentID], [pDTS],[pUserID],[pLastChanged]) as ( + Select 0 [Level], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] + ,0 [pContentID],[DTS] [pDTS], [UserID] [pUserID], [LastChanged] [pLastChanged] + FROM [Items] + where [ItemID]=@ItemID +Union All +-- Children + select [Level] + 1,0, I.[ItemID], I.[PreviousID], P.[FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] + ,P.[ContentID] [pContentID],P.[DTS] [pDTS],P.[UserID] [pUserID],P.[LastChanged] [pLastChanged] + from Itemz Z + join Parts P on P.ContentID = Z.ContentID + join Items I on I.ItemID = P.ItemID +-- Siblings +Union All + select [Level] ,Z.[Ordinal] +1, I.[ItemID], I.[PreviousID], [FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] + ,null,null,null,null + from Itemz Z + join Items I on I.PreviousID = Z.ItemID + where Z.[Level] > 0 +) +insert into @Children +select ItemID [FromItemID], case when TT.ToID in(select ItemID from Itemz) then TT.ToID else TT.RangeID end [ToID] from Transitions TT join Items II on II.ContentID=TT.FromID where (ToID in(select ItemID from Itemz) OR RangeID in(select ItemID from Itemz)) @@ -9395,19 +10229,21 @@ Select * from vefn_FindInternalTransitions(185) CREATE FUNCTION [dbo].[vefn_FindInternalTransitions](@ItemID int) RETURNS @Children TABLE ( - FromID int, + FromItemID int, ToID int ) +WITH EXECUTE AS OWNER +AS BEGIN with Itemz([Level], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged],[pContentID], [pDTS],[pUserID],[pLastChanged]) as ( Select 0 [Level], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] - ,0 as [pContentID],[DTS] As [pDTS], [UserID] As [pUserID], [LastChanged] As [pLastChanged] + ,0 [pContentID],[DTS] [pDTS], [UserID] [pUserID], [LastChanged] [pLastChanged] FROM [Items] where [ItemID]=@ItemID Union All -- Children select [Level] + 1,0, I.[ItemID], I.[PreviousID], P.[FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] - ,P.[ContentID] as [pContentID],P.[DTS] As [pDTS],P.[UserID] As [pUserID],P.[LastChanged] As [pLastChanged] + ,P.[ContentID] [pContentID],P.[DTS] [pDTS],P.[UserID] [pUserID],P.[LastChanged] [pLastChanged] from Itemz Z join Parts P on P.ContentID = Z.ContentID join Items I on I.ItemID = P.ItemID @@ -9420,7 +10256,7 @@ Union All where Z.[Level] > 0 ) insert into @Children -select ItemID [FromID], case when TT.ToID in(select ItemID from Itemz) then TT.ToID else TT.RangeID end [ToID] +select ItemID [FromItemID], case when TT.ToID in(select ItemID from Itemz) then TT.ToID else TT.RangeID end [ToID] from Transitions TT join Items II on II.ContentID=TT.FromID where (ToID in(select ItemID from Itemz) OR RangeID in(select ItemID from Itemz)) @@ -9450,6 +10286,7 @@ RETURNS @FoundContents TABLE ( ContentID int PRIMARY KEY ) +WITH EXECUTE AS OWNER AS BEGIN Declare @SearchString2 nvarchar(200) @@ -9535,6 +10372,7 @@ select .dbo.vefn_FirstLink('asdasdadsasd' + char(21) + 'asdasdasd\vasdasdasd', 0 CREATE FUNCTION [dbo].[vefn_FirstLink](@text nvarchar(MAX),@includeLink int) RETURNS int +WITH EXECUTE AS OWNER AS BEGIN DECLARE @index int @@ -9581,6 +10419,7 @@ select 16 ID,'-' ss */ CREATE FUNCTION [dbo].[vefn_FixSearchString](@SearchString nvarchar(MAX)) RETURNS nvarchar(MAX) +WITH EXECUTE AS OWNER AS BEGIN -- This code adds % at the beginning and end if the beginning and end @@ -9603,6 +10442,144 @@ IF (@@Error = 0) PRINT 'ScalarFunction Creation: vefn_FixSearchString Succeeded' ELSE PRINT 'ScalarFunction Creation: vefn_FixSearchString Error on Creation' GO +/****** Object: StoredProcedure [vefn_FixTransitionText] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_FixTransitionText]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1) + DROP FUNCTION [vefn_FixTransitionText]; +GO + +/* +select top 5 * from contents order by contentid desc + +DECLARE @Text1 varchar(MAX),@Text2 varchar(MAX),@Text3 varchar(MAX),@Text4 varchar(MAX) +SET @Text1='\v \v0 PERFORM the following:' +SET @Text2='\v \v0 PERFORM the following:' +SET @Text3='\v \v0 PERFORM the following:' +SET @Text4='\v \v0 IF reactor will NOT trip, THEN:' + +Select @Text1 Before, dbo.vefn_FixTransitionText(@Text1,58,4,270,285,270,999) [After] +Union Select @Text2 Before, dbo.vefn_FixTransitionText(@Text2,58,2,265,270,270,999) [After] +Union Select @Text3 Before, dbo.vefn_FixTransitionText(@Text3,58,2,270,270,270,999) [After] +Union Select @Text4 Before, dbo.vefn_FixTransitionText(@Text4,8,1,270,270,270,999) [After] +*/ +CREATE FUNCTION [dbo].[vefn_FixTransitionText] +(@Text varchar(MAX),@TransitionID int,@TranType int,@OldToID int,@OldRangeID int,@OldID int,@NewID int) +RETURNS varchar(MAX) +WITH EXECUTE AS OWNER +AS +BEGIN + -- Build Search String and Replace String + DECLARE @offset int + DECLARE @lookFor varchar(MAX) + DECLARE @replaceWith varchar(MAX) + SET @lookFor = '#Link:Transition:' + ltrim(str(@TranType)) + ' ' + ltrim(str(@TransitionID)) + SET @offset = CHARINDEX(@lookFor,@Text) + if(@offset = 0) + BEGIN + + SET @lookFor = '#Link:TransitionRange:' + ltrim(str(@TranType)) + ' ' + ltrim(str(@TransitionID)) + SET @offset = CHARINDEX(@lookFor,@Text) + SET @replaceWith = @lookFor + + ' ' + ltrim(str(case @OldToID when @OldID then @NewID else @OldToID end)) + + ' ' + ltrim(str(case @OldRangeID when @OldID then @NewID else @OldRangeID end)) + SET @lookFor = @lookFor + ' ' + ltrim(str(@OldToID)) + ' ' + ltrim(str(@OldRangeID)) + END + ELSE + BEGIN + SET @replaceWith = @lookFor + + ' ' + ltrim(str(case @OldToID when @OldID then @NewID else @OldToID end)) + SET @lookFor = @lookFor + ' ' + ltrim(str(@OldToID)) + END + return replace(@text,@lookFor,@replaceWith) +END +GO +-- Display the status of Proc creation +IF (@@Error = 0) PRINT 'ScalarFunction Creation: vefn_FixTransitionText Succeeded' +ELSE PRINT 'ScalarFunction Creation: vefn_FixTransitionText Error on Creation' +GO + +/****** Object: StoredProcedure [vefn_HighLevelStepTransitions] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_HighLevelStepTransitions]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1) + DROP FUNCTION [vefn_HighLevelStepTransitions]; +GO + +/* +select * from vefn_HighLevelStepTransitions(105,104) +where TransCount > 0 +*/ + +CREATE FUNCTION [dbo].[vefn_HighLevelStepTransitions](@ItemID int, @ParentID int) +RETURNS @HighLevelStepTransitions TABLE +( + ParentID int + ,ItemID int PRIMARY KEY + ,Path varchar(max) + ,TransCount int + ,ExternalTransitions int + ,InternalTransitions int +) +WITH EXECUTE AS OWNER +AS +BEGIN +with Itemz([Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged],[pContentID], [pDTS],[pUserID],[pLastChanged]) as ( + Select 0 [Level], @ParentID [ParentID], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] + ,0 [pContentID],[DTS] [pDTS], [UserID] [pUserID], [LastChanged] [pLastChanged] + FROM [Items] + where [ItemID]=@ItemID +-- Siblings +Union All + select [Level] ,Z.[ParentID],Z.[Ordinal] +1, I.[ItemID], I.[PreviousID], [FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] + ,null,null,null,null + from Itemz Z + join Items I on I.PreviousID = Z.ItemID + --where Z.[Level] > 0 +) +Insert into @HighLevelStepTransitions +select [ParentID],ItemID,dbo.ve_GetPath([ItemID]) ,(Select Count(*) from Transitions where ToID=ItemID OR RangeID=ItemID ) TransCount +,(Select count(*) from vefn_FindExternalTransitions(ItemID)) ExternalTransitions +,(Select count(*) from vefn_FindInternalTransitions(ItemID)) InternalTransitions +from Itemz +RETURN +END +GO +-- Display the status of Proc creation +IF (@@Error = 0) PRINT 'TableFunction Creation: vefn_HighLevelStepTransitions Succeeded' +ELSE PRINT 'TableFunction Creation: vefn_HighLevelStepTransitions Error on Creation' +GO + +/****** Object: StoredProcedure [vefn_NextStepTransitions] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_NextStepTransitions]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1) + DROP FUNCTION [vefn_NextStepTransitions]; +GO + +/* +select * from vefn_NextStepTransitions(450,443) +*/ + +CREATE FUNCTION [dbo].[vefn_NextStepTransitions](@ItemID int, @PreviousID int) +RETURNS @Transitions TABLE +( + [TransitionID] int PRIMARY KEY, + [FromID] [int], + [ToID] [int], + [RangeID] [int], + [TranType] [int], + [Config] [nvarchar](max) +) +WITH EXECUTE AS OWNER +AS +BEGIN + INSERT INTO @Transitions + SELECT [TransitionID],[FromID],[ToID],[RangeID],[TranType],[Config] + FROM [Transitions] where FromID in (Select ContentID from vefn_ChildItems(@PreviousID)) + AND (ToID = @ItemID OR RangeID = @ItemID) + RETURN +END +GO +-- Display the status of Proc creation +IF (@@Error = 0) PRINT 'TableFunction Creation: vefn_NextStepTransitions Succeeded' +ELSE PRINT 'TableFunction Creation: vefn_NextStepTransitions Error on Creation' +GO + /****** Object: StoredProcedure [vefn_RemoveExtraText] ******/ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_RemoveExtraText]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1) DROP FUNCTION [vefn_RemoveExtraText]; @@ -9621,6 +10598,7 @@ select .dbo.vefn_RemoveExtraText('A\u1?B\u12?C\u123?D\u1234?E',0,0,1) CREATE FUNCTION [dbo].[vefn_RemoveExtraText](@text nvarchar(MAX),@includeLink int, @includeRtfFormatting int , @includeSpecialCharacters int) RETURNS varchar(MAX) +WITH EXECUTE AS OWNER AS BEGIN DECLARE @index int @@ -9730,6 +10708,7 @@ RETURNS @SiblingAndChildren TABLE -- , [POrdinalPath] nvarchar(max) , [OrdinalPath] nvarchar(max) ) +WITH EXECUTE AS OWNER AS BEGIN Declare @Delim char(1) @@ -9742,7 +10721,7 @@ BEGIN with Itemz([ItemID], [DVPath], [Level], [ParentID], [Ordinal], [PreviousID], [FromType], [ContentID], [DTS], [UserID],[pContentID], [pDTS],[pUserID],PPath, [Path], [IsRNO], [POrdinalPath], [OrdinalPath]) as ( Select [I].[ItemID], DVPath, 0 [Level], 0 [ParentID], 0 [Ordinal], [PreviousID],0 [FromType],[I].[ContentID],[I].[DTS],[I].[UserID] - ,0 as [pContentID],[I].[DTS] As [pDTS], [I].[UserID] As [pUserID], + ,0 [pContentID],[I].[DTS] [pDTS], [I].[UserID] [pUserID], Cast('' as nvarchar(max)) [PPath], Cast(Case when C.Type < 20000 then @Delim + C.Number + @DelimNumber + C.Text else '1' end as nvarchar(max)) [Path], 0 IsRNO, Cast('' as nvarchar(max)) [POrdinalPath], Cast('0001' as nvarchar(max)) [OrdinalPath] @@ -9753,7 +10732,7 @@ with Itemz([ItemID], [DVPath], [Level], [ParentID], [Ordinal], [PreviousID], [Fr Union All -- Children select I.[ItemID], DVPath, [Level] + 1,Z.ItemID,0, I.[PreviousID], P.[FromType],I.[ContentID],I.[DTS],I.[UserID], - P.[ContentID] as [pContentID],P.[DTS] As [pDTS],P.[UserID] As [pUserID] + P.[ContentID] [pContentID],P.[DTS] [pDTS],P.[UserID] [pUserID] ,PATH + --'' case C.Type/10000 when 2 then @@ -9816,9 +10795,9 @@ IF (@@Error = 0) PRINT 'TableFunction Creation: vefn_SiblingAndChildrenItems Suc ELSE PRINT 'TableFunction Creation: vefn_SiblingAndChildrenItems Error on Creation' GO -/****** Object: StoredProcedure [vefn_SiblingChildrenItems] ******/ -IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_SiblingChildrenItems]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1) - DROP FUNCTION [vefn_SiblingChildrenItems]; +/****** Object: StoredProcedure [vefn_SiblingItems] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_SiblingItems]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1) + DROP FUNCTION [vefn_SiblingItems]; GO /* @@ -9827,26 +10806,20 @@ where (ToID in(select ItemID From dbo.vefn_ChildrenItems(185,184))) OR (RangeID AND NOT (FromID in(Select ContentID From dbo.vefn_ChildrenItems(185,184))) */ -CREATE FUNCTION [dbo].[vefn_SiblingChildrenItems](@ItemID int) -RETURNS @SiblingChildren TABLE +CREATE FUNCTION [dbo].[vefn_SiblingItems](@ItemID int, @ParentID int) +RETURNS @Siblings TABLE ( ItemID int PRIMARY KEY, ContentID int ) +WITH EXECUTE AS OWNER AS BEGIN with Itemz([Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged],[pContentID], [pDTS],[pUserID],[pLastChanged]) as ( - Select 0 [Level], 0 [ParentID], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] - ,0 as [pContentID],[DTS] As [pDTS], [UserID] As [pUserID], [LastChanged] As [pLastChanged] + Select 0 [Level], @ParentID [ParentID], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] + ,0 [pContentID],[DTS] [pDTS], [UserID] [pUserID], [LastChanged] [pLastChanged] FROM [Items] where [ItemID]=@ItemID -Union All --- Children - select [Level] + 1,Z.ItemID,0, I.[ItemID], I.[PreviousID], P.[FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] - ,P.[ContentID] as [pContentID],P.[DTS] As [pDTS],P.[UserID] As [pUserID],P.[LastChanged] As [pLastChanged] - from Itemz Z - join Parts P on P.ContentID = Z.ContentID - join Items I on I.ItemID = P.ItemID -- Siblings Union All select [Level] ,Z.[ParentID],Z.[Ordinal] +1, I.[ItemID], I.[PreviousID], [FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] @@ -9854,13 +10827,13 @@ Union All from Itemz Z join Items I on I.PreviousID = Z.ItemID ) -insert into @SiblingChildren select ItemID, ContentID from Itemz +insert into @Siblings select ItemID, ContentID from Itemz RETURN END GO -- Display the status of Proc creation -IF (@@Error = 0) PRINT 'TableFunction Creation: vefn_SiblingChildrenItems Succeeded' -ELSE PRINT 'TableFunction Creation: vefn_SiblingChildrenItems Error on Creation' +IF (@@Error = 0) PRINT 'TableFunction Creation: vefn_SiblingItems Succeeded' +ELSE PRINT 'TableFunction Creation: vefn_SiblingItems Error on Creation' GO /****** Object: StoredProcedure [vefn_SplitInt] ******/ @@ -9875,6 +10848,7 @@ RETURNS @IDs TABLE ( ID int PRIMARY KEY ) +WITH EXECUTE AS OWNER AS BEGIN DECLARE @index int @@ -9923,6 +10897,7 @@ RETURNS @ROIDSearch TABLE ROID varchar(16) --,CONSTRAINT ROIDSearchPK PRIMARY KEY(RODBID, ROID) ) +WITH EXECUTE AS OWNER AS BEGIN DECLARE @index int @@ -9993,6 +10968,7 @@ where previousid is null and itemid not in (select itemid from parts) select count(*) from parts */ CREATE procedure [dbo].[vesp_CleanUpItems] +WITH EXECUTE AS OWNER as BEGIN TRY -- Try Block BEGIN TRANSACTION @@ -10027,7 +11003,10 @@ GO -- vesp_ListChildren 17 -- drop procedure [getItemAndChildren] -CREATE PROCEDURE [dbo].[vesp_ListChildren] (@ItemID int) WITH EXECUTE AS OWNER AS BEGIN +CREATE PROCEDURE [dbo].[vesp_ListChildren] (@ItemID int) +WITH EXECUTE AS OWNER +AS +BEGIN with Itemz([Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged]) as ( Select 0 [Level], 0 [ParentID], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] FROM [Items] @@ -10046,7 +11025,7 @@ Union All where Z.[Level] > 0 ) select I.[Level],I.[FromType],I.[Ordinal], I.[ParentID], I.[ItemID],I.[PreviousID],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged], - C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] As [cDTS],C.[UserID] As [cUserID],C.[LastChanged] As [cLastChanged], + C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] [cDTS],C.[UserID] [cUserID],C.[LastChanged] [cLastChanged], (SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[ItemID]=[I].[ItemID]) [AnnotationCount], (SELECT COUNT(*) FROM [DocVersions] WHERE [DocVersions].[ItemID]=[I].[ItemID]) [DocVersionCount], (SELECT COUNT(*) FROM [Items] [Children] WHERE [Children].[PreviousID]=[I].[ItemID]) [NextCount], @@ -10073,7 +11052,8 @@ create PROCEDURE [dbo].[vesp_ListContentPath] ( @ContentID int ) - AS +WITH EXECUTE AS OWNER +AS BEGIN with ContentZ(BaseID,ContentID,ItemID,Number,Text,Item,Level,PreviousID) as ( Select II.ItemID,CC.ContentID,II.ItemID,CC.Number,CC.Text,1,1,II.PreviousID @@ -10115,6 +11095,7 @@ CREATE PROCEDURE [dbo].[vesp_ListContentsByItemID] ( @ItemID int = 0 ) +WITH EXECUTE AS OWNER AS BEGIN with Itemz(ItemID,PreviousID,ContentID,[DTS],[UserID],[LastChanged]) as ( @@ -10161,16 +11142,19 @@ GO -- vesp_ListItemAndChildren 1,0 -- drop procedure [vesp_ListItemAndChildren] -CREATE PROCEDURE [dbo].[vesp_ListItemAndChildren] (@ItemID int, @ParentID int) WITH EXECUTE AS OWNER AS BEGIN +CREATE PROCEDURE [dbo].[vesp_ListItemAndChildren] (@ItemID int, @ParentID int) +WITH EXECUTE AS OWNER +AS +BEGIN with Itemz([Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged],[pContentID], [pDTS],[pUserID],[pLastChanged]) as ( Select 0 [Level], @ParentID [ParentID], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged] - ,0 as [pContentID],[DTS] As [pDTS], [UserID] As [pUserID], [LastChanged] As [pLastChanged] + ,0 [pContentID],[DTS] [pDTS], [UserID] [pUserID], [LastChanged] [pLastChanged] FROM [Items] where [ItemID]=@ItemID Union All -- Children select [Level] + 1,Z.ItemID,0, I.[ItemID], I.[PreviousID], P.[FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] - ,P.[ContentID] as [pContentID],P.[DTS] As [pDTS],P.[UserID] As [pUserID],P.[LastChanged] As [pLastChanged] + ,P.[ContentID] [pContentID],P.[DTS] [pDTS],P.[UserID] [pUserID],P.[LastChanged] [pLastChanged] from Itemz Z join Parts P on P.ContentID = Z.ContentID join Items I on I.ItemID = P.ItemID @@ -10183,7 +11167,7 @@ Union All where Z.[Level] > 0 ) select I.[Level],I.[FromType],I.[Ordinal], I.[ParentID], I.[ItemID],I.[PreviousID],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged], - C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] As [cDTS],C.[UserID] As [cUserID],C.[LastChanged] As [cLastChanged], + C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] [cDTS],C.[UserID] [cUserID],C.[LastChanged] [cLastChanged], [pContentID],[pDTS],[pUserID],[pLastChanged], (SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[ItemID]=[I].[ItemID]) [AnnotationCount], (SELECT COUNT(*) FROM [DocVersions] WHERE [DocVersions].[ItemID]=[I].[ItemID]) [DocVersionCount], @@ -10219,6 +11203,7 @@ CREATE PROCEDURE [dbo].[vesp_ListItems] ( @ItemID int = 0 ) +WITH EXECUTE AS OWNER AS BEGIN with Itemz(ItemID,PreviousID,ContentID,[DTS],[UserID],[LastChanged]) as ( @@ -10258,6 +11243,7 @@ CREATE PROCEDURE [dbo].[vesp_ListItemsAndContent] ( @ItemID int = 0 ) +WITH EXECUTE AS OWNER AS BEGIN with Itemz(ItemID,PreviousID,ContentID,[DTS],[UserID],[LastChanged]) as ( @@ -10271,7 +11257,7 @@ with Itemz(ItemID,PreviousID,ContentID,[DTS],[UserID],[LastChanged]) as ( Join Itemz Z on I.PreviousID=Z.ItemID ) Select I.ItemID,I.PreviousID,I.ContentID,I.[DTS],I.[UserID],I.[LastChanged], - C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] As [cDTS],C.[UserID] As [cUserID],C.[LastChanged] As [cLastChanged], + C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] [cDTS],C.[UserID] [cUserID],C.[LastChanged] [cLastChanged], (SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[ItemID]=[I].[ItemID]) [AnnotationCount], (SELECT COUNT(*) FROM [DocVersions] WHERE [DocVersions].[ItemID]=[I].[ItemID]) [DocVersionCount], (SELECT COUNT(*) FROM [Items] [Children] WHERE [Children].[PreviousID]=[I].[ItemID]) [NextCount], @@ -10299,7 +11285,9 @@ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_ListTables] DROP PROCEDURE [vesp_ListTables]; GO -create procedure [dbo].[vesp_ListTables] as +create procedure [dbo].[vesp_ListTables] +WITH EXECUTE AS OWNER +as begin select o.name TableName,c.name ColumnName, case c.xtype @@ -10333,7 +11321,9 @@ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_ListTables2 DROP PROCEDURE [vesp_ListTables2]; GO -create procedure [dbo].[vesp_ListTables2] as +create procedure [dbo].[vesp_ListTables2] +WITH EXECUTE AS OWNER +as begin select o.name TableName,c.name ColumnName, case c.xtype @@ -10379,7 +11369,9 @@ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_ListTables3 DROP PROCEDURE [vesp_ListTables3]; GO -CREATE procedure [dbo].[vesp_ListTables3] as +CREATE procedure [dbo].[vesp_ListTables3] +WITH EXECUTE AS OWNER +as begin select o.name TableName,c.name ColumnName, case c.system_type_id @@ -10430,12 +11422,13 @@ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_ResetFolder GO CREATE PROCEDURE [dbo].[vesp_ResetFolderManualOrder] +WITH EXECUTE AS OWNER AS BEGIN TRY -- Try Block BEGIN TRANSACTION update fld set Fld.ManualOrder =Fld.MyRow -from (Select ROW_NUMBER() OVER(Partition by ParentID Order BY FolderID) As MyRow,* from folders ) fld +from (Select ROW_NUMBER() OVER(Partition by ParentID Order BY FolderID) MyRow,* from folders ) fld IF( @@TRANCOUNT > 0 ) COMMIT END TRY BEGIN CATCH -- Catch Block @@ -10465,9 +11458,8 @@ exec vesp_SearchAnnotationItemAndChildren Null,Null,'4',Null,0 exec vesp_SearchAnnotationItemAndChildren Null,Null,'5',Null,0 exec vesp_SearchAnnotationItemAndChildren Null,Null,'',Null,0 */ -CREATE PROCEDURE [dbo].[vesp_SearchAnnotationItemAndChildren] (@DocVersionList varchar(MAX), @StepTypeList varchar(MAX), @AnnotationTypeList varchar(MAX), @SearchString nvarchar(MAX), @CaseSensitive - -as int) WITH EXECUTE AS OWNER +CREATE PROCEDURE [dbo].[vesp_SearchAnnotationItemAndChildren] (@DocVersionList varchar(MAX), @StepTypeList varchar(MAX), @AnnotationTypeList varchar(MAX), @SearchString nvarchar(MAX), @CaseSensitive as int) +WITH EXECUTE AS OWNER AS BEGIN Declare @Delim char(1) @@ -10481,7 +11473,7 @@ begin with Itemz(DVPath, [Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged],[pContentID], [pDTS],[pUserID],[pLastChanged],PPath, Path, IsRNO, POrdinalPath, OrdinalPath) as ( Select DVPath, 0 [Level], 0 [ParentID], 0 [Ordinal], [I].[ItemID], [PreviousID],0 [FromType],[I].[ContentID],[I].[DTS],[I].[UserID],[I].[LastChanged] - ,0 as [pContentID],[I].[DTS] As [pDTS], [I].[UserID] As [pUserID], [I].[LastChanged] As [pLastChanged], + ,0 [pContentID],[I].[DTS] [pDTS], [I].[UserID] [pUserID], [I].[LastChanged] [pLastChanged], Cast('' as nvarchar(max)) PPath, Cast(Case when C.Type < 20000 then @Delim + C.Number + @DelimNumber + C.Text else '1' end as nvarchar(max)) Path, 0 IsRNO, Cast('' as nvarchar(max)) POrdinalPath, Cast('0001' as nvarchar(max)) OrdinalPath @@ -10492,7 +11484,7 @@ with Itemz(DVPath, [Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [From Union All -- Children select DVPath, [Level] + 1,Z.ItemID,0, I.[ItemID], I.[PreviousID], P.[FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] - ,P.[ContentID] as [pContentID],P.[DTS] As [pDTS],P.[UserID] As [pUserID],P.[LastChanged] As [pLastChanged] + ,P.[ContentID] [pContentID],P.[DTS] [pDTS],P.[UserID] [pUserID],P.[LastChanged] [pLastChanged] ,PATH + --'' case C.Type/10000 when 2 then @@ -10541,7 +11533,7 @@ Union All --where Z.[Level] > 0 ) select DvPath, Path, I.[Level],I.[FromType],I.[Ordinal], I.[ParentID], I.[ItemID],I.[PreviousID],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged], - C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] As [cDTS],C.[UserID] As [cUserID],C.[LastChanged] As [cLastChanged], + C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] [cDTS],C.[UserID] [cUserID],C.[LastChanged] [cLastChanged], [pContentID],[pDTS],[pUserID],[pLastChanged],AnnotationID SearchAnnotationID, SearchText, TT.Name AnnotationType, (SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[ItemID]=[I].[ItemID]) [AnnotationCount], (SELECT COUNT(*) FROM [DocVersions] WHERE [DocVersions].[ItemID]=[I].[ItemID]) [DocVersionCount], @@ -10588,36 +11580,187 @@ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_SearchItemA GO /* -exec vesp_SearchItemAndChildren '1,2,4','20007','#Link:Transition',1,0,0,0 -exec vesp_SearchItemAndChildren '1,2,4','20007','#Link:Transition',1,1,0,0 -exec vesp_SearchItemAndChildren '1,2,4','20007','#Link:Transition',1,2,0,0 -exec vesp_SearchItemAndChildren '4','','#Link:Refer',1,2,0,0 -exec vesp_SearchItemAndChildren '4','','200`F',0,1,0,0 -exec vesp_SearchItemAndChildren '4','10000','',0,0,0,0 -exec vesp_SearchItemAndChildren '4','','[0-9]`F',0,1,0,0 -exec vesp_SearchItemAndChildren '1','','"RCP"',2,0,0,0 -exec vesp_SearchItemAndChildren '','','"RCP"',2,0,0,0 -exec vesp_SearchItemAndChildren '','','%',0,0,0,0 -exec vesp_SearchItemAndChildren '','20040','',0,0,0,0 -exec vesp_SearchItemAndChildren '','10000','XYZZY',0,0,0,0 -exec vesp_SearchItemAndChildren '','10000','XYZZY',1,0,0,0 -exec vesp_SearchItemAndChildren '','','%IF%',0,0,0,0 -exec vesp_SearchItemAndChildren '','','%IF%',1,0,0,0 -exec vesp_SearchItemAndChildren '','','%47%',1,0,0,0 -exec vesp_SearchItemAndChildren '','','%47%',1,0,0,1 -exec vesp_SearchItemAndChildren '','','condenser not av',0,0,0,0 -exec vesp_SearchItemAndChildren '','','(SG OR LHSI) AND DISPATCH',2,0,0,0 -exec vesp_SearchItemAndChildren '','','DISPATCH NEAR SG',2,0,0,0 -exec vesp_SearchItemAndChildren '','','PORV NEAR SG',2,0,0,0 -exec vesp_SearchItemAndChildren '','','CHECK NORMAL',0,0,0,0 +exec vesp_SearchItemAndChildren '1,2,4','20007','#Link:Transition',1,0,0,0 +exec vesp_SearchItemAndChildren '1,2,4','20007','#Link:Transition',1,1,0,0 +exec vesp_SearchItemAndChildren '1,2,4','20007','#Link:Transition',1,2,0,0 +exec vesp_SearchItemAndChildren '4','','#Link:Refer',1,2,0,0 +exec vesp_SearchItemAndChildren '4','','200`F',0,1,0,0 +exec vesp_SearchItemAndChildren '4','10000','',0,0,0,0 +exec vesp_SearchItemAndChildren '4','','[0-9]`F',0,1,0,0 +exec vesp_SearchItemAndChildren '','','RCP',0,0,0,0 +exec vesp_SearchItemAndChildren '','','%',0,0,0,0 +exec vesp_SearchItemAndChildren '','20040','',0,0,0,0 +exec vesp_SearchItemAndChildren '','10000','XYZZY',0,0,0,0 +exec vesp_SearchItemAndChildren '','10000','XYZZY',1,0,0,0 +exec vesp_SearchItemAndChildren '','','%IF%',0,0,0,0 +exec vesp_SearchItemAndChildren '','','%IF%',1,0,0,0 +exec vesp_SearchItemAndChildren '','','%47%',1,0,0,0 +exec vesp_SearchItemAndChildren '','','%47%',1,0,0,1 +exec vesp_SearchItemAndChildren '','','condenser not av',0,0,0,0 +exec vesp_SearchItemAndChildren '','','(SG OR LHSI) AND DISPATCH',2,0,0,0 +exec vesp_SearchItemAndChildren '','','DISPATCH NEAR SG',2,0,0,0 +exec vesp_SearchItemAndChildren '','','PORV NEAR SG',2,0,0,0 +exec vesp_SearchItemAndChildren '','','CHECK NORMAL',0,0,0,0 */ CREATE PROCEDURE [dbo].[vesp_SearchItemAndChildren] (@DocVersionList varchar(MAX), @StepTypeList varchar(MAX), -@SearchString varchar(MAX), @CaseSensitive as int, @IncludeLinks as int, @IncludeRtfFormatting as int, @IncludeSpecialCharacters as int) WITH EXECUTE AS OWNER +@SearchString varchar(MAX), @CaseSensitive as int, @IncludeLinks as int, @IncludeRtfFormatting as int, @IncludeSpecialCharacters as int) +WITH EXECUTE AS OWNER +AS +BEGIN +Declare @Delim char(1) +Set @Delim=char(7) +Declare @DelimNumber char(1) +Set @DelimNumber=char(17) +Declare @DelimStep char(1) +Set @DelimStep='.' +Declare @SearchString2 nvarchar(200) +Set @SearchString2 = case when @CaseSensitive = 2 then Cast(@SearchString as nvarchar(200)) else 'IGNORE_FULL_TEXT_SEARCH' end +Set @SearchString = .dbo.vefn_FixSearchString(@SearchString) +begin +with Itemz(DVPath, [Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged],[pContentID], + [pDTS],[pUserID],[pLastChanged],PPath, Path, IsRNO, POrdinalPath, OrdinalPath) as ( + Select DVPath, 0 [Level], 0 [ParentID], 0 [Ordinal], [I].[ItemID], [PreviousID],0 [FromType],[I].[ContentID],[I].[DTS],[I].[UserID],[I].[LastChanged] + ,0 [pContentID],[I].[DTS] [pDTS], [I].[UserID] [pUserID], [I].[LastChanged] [pLastChanged], + Cast('' as nvarchar(max)) PPath, + Cast(Case when C.Type < 20000 then @Delim + C.Number + @DelimNumber + C.Text else '1' end as nvarchar(max)) Path, + 0 IsRNO, Cast('' as nvarchar(max)) POrdinalPath, Cast('0001' as nvarchar(max)) OrdinalPath + FROM [Items] I + Join Contents C on C.ContentID=I.ContentID + JOIN vefn_DocVersionSplit(@DocVersionList) DV + ON I.[ItemID] = DV.[ItemID] +Union All +-- Children + select DVPath, [Level] + 1,Z.ItemID,0, I.[ItemID], I.[PreviousID], P.[FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] + ,P.[ContentID] [pContentID],P.[DTS] [pDTS],P.[UserID] [pUserID],P.[LastChanged] [pLastChanged] + ,PATH + --'' + case C.Type/10000 + when 2 then + case P.FromType + when 3 then @DelimStep + 'Caution' + when 4 then @DelimStep + 'Note' + else '' end + else '' end + PPath, + Path + case C.Type/10000 + when 0 then @Delim +C.Number + @DelimNumber + C.Text + when 1 then @Delim +C.Number + @DelimNumber + C.Text + else + case P.FromType + --when 1 then 'PRC' + @Delim + cast(1 as varchar(3)) + --when 2 then 'SEC' + @Delim + cast(1 as varchar(3)) + when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(3)) + when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(3)) + when 5 then @DelimStep +'RNO' + @DelimStep + when 7 then @DelimStep +'Table' + @DelimStep + else case when Z.FromType < 3 then @Delim else @DelimStep end + cast(1 as varchar(3)) + end end Path, + case when P.FromType = 5 then -1 else 0 end IsRNO, + OrdinalPath + '.' + Right('0000' + Cast(P.FromType as varchar(4)), 4) + '-' , + OrdinalPath + '.' + Right('0000' + Cast(P.FromType as varchar(4)), 4) + '-0001' + from Itemz Z + join Parts P on P.ContentID = Z.ContentID + join Items I on I.ItemID = P.ItemID + join Contents C on C.ContentID = I.ContentID +Union All +-- Siblings + select DVPath, [Level] ,Z.[ParentID],Z.[Ordinal] +1, I.[ItemID], I.[PreviousID], [FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] + ,null,null,null,null + ,PPath, + --'1' + + PPath + case C.Type/10000 + when 0 then @Delim + C.Number + @DelimNumber + C.Text + when 1 then @Delim + C.Number + @DelimNumber + C.Text + else case when Path like '%.%' then @DelimStep else @Delim end + cast(Ordinal + 2 as varchar(3)) + end Path, 0, + POrdinalPath, + POrdinalPath + right('0000' + cast(Z.[Ordinal] + 2 as varchar(4)), 4) + from Itemz Z + join Items I on I.PreviousID = Z.ItemID + join Contents C on C.ContentID = I.ContentID + --where Z.[Level] > 0 +) +select DvPath, Path, I.[Level],I.[FromType],I.[Ordinal], I.[ParentID], I.[ItemID],I.[PreviousID],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged], + C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] [cDTS],C.[UserID] [cUserID],C.[LastChanged] [cLastChanged], + [pContentID],[pDTS],[pUserID],[pLastChanged], + (SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[ItemID]=[I].[ItemID]) [AnnotationCount], + (SELECT COUNT(*) FROM [DocVersions] WHERE [DocVersions].[ItemID]=[I].[ItemID]) [DocVersionCount], + (SELECT COUNT(*) FROM [Items] [Next] WHERE [Next].[PreviousID]=[I].[ItemID]) [NextCount], + (SELECT COUNT(*) FROM [Parts] WHERE [Parts].[ItemID]=[I].[ItemID]) [PartCount], + (SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[RangeID]=[I].[ItemID]) [Transition_RangeIDCount], + (SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[ToID]=[I].[ItemID]) [Transition_ToIDCount], + (SELECT COUNT(*) FROM [Details] WHERE [Details].[ContentID]=[C].[ContentID]) [DetailCount], + (SELECT COUNT(*) FROM [Entries] WHERE [Entries].[ContentID]=[C].[ContentID]) [EntryCount], + (SELECT COUNT(*) FROM [Items] WHERE [Items].[ContentID]=[C].[ContentID]) [ItemCount], + (SELECT COUNT(*) FROM [Parts] WHERE [Parts].[ContentID]=[C].[ContentID]) [cPartCount], + (SELECT COUNT(*) FROM [RoUsages] WHERE [RoUsages].[ContentID]=[C].[ContentID]) [RoUsageCount], + (SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[FromID]=[C].[ContentID]) [TransitionCount], + (SELECT COUNT(*) FROM [ZContents] WHERE [ZContents].[ContentID]=[C].[ContentID]) [ZContentCount] + from ItemZ I + join Contents C on C.ContentID = I.ContentID + left join Entries E on C.ContentID = E.ContentID + left join Documents D on E.DocID = D.DocID + where + (isnull(@SearchString,'')='' + OR (@CaseSensitive = 1 AND .dbo.vefn_RemoveExtraText(C.Text,@IncludeLinks, @IncludeRtfFormatting, @IncludeSpecialCharacters) like @SearchString Collate SQL_Latin1_General_CP1_CS_AS) + OR (@CaseSensitive = 0 AND .dbo.vefn_RemoveExtraText(C.Text,@IncludeLinks, @IncludeRtfFormatting, @IncludeSpecialCharacters) like @SearchString Collate SQL_Latin1_General_CP1_CI_AS) + OR (@CaseSensitive = 2 AND CONTAINS(C.text, @SearchString2)) + OR (@CaseSensitive = 1 AND D.DocAscii like @SearchString Collate SQL_Latin1_General_CP1_CS_AS) + OR (@CaseSensitive = 0 AND D.DocAscii like @SearchString Collate SQL_Latin1_General_CP1_CI_AS) + OR (@CaseSensitive = 2 AND CONTAINS(D.DocAscii, @SearchString2)) + ) + AND + ((isnull(@StepTypeList,'') = '' and dbo.vefn_AllSections(C.Type)>=10000) + or + ((dbo.vefn_AllSections(C.Type) in (Select ID from vefn_SplitInt(@StepTypeList,','))) + or + (@StepTypeList like '%20040%' AND IsRNO = -1))) + order by DvPath,OrdinalPath +OPTION (MAXRECURSION 10000) +END +END +GO +-- Display the status of Proc creation +IF (@@Error = 0) PRINT 'Procedure Creation: vesp_SearchItemAndChildren Succeeded' +ELSE PRINT 'Procedure Creation: vesp_SearchItemAndChildren Error on Creation' +GO + +/****** Object: StoredProcedure [vesp_SearchItemAndChildrenNew] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_SearchItemAndChildrenNew]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) + DROP PROCEDURE [vesp_SearchItemAndChildrenNew]; +GO + +/* +exec vesp_SearchItemAndChildrenNew '1,2,4','20007','#Link:Transition',1,0,0,0 +exec vesp_SearchItemAndChildrenNew '1,2,4','20007','#Link:Transition',1,1,0,0 +exec vesp_SearchItemAndChildrenNew '1,2,4','20007','#Link:Transition',1,2,0,0 +exec vesp_SearchItemAndChildrenNew '4','','#Link:Refer',1,2,0,0 +exec vesp_SearchItemAndChildrenNew '4','','200`F',0,1,0,0 +exec vesp_SearchItemAndChildrenNew '4','10000','',0,0,0,0 +exec vesp_SearchItemAndChildrenNew '4','','[0-9]`F',0,1,0,0 +exec vesp_SearchItemAndChildrenNew '1','','"RCP"',2,0,0,0 +exec vesp_SearchItemAndChildrenNew '','','"RCP"',2,0,0,0 +exec vesp_SearchItemAndChildrenNew '','','%',0,0,0,0 +exec vesp_SearchItemAndChildrenNew '','20040','',0,0,0,0 +exec vesp_SearchItemAndChildrenNew '','10000','XYZZY',0,0,0,0 +exec vesp_SearchItemAndChildrenNew '','10000','XYZZY',1,0,0,0 +exec vesp_SearchItemAndChildrenNew '','','%IF%',0,0,0,0 +exec vesp_SearchItemAndChildrenNew '','','%IF%',1,0,0,0 +exec vesp_SearchItemAndChildrenNew '','','%47%',1,0,0,0 +exec vesp_SearchItemAndChildrenNew '','','%47%',1,0,0,1 +exec vesp_SearchItemAndChildrenNew '','','condenser not av',0,0,0,0 +exec vesp_SearchItemAndChildrenNew '','','(SG OR LHSI) AND DISPATCH',2,0,0,0 +exec vesp_SearchItemAndChildrenNew '','','DISPATCH NEAR SG',2,0,0,0 +exec vesp_SearchItemAndChildrenNew '','','PORV NEAR SG',2,0,0,0 +exec vesp_SearchItemAndChildrenNew '','','CHECK NORMAL',0,0,0,0 +*/ +CREATE PROCEDURE [dbo].[vesp_SearchItemAndChildrenNew] (@DocVersionList varchar(MAX), @StepTypeList varchar(MAX), +@SearchString varchar(MAX), @CaseSensitive as int, @IncludeLinks as int, @IncludeRtfFormatting as int, @IncludeSpecialCharacters as int) +WITH EXECUTE AS OWNER AS select ZZ.DvPath, ZZ.Path, ZZ.[Level],ZZ.[FromType],ZZ.[Ordinal], ZZ.[ParentID], ZZ.[ItemID],ZZ.[PreviousID],ZZ.[ContentID],ZZ.[DTS],ZZ.[UserID] ,II.[LastChanged] - ,CC.[Number],CC.[Text],CC.[Type],CC.[FormatID],CC.[Config],CC.[DTS] As [cDTS],CC.[UserID] As [cUserID] - ,CC.[LastChanged] As [cLastChanged], + ,CC.[Number],CC.[Text],CC.[Type],CC.[FormatID],CC.[Config],CC.[DTS] [cDTS],CC.[UserID] [cUserID] + ,CC.[LastChanged] [cLastChanged], PP.[ContentID] [pContentID], PP.[DTS] [pDTS],PP.[UserID] [pUserID], PP.[LastChanged] [pLastChanged], (SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[ItemID]=ZZ.[ItemID]) [AnnotationCount], (SELECT COUNT(*) FROM [DocVersions] WHERE [DocVersions].[ItemID]=ZZ.[ItemID]) [DocVersionCount], @@ -10640,8 +11783,8 @@ where ZZ.ContentID in (select ContentID from vefn_FindText(@DocVersionList,@Sea order by DvPath,OrdinalPath GO -- Display the status of Proc creation -IF (@@Error = 0) PRINT 'Procedure Creation: vesp_SearchItemAndChildren Succeeded' -ELSE PRINT 'Procedure Creation: vesp_SearchItemAndChildren Error on Creation' +IF (@@Error = 0) PRINT 'Procedure Creation: vesp_SearchItemAndChildrenNew Succeeded' +ELSE PRINT 'Procedure Creation: vesp_SearchItemAndChildrenNew Error on Creation' GO /****** Object: StoredProcedure [vesp_SearchROItemAndChildren] ******/ @@ -10657,7 +11800,8 @@ exec vesp_SearchROItemAndChildren '1,2,4','20006','1' exec vesp_SearchROItemAndChildren '1,2,4','20006','' exec vesp_SearchROItemAndChildren '1,2,4',Null,Null */ -CREATE PROCEDURE [dbo].[vesp_SearchROItemAndChildren] (@DocVersionList varchar(MAX), @StepTypeList varchar(MAX), @ROSearchString varchar(MAX)) WITH EXECUTE AS OWNER +CREATE PROCEDURE [dbo].[vesp_SearchROItemAndChildren] (@DocVersionList varchar(MAX), @StepTypeList varchar(MAX), @ROSearchString varchar(MAX)) +WITH EXECUTE AS OWNER AS BEGIN Declare @Delim char(1) @@ -10670,7 +11814,7 @@ begin with Itemz(DVPath, [Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged],[pContentID], [pDTS],[pUserID],[pLastChanged],PPath, Path, IsRNO, POrdinalPath, OrdinalPath) as ( Select DVPath, 0 [Level], 0 [ParentID], 0 [Ordinal], [I].[ItemID], [PreviousID],0 [FromType],[I].[ContentID],[I].[DTS],[I].[UserID],[I].[LastChanged] - ,0 as [pContentID],[I].[DTS] As [pDTS], [I].[UserID] As [pUserID], [I].[LastChanged] As [pLastChanged], + ,0 [pContentID],[I].[DTS] [pDTS], [I].[UserID] [pUserID], [I].[LastChanged] [pLastChanged], Cast('' as nvarchar(max)) PPath, Cast(Case when C.Type < 20000 then @Delim + C.Number + @DelimNumber + C.Text else '1' end as nvarchar(max)) Path, 0 IsRNO, Cast('' as nvarchar(max)) POrdinalPath, Cast('0001' as nvarchar(max)) OrdinalPath @@ -10682,7 +11826,7 @@ with Itemz(DVPath, [Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [From Union All -- Children select DVPath, [Level] + 1,Z.ItemID,0, I.[ItemID], I.[PreviousID], P.[FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged] - ,P.[ContentID] as [pContentID],P.[DTS] As [pDTS],P.[UserID] As [pUserID],P.[LastChanged] As [pLastChanged] + ,P.[ContentID] [pContentID],P.[DTS] [pDTS],P.[UserID] [pUserID],P.[LastChanged] [pLastChanged] ,PATH + --'' case C.Type/10000 when 2 then @@ -10732,7 +11876,7 @@ Union All --where Z.[Level] > 0 ) select DvPath, Path, I.[Level],I.[FromType],I.[Ordinal], I.[ParentID], I.[ItemID],I.[PreviousID],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged], - C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] As [cDTS],C.[UserID] As [cUserID],C.[LastChanged] As [cLastChanged], + C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] [cDTS],C.[UserID] [cUserID],C.[LastChanged] [cLastChanged], [pContentID],[pDTS],[pUserID],[pLastChanged], (SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[ItemID]=[I].[ItemID]) [AnnotationCount], (SELECT COUNT(*) FROM [DocVersions] WHERE [DocVersions].[ItemID]=[I].[ItemID]) [DocVersionCount], @@ -10780,6 +11924,7 @@ GO CREATE PROCEDURE [dbo].[vlnErrorHandler] (@ExpectedCount int=-1 ,@MessageFormat nvarchar(512)=N'Expected RowCount (%d) not met (%d)') +WITH EXECUTE AS OWNER AS BEGIN DECLARE @ErrorMessage NVARCHAR(4000), @ErrorNumber INT, @ErrorSeverity INT, @ErrorState INT, @ErrorProcedure NVARCHAR(126)