From 7e03ed1bdedc7bd04ce7e3eca572661d51eb6465 Mon Sep 17 00:00:00 2001 From: McMak Date: Thu, 21 May 2015 15:53:45 +0300 Subject: [PATCH] Installer: old to new update #7 - upd: sql update script. --- WebsitePanel/Database/wix_update_db.sql | 118 +++++++++++++++++------- 1 file changed, 87 insertions(+), 31 deletions(-) diff --git a/WebsitePanel/Database/wix_update_db.sql b/WebsitePanel/Database/wix_update_db.sql index 05f21309..6fe1c681 100644 --- a/WebsitePanel/Database/wix_update_db.sql +++ b/WebsitePanel/Database/wix_update_db.sql @@ -12205,7 +12205,7 @@ SET @columnFullName = 'FullName' DECLARE @curUsers cursor DECLARE @curSpace cursor -DECLARE @sqlSpace nvarchar(2000) +DECLARE @sqlSpace nvarchar(3000) DECLARE @sqlUsers nvarchar(2000) DECLARE @sqlReturn nvarchar(4000) @@ -12221,12 +12221,8 @@ DECLARE @Users TABLE UserID int ) INSERT INTO @Users (UserID) -SELECT ' - -IF @OnlyFind = 1 -SET @sqlUsers = @sqlUsers + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' ' - -SET @sqlUsers = @sqlUsers + 'U.UserID +SELECT + U.UserID FROM UsersDetailed AS U WHERE U.UserID <> @UserID AND U.IsPeer = 0 AND @@ -12238,8 +12234,12 @@ WHERE AND ((@RoleID = 0) OR (@RoleID > 0 AND U.RoleID = @RoleID)) AND @HasUserRights = 1 SET @curValue = cursor local for -SELECT - U.ItemID, +SELECT ' + +IF @OnlyFind = 1 +SET @sqlUsers = @sqlUsers + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' ' + +SET @sqlUsers = @sqlUsers + 'U.ItemID, U.TextSearch, U.ColumnType, ''Users'' as FullType, @@ -12263,8 +12263,10 @@ SELECT U3.UserID as ItemID, U3.FirstName + '' '' + U3.LastName as TextSearch, @c FROM dbo.Users AS U3) as U WHERE TextSearch<>'' '' OR ISNULL(TextSearch, 0) > 0 ) - AS U ON TU.UserID = U.ItemID - ORDER BY TextSearch' + AS U ON TU.UserID = U.ItemID' +IF @FilterValue <> '' + SET @sqlUsers = @sqlUsers + ' WHERE TextSearch LIKE ''' + @FilterValue + '''' +SET @sqlUsers = @sqlUsers + ' ORDER BY TextSearch' SET @sqlUsers = @sqlUsers + ' open @curValue' @@ -12277,12 +12279,8 @@ SET @sqlSpace = ' ItemID int ) INSERT INTO @ItemsService (ItemID) - SELECT ' - -IF @OnlyFind = 1 -SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' ' - -SET @sqlSpace = @sqlSpace + 'SI.ItemID + SELECT + SI.ItemID FROM ServiceItems AS SI INNER JOIN Packages AS P ON P.PackageID = SI.PackageID INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID @@ -12302,8 +12300,12 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID dbo.CheckUserParent(@UserID, P.UserID) = 1 SET @curValue = cursor local for - SELECT - + SELECT ' + +IF @OnlyFind = 1 +SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' ' + +SET @sqlSpace = @sqlSpace + ' SI.ItemID as ItemID, SI.ItemName as TextSearch, STYPE.DisplayName as ColumnType, @@ -12313,9 +12315,17 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID FROM @ItemsService AS I INNER JOIN ServiceItems AS SI ON I.ItemID = SI.ItemID INNER JOIN ServiceItemTypes AS STYPE ON SI.ItemTypeID = STYPE.ItemTypeID - WHERE STYPE.Searchable = 1 - UNION - SELECT + WHERE (STYPE.Searchable = 1)' +IF @FilterValue <> '' + SET @sqlSpace = @sqlSpace + ' AND (SI.ItemName LIKE ''' + @FilterValue + ''')' +SET @sqlSpace = @sqlSpace + ' + UNION ( + SELECT ' + +IF @OnlyFind = 1 +SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' ' + +SET @sqlSpace = @sqlSpace + ' D.DomainID AS ItemID, D.DomainName as TextSearch, ''Domain'' as ColumnType, @@ -12324,19 +12334,68 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID 0 as AccountID FROM @ItemsDomain AS I INNER JOIN Domains AS D ON I.ItemID = D.DomainID - WHERE D.IsDomainPointer=0 + WHERE (D.IsDomainPointer=0)' +IF @FilterValue <> '' + SET @sqlSpace = @sqlSpace + ' AND (D.DomainName LIKE ''' + @FilterValue + ''')' +SET @sqlSpace = @sqlSpace + ' UNION - SELECT + SELECT ' + +IF @OnlyFind = 1 +SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' ' + +SET @sqlSpace = @sqlSpace + ' EA.ItemID AS ItemID, - EA.AccountName as TextSearch, + EA.DisplayName as TextSearch, ''ExchangeAccount'' as ColumnType, - ''ExchangeAccountMailbox'' as FullType, + ''ExchangeAccount'' as FullType, SI2.PackageID as PackageID, EA.AccountID as AccountID FROM @ItemsService AS I2 INNER JOIN ServiceItems AS SI2 ON I2.ItemID = SI2.ItemID - INNER JOIN ExchangeAccounts AS EA ON I2.ItemID = EA.ItemID - ORDER BY TextSearch'; + INNER JOIN ExchangeAccounts AS EA ON I2.ItemID = EA.ItemID' +IF @FilterValue <> '' + SET @sqlSpace = @sqlSpace + ' WHERE (EA.DisplayName LIKE ''' + @FilterValue + ''')' +SET @sqlSpace = @sqlSpace + ' + UNION + SELECT ' + +IF @OnlyFind = 1 +SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' ' + +SET @sqlSpace = @sqlSpace + ' + EA4.ItemID AS ItemID, + EA4.PrimaryEmailAddress as TextSearch, + ''ExchangeAccount'' as ColumnType, + ''ExchangeAccount'' as FullType, + SI4.PackageID as PackageID, + EA4.AccountID as AccountID + FROM @ItemsService AS I4 + INNER JOIN ServiceItems AS SI4 ON I4.ItemID = SI4.ItemID + INNER JOIN ExchangeAccounts AS EA4 ON I4.ItemID = EA4.ItemID' +IF @FilterValue <> '' + SET @sqlSpace = @sqlSpace + ' WHERE (EA4.PrimaryEmailAddress LIKE ''' + @FilterValue + ''')' +SET @sqlSpace = @sqlSpace + ' + UNION + SELECT ' + +IF @OnlyFind = 1 +SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' ' + +SET @sqlSpace = @sqlSpace + ' + EA3.ItemID AS ItemID, + EAEA.EmailAddress as TextSearch, + ''ExchangeAccount'' as ColumnType, + ''ExchangeAccount'' as FullType, + SI3.PackageID as PackageID, + EA3.AccountID as AccountID + FROM @ItemsService AS I3 + INNER JOIN ServiceItems AS SI3 ON I3.ItemID = SI3.ItemID + INNER JOIN ExchangeAccounts AS EA3 ON I3.ItemID = EA3.ItemID + INNER JOIN ExchangeAccountEmailAddresses AS EAEA ON I3.ItemID = EAEA.AccountID' +IF @FilterValue <> '' + SET @sqlSpace = @sqlSpace + ' WHERE (EAEA.EmailAddress LIKE ''' + @FilterValue + ''')' +SET @sqlSpace = @sqlSpace + ') ORDER BY TextSearch'; SET @sqlSpace = @sqlSpace + ' open @curValue' @@ -12400,9 +12459,6 @@ SET @sqlReturn = @sqlReturn + ' AND IA.ColumnType in ( ' + @ColType + ' ) '; IF @FullType <> '' SET @sqlReturn = @sqlReturn + ' AND IA.FullType = ''' + @FullType + ''''; -IF @FilterValue <> '' -SET @sqlReturn = @sqlReturn + ' AND IA.' + @FilterColumn + ' LIKE @FilterValue ' - SET @sqlReturn = @sqlReturn + ' SELECT COUNT(ItemID) FROM @ItemsReturn; SELECT DISTINCT(ColumnType) FROM @ItemsReturn WHERE (1 = 1) ';