comparison MySQL/Plugins/DeleteResources.sql @ 455:d0dd95ff0662 improve-delete

move temp table creation out of the procedure
author Alain Mazy <am@osimis.io>
date Mon, 22 Jan 2024 12:27:42 +0100
parents 95c413106a66
children
comparison
equal deleted inserted replaced
454:f4244c7e2725 455:d0dd95ff0662
8 DECLARE done INT DEFAULT FALSE@ 8 DECLARE done INT DEFAULT FALSE@
9 DECLARE cur1 CURSOR FOR 9 DECLARE cur1 CURSOR FOR
10 SELECT internalId FROM DeletedResources@ 10 SELECT internalId FROM DeletedResources@
11 DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = TRUE@ 11 DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = TRUE@
12 set done=FALSE@ 12 set done=FALSE@
13 -- Create a CTE to hold the temporary data ???
14 -- WITH DeletedResources AS (
15 -- SELECT internalId, resourceType, publicId
16 -- FROM Resources
17 -- )
18
19 CREATE TEMPORARY TABLE DeletedResources SELECT * FROM (
20 SELECT internalId, resourceType, publicId FROM Resources WHERE internalId=p_id OR parentId=p_id
21 OR parentId IN (SELECT internalId FROM Resources WHERE parentId=p_id)
22 OR parentId IN (SELECT internalId FROM Resources WHERE parentId IN (SELECT internalId FROM Resources WHERE parentId=p_id))) AS t@
23 13
24 OPEN cur1@ 14 OPEN cur1@
25 REPEAT 15 REPEAT
26 FETCH cur1 INTO v_internalId@ 16 FETCH cur1 INTO v_internalId@
27 IF NOT done THEN 17 IF NOT done THEN