Installer: old to new update #7 - upd: sql update script.

This commit is contained in:
McMak 2015-05-21 15:53:45 +03:00
parent e4f90c16eb
commit 7e03ed1bde

View file

@ -12205,7 +12205,7 @@ SET @columnFullName = 'FullName'
DECLARE @curUsers cursor DECLARE @curUsers cursor
DECLARE @curSpace cursor DECLARE @curSpace cursor
DECLARE @sqlSpace nvarchar(2000) DECLARE @sqlSpace nvarchar(3000)
DECLARE @sqlUsers nvarchar(2000) DECLARE @sqlUsers nvarchar(2000)
DECLARE @sqlReturn nvarchar(4000) DECLARE @sqlReturn nvarchar(4000)
@ -12221,12 +12221,8 @@ DECLARE @Users TABLE
UserID int UserID int
) )
INSERT INTO @Users (UserID) INSERT INTO @Users (UserID)
SELECT ' SELECT
U.UserID
IF @OnlyFind = 1
SET @sqlUsers = @sqlUsers + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
SET @sqlUsers = @sqlUsers + 'U.UserID
FROM UsersDetailed AS U FROM UsersDetailed AS U
WHERE WHERE
U.UserID <> @UserID AND U.IsPeer = 0 AND U.UserID <> @UserID AND U.IsPeer = 0 AND
@ -12238,8 +12234,12 @@ WHERE
AND ((@RoleID = 0) OR (@RoleID > 0 AND U.RoleID = @RoleID)) AND ((@RoleID = 0) OR (@RoleID > 0 AND U.RoleID = @RoleID))
AND @HasUserRights = 1 AND @HasUserRights = 1
SET @curValue = cursor local for SET @curValue = cursor local for
SELECT SELECT '
U.ItemID,
IF @OnlyFind = 1
SET @sqlUsers = @sqlUsers + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
SET @sqlUsers = @sqlUsers + 'U.ItemID,
U.TextSearch, U.TextSearch,
U.ColumnType, U.ColumnType,
''Users'' as FullType, ''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 FROM dbo.Users AS U3) as U
WHERE TextSearch<>'' '' OR ISNULL(TextSearch, 0) > 0 WHERE TextSearch<>'' '' OR ISNULL(TextSearch, 0) > 0
) )
AS U ON TU.UserID = U.ItemID AS U ON TU.UserID = U.ItemID'
ORDER BY TextSearch' IF @FilterValue <> ''
SET @sqlUsers = @sqlUsers + ' WHERE TextSearch LIKE ''' + @FilterValue + ''''
SET @sqlUsers = @sqlUsers + ' ORDER BY TextSearch'
SET @sqlUsers = @sqlUsers + ' open @curValue' SET @sqlUsers = @sqlUsers + ' open @curValue'
@ -12277,12 +12279,8 @@ SET @sqlSpace = '
ItemID int ItemID int
) )
INSERT INTO @ItemsService (ItemID) INSERT INTO @ItemsService (ItemID)
SELECT ' SELECT
SI.ItemID
IF @OnlyFind = 1
SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
SET @sqlSpace = @sqlSpace + 'SI.ItemID
FROM ServiceItems AS SI FROM ServiceItems AS SI
INNER JOIN Packages AS P ON P.PackageID = SI.PackageID INNER JOIN Packages AS P ON P.PackageID = SI.PackageID
INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID 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 dbo.CheckUserParent(@UserID, P.UserID) = 1
SET @curValue = cursor local for 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.ItemID as ItemID,
SI.ItemName as TextSearch, SI.ItemName as TextSearch,
STYPE.DisplayName as ColumnType, STYPE.DisplayName as ColumnType,
@ -12313,9 +12315,17 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID
FROM @ItemsService AS I FROM @ItemsService AS I
INNER JOIN ServiceItems AS SI ON I.ItemID = SI.ItemID INNER JOIN ServiceItems AS SI ON I.ItemID = SI.ItemID
INNER JOIN ServiceItemTypes AS STYPE ON SI.ItemTypeID = STYPE.ItemTypeID INNER JOIN ServiceItemTypes AS STYPE ON SI.ItemTypeID = STYPE.ItemTypeID
WHERE STYPE.Searchable = 1 WHERE (STYPE.Searchable = 1)'
UNION IF @FilterValue <> ''
SELECT 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.DomainID AS ItemID,
D.DomainName as TextSearch, D.DomainName as TextSearch,
''Domain'' as ColumnType, ''Domain'' as ColumnType,
@ -12324,19 +12334,68 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID
0 as AccountID 0 as AccountID
FROM @ItemsDomain AS I FROM @ItemsDomain AS I
INNER JOIN Domains AS D ON I.ItemID = D.DomainID 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 UNION
SELECT SELECT '
IF @OnlyFind = 1
SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
SET @sqlSpace = @sqlSpace + '
EA.ItemID AS ItemID, EA.ItemID AS ItemID,
EA.AccountName as TextSearch, EA.DisplayName as TextSearch,
''ExchangeAccount'' as ColumnType, ''ExchangeAccount'' as ColumnType,
''ExchangeAccountMailbox'' as FullType, ''ExchangeAccount'' as FullType,
SI2.PackageID as PackageID, SI2.PackageID as PackageID,
EA.AccountID as AccountID EA.AccountID as AccountID
FROM @ItemsService AS I2 FROM @ItemsService AS I2
INNER JOIN ServiceItems AS SI2 ON I2.ItemID = SI2.ItemID INNER JOIN ServiceItems AS SI2 ON I2.ItemID = SI2.ItemID
INNER JOIN ExchangeAccounts AS EA ON I2.ItemID = EA.ItemID INNER JOIN ExchangeAccounts AS EA ON I2.ItemID = EA.ItemID'
ORDER BY TextSearch'; 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' SET @sqlSpace = @sqlSpace + ' open @curValue'
@ -12400,9 +12459,6 @@ SET @sqlReturn = @sqlReturn + ' AND IA.ColumnType in ( ' + @ColType + ' ) ';
IF @FullType <> '' IF @FullType <> ''
SET @sqlReturn = @sqlReturn + ' AND IA.FullType = ''' + @FullType + ''''; SET @sqlReturn = @sqlReturn + ' AND IA.FullType = ''' + @FullType + '''';
IF @FilterValue <> ''
SET @sqlReturn = @sqlReturn + ' AND IA.' + @FilterColumn + ' LIKE @FilterValue '
SET @sqlReturn = @sqlReturn + ' SET @sqlReturn = @sqlReturn + '
SELECT COUNT(ItemID) FROM @ItemsReturn; SELECT COUNT(ItemID) FROM @ItemsReturn;
SELECT DISTINCT(ColumnType) FROM @ItemsReturn WHERE (1 = 1) '; SELECT DISTINCT(ColumnType) FROM @ItemsReturn WHERE (1 = 1) ';