1SET @session_max_recursion_depth = @@SESSION.max_sp_recursion_depth; 2'#--------------------FN_DYNVARS_099_01-------------------------#' 3CONNECT test_con1,localhost,root,,; 4connection test_con1; 5SET @@session.max_sp_recursion_depth = 10; 6SELECT @@session.max_sp_recursion_depth; 7@@session.max_sp_recursion_depth 810 9DROP PROCEDURE IF EXISTS sp_addRecords; 10CREATE PROCEDURE sp_addRecords (IN var1 INT,IN var2 INT) 11BEGIN 12SELECT var1,var2; 13IF var1 < var2 THEN 14CALL sp_addRecords(var1+1,var2); 15SELECT var1,var2; 16END IF; 17END // 18CALL sp_addRecords(0,8); 19var1 var2 200 8 21var1 var2 221 8 23var1 var2 242 8 25var1 var2 263 8 27var1 var2 284 8 29var1 var2 305 8 31var1 var2 326 8 33var1 var2 347 8 35var1 var2 368 8 37var1 var2 387 8 39var1 var2 406 8 41var1 var2 425 8 43var1 var2 444 8 45var1 var2 463 8 47var1 var2 482 8 49var1 var2 501 8 51var1 var2 520 8 53'#--------------------FN_DYNVARS_099_02-------------------------#' 54CONNECT test_con2,localhost,root,,; 55connection test_con2; 56SET @@session.max_sp_recursion_depth = 4; 57SELECT @@session.max_sp_recursion_depth; 58@@session.max_sp_recursion_depth 594 60DROP PROCEDURE IF EXISTS sp_addRecords1; 61CREATE PROCEDURE sp_addRecords1 (IN var1 INT,IN var2 INT) 62BEGIN 63SELECT var1,var2; 64IF var1 < var2 THEN 65CALL sp_addRecords1(var1+1,var2); 66SELECT var1,var2; 67END IF; 68END // 69CALL sp_addRecords1(0,4); 70var1 var2 710 4 72var1 var2 731 4 74var1 var2 752 4 76var1 var2 773 4 78var1 var2 794 4 80var1 var2 813 4 82var1 var2 832 4 84var1 var2 851 4 86var1 var2 870 4 88'#---------------------FN_DYNVARS_99_03----------------------#' 89SET @@max_sp_recursion_depth = 10; 90DROP PROCEDURE IF EXISTS sp_addRecords2; 91CREATE PROCEDURE sp_addRecords2(IN var1 INT,IN var2 INT) 92BEGIN 93SELECT var1,var2; 94IF var1 < var2 THEN 95CALL sp_addRecords2(var1+1,var2); 96SELECT var1,var2; 97END IF; 98END // 99CALL sp_addRecords2(0,8); 100var1 var2 1010 8 102var1 var2 1031 8 104var1 var2 1052 8 106var1 var2 1073 8 108var1 var2 1094 8 110var1 var2 1115 8 112var1 var2 1136 8 114var1 var2 1157 8 116var1 var2 1178 8 118var1 var2 1197 8 120var1 var2 1216 8 122var1 var2 1235 8 124var1 var2 1254 8 126var1 var2 1273 8 128var1 var2 1292 8 130var1 var2 1311 8 132var1 var2 1330 8 134'#---------------------FN_DYNVARS_99_04----------------------#' 135SET @@max_sp_recursion_depth = 4; 136DROP PROCEDURE IF EXISTS sp_addRecords3; 137CREATE PROCEDURE sp_addRecords3 (IN var1 INT,IN var2 INT) 138BEGIN 139SELECT var1,var2; 140IF var1 < var2 THEN 141CALL sp_addRecords3(var1+1,var2); 142SELECT var1,var2; 143END IF; 144END // 145Expected error 'SP Recursion limit' 146CALL sp_addRecords3(0,8); 147var1 var2 1480 8 149var1 var2 1501 8 151var1 var2 1522 8 153var1 var2 1543 8 155var1 var2 1564 8 157ERROR HY000: Recursive limit 4 (as set by the max_sp_recursion_depth variable) was exceeded for routine sp_addRecords3 158connection default; 159disconnect test_con1; 160disconnect test_con2; 161DROP PROCEDURE IF EXISTS sp_addRecords; 162DROP PROCEDURE IF EXISTS sp_addRecords1; 163DROP PROCEDURE IF EXISTS sp_addRecords2; 164DROP PROCEDURE IF EXISTS sp_addRecords3; 165SET @@SESSION.max_sp_recursion_depth = @session_max_recursion_depth; 166