Для увеличения быстродействия при работе с деревом папок рекомендуется отключать подсветку непрочитанных карточек на всех папках системы, кроме личных папок пользователей.
Ниже приведен скрипт, отключающий подсветку непрочитанных карточек на всех папках, кроме личных папок пользователей.
Читать дальше
SET XACT_ABORT ON;
IF OBJECT_ID('dbo.FolderInfo') IS NULL
BEGIN
CREATE TABLE dbo.FolderInfo
(
FolderID uniqueidentifier PRIMARY KEY
,Flags int NULL
)
END
DECLARE @Folders TABLE (Id uniqueidentifier PRIMARY KEY)
-- Select folders from UserProfile card
INSERT @Folders(Id)
SELECT DISTINCT DefaultFolderID
FROM dbo.[dvtable_{C64843C3-484F-45E0-9B8A-900EA91BE54D}] WITH(NOLOCK)
WHERE DefaultFolderID IS NOT NULL;
BEGIN TRAN;
-- Backup old folder flags
WITH UserFoldersTree(FolderID, NestLevel)
AS
(
SELECT
Id
,1
FROM @Folders
UNION ALL
SELECT
RowID
,tPrev.NestLevel + 1
FROM dbo.[dvtable_{FE27631D-EEEA-4E2E-A04C-D4351282FB55}] tFld WITH(NOLOCK)
JOIN UserFoldersTree tPrev ON tPrev.FolderID = tFld.ParentTreeRowID
)
INSERT dbo.FolderInfo
(
FolderID
,Flags
)
SELECT
RowID
,Flags
FROM dbo.[dvtable_{FE27631D-EEEA-4E2E-A04C-D4351282FB55}] tFld WITH(NOLOCK)
LEFT JOIN UserFoldersTree tUserFld ON tUserFld.FolderID = tFld.RowID
WHERE tUserFld.FolderID IS NULL
-- Switch off Unread count
UPDATE tFld
SET Flags = ISNULL(tFld.Flags, 0) | 4 -- NO_UNREAD_COUNT flag
FROM dbo.[dvtable_{FE27631D-EEEA-4E2E-A04C-D4351282FB55}] tFld WITH(TABLOCK)
JOIN dbo.FolderInfo tInfo WITH(NOLOCK) ON tInfo.FolderID = tFld.RowID
IF @@ERROR <> 0
ROLLBACK TRAN;
COMMIT TRAN;
4 коммент.:
Сверхактуально, спасибо!
А у меня что-то не получается запустить, ругается на строку WITH UserFoldersTree(FolderID, NestLevel), пишет Incorrect syntax near the keyword 'WITH'
UserFoldersTree - это что за сущность? Поясните, пожалуйста.
Повторный запуск данной процедуры не проходит из-за ошибки неуникальности добавляемых данных. После создания таблицы dbo.FolderInfo нужно добавить DELETE FROM dbo.FolderInfo;
А обратно как вернуть подсветку? Какое значение Flags нужно выставить?
Отправить комментарий