DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `util`.`procNoOverlap`(procName VARCHAR(255)) SQL SECURITY INVOKER proc: BEGIN /** * call procedure without overlap */ DECLARE vIsChanged BOOL; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN DO RELEASE_LOCK(procName); RESIGNAL; END; IF !GET_LOCK(procName, 0) THEN LEAVE proc; END IF; CALL exec(CONCAT('CALL ', procName)); DO RELEASE_LOCK(procName); END$$ DELIMITER ;