Sunday 15 July 2012

mysql - Recursion limit exceeded in non-recusrive procedure -


I have a process that says second process, they do not call each other back or call themselves, but I am getting an answer to an error which shows that they are. Processes are as follows:

  build process permissions (perm VARCHAR (30), target VARCHAR (30), ID VARCHAR (8), host VARCHAR (45), passwd VARCHAR (45)) BEGIN SET @setPermissionCmd = CONCAT ('grant', perm, 'ON', target, '' '', id, '' '' ', host,' '' identified '', passwd, '' ''; '); Set display @setPermissionCmd from STMT; EXECUTE set display STMt; Set DEALLOCATE PERMissionStmt; Flush Pvt .; END  

and

  building process grant (ID VARCHAR (8), host VARCHAR (45), passwd VARCHAR (45) BEGIN call grant (' EXECUTE ',' User creation process', ID, host, password); Call grant ('executed', 'process grant admin', id, host, password); Call grant ('executed', 'canceling process' admin, id, host, password); Call Approval ('INSERT, UPDATE', 'TaskType', id, host, passwd); Call grant ('update', 'user', id, host, password); User SET isAdmin = 1 where url dbUser = update ID; Flush Pvt .; END  

When I call the second process, I get the following response:

  Maria DB [Petsby]> gt; Call grantAdmin ('patts', '%', 'patts'); Error 1456 (HY000): Recurring limit 0 (determined by maximum_sp_recursion_depth variable) exceeded for regular grantAdamman  

Why is it that my process is recurring? Just because the name is described in the definition?

Add to the beginning of this SP: SET max_sp_recursion_depth = 255;


No comments:

Post a Comment