The Delete Diagram Template tool runs indefinitely and does not complete.
ArcGIS Pro
漏洞 ID 编号
BUG-000157867
已提交
April 27, 2023
上次修改时间
June 5, 2024
适用范围
ArcGIS Pro
找到的版本
2.9.6
操作系统
Windows OS
操作系统版本
10.0 64 Bit
修正版本
3.2.0.48495, 2.9.11
状态
Fixed
此漏洞已得到修复。 有关详细信息,请参阅“版本修复”和“其他信息”(如果适用)。
附加信息
This issue is addressed in version 3.2.0.48495 and version 2.9.11.
Side note after deleting a template with or without this fix
Since a diagram template is not versioned, there is no interest to keep any of its related versioned diagram rows (including its related features, aggregations and relations) after its deletion. After deleting a diagram template in production, all these rows should be deleted by the utility network owner/database admin to reduce the database foot print.
To do so, once the template deletions complete, the database admin can run the following sample SQL script
USE
GO
DECLARE @guid VARCHAR(100)
SET @guid = (SELECT TOP(1) [GLOBALID] FROM [].[UN__DIAGRAMS] WHERE [TEMPLATEGUID] NOT IN (SELECT [GLOBALID] FROM [].[UN__TEMPLATES]))
WHILE (@guid <> '')
BEGIN
DELETE [].[UN__RELATIONS] WHERE [DIAGRAMGUID] = @guid
DELETE [].[UN__AGGREGATIONS] WHERE [DIAGRAMGUID] = @guid
DELETE [].[UN__JUNCTIONS] WHERE [DIAGRAMGUID] = @guid
DELETE [].[UN__EDGES] WHERE [DIAGRAMGUID] = @guid
DELETE [].[UN__CONTAINERS] WHERE [DIAGRAMGUID] = @guid
DELETE [].[UN__DIAGRAMS] WHERE [GLOBALID] = @guid
SET @guid = (SELECT TOP(1) [GLOBALID] FROM [].[UN__DIAGRAMS] WHERE [TEMPLATEGUID] NOT IN (SELECT [GLOBALID] FROM [].[UN__TEMPLATES]))
END;
Specific use case
With this specific backup database, it appears that the single diagram template in the dataset is going to be deleted. In such a situation, once the template deletions complete and there is no template anymore in the dataset, and the database admin can run a TRUNCATE on the following 6 tables:
[].[UN__RELATIONS], [].[UN__AGGREGATIONS], [].[UN__JUNCTIONS], [].[UN__EDGES], [].[UN__CONTAINERS] and [].[UN__DIAGRAMS]
NOTE: This fix is provided as an example and could be probably optimized.