view MySQL/Plugins/DeleteResources.sql @ 787:3d44e13cf9c5 pg-next-1099 tip

DeleteResource: remove warning when multiple clients are trying to delete the same resoure at the same time
author Alain Mazy <am@orthanc.team>
date Mon, 08 Dec 2025 10:36:59 +0100
parents d0dd95ff0662
children
line wrap: on
line source

DROP PROCEDURE IF EXISTS DeleteResources;

CREATE PROCEDURE DeleteResources(
    IN p_id BIGINT
)
BEGIN
    DECLARE v_internalId BIGINT@
    DECLARE done INT DEFAULT FALSE@
	DECLARE cur1 CURSOR FOR
		SELECT internalId FROM DeletedResources@
	DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = TRUE@
	set done=FALSE@	

	OPEN cur1@
	REPEAT
		FETCH cur1 INTO v_internalId@
		IF NOT done THEN
		DELETE FROM Resources WHERE internalId=v_internalId@
		END IF@
	UNTIL done END REPEAT@
	CLOSE cur1@

END;