-
Marko Mäkelä authored
MDEV-14222 Unnecessary 'cascade' memory allocation for every updated row when there is no FOREIGN KEY This reverts the MySQL 5.7.2 change https://github.com/mysql/mysql-server/commit/377774689bf6a16af74182753fe950d514c2c6dd which introduced these problems. MariaDB 10.2.2 inherited these problems in commit 2e814d47. The FOREIGN KEY CASCADE and SET NULL operations implemented as procedural recursion are consuming more than 8 kilobytes of stack (9 stack frames) per iteration in a non-debug GNU/Linux AMD64 build. This is why we need to limit the maximum recursion depth to 15 steps instead of the 255 that it used to be in MySQL 5.7 and MariaDB 10.2. A corresponding change was made in MySQL 5.7.21 in https://github.com/mysql/mysql-server/commit/7b26dc98a624d5cdf79cd5eee455cb03e3bccb5a
10590dd3