Alexander Barkov
e0f9540bcc
MDEV-20667 Server crash on pop_cursor
...
When backpatching a forward GOTO label, the old code erroneously
used CURSOR/HANDLER difference between context frames "c" and "a" to tune
a cpop/hpop command. So the cpop/hpop command later tried to pop
all cursors/handlers declared between "a" and "c", but those between
"b" and "c" were not cpushed/hpoped yet during the execution of "GOTO x".
Fixing the code to use the difference between frames "b" and "a" only.
BEGIN -- a
...
GOTO x; -- b
...
<<x>> -- c
...
END -- d
2019-12-12 16:25:16 +04:00
..
2018-05-06 16:10:49 +04:00
2018-02-27 15:26:51 +04:00
2018-04-27 22:11:18 +04:00
2019-06-18 07:48:08 +04:00
2017-10-14 17:28:54 +04:00
2018-08-07 11:55:51 +04:00
2017-04-05 15:02:57 +04:00
2017-04-05 15:02:48 +04:00
2018-10-18 14:13:00 +04:00
2017-09-23 00:55:28 +04:00
2017-05-18 11:43:24 +02:00
2017-05-20 16:29:11 +04:00
2018-04-03 14:00:19 +04:00
2017-08-11 14:47:36 +04:00
2018-03-13 10:34:28 +01:00
2018-05-14 11:36:22 +04:00
2018-03-29 14:27:57 +04:00
2018-05-18 15:48:25 +04:00
2019-04-18 08:34:08 +04:00
2019-06-18 07:48:08 +04:00
2017-04-05 15:02:57 +04:00
2019-06-18 07:48:08 +04:00
2018-11-13 09:54:21 +04:00
2017-11-22 11:42:31 +04:00
2018-02-27 15:26:51 +04:00
2018-02-27 15:26:51 +04:00
2017-04-20 08:30:23 +04:00
2017-10-27 20:48:16 +04:00
2017-04-05 15:02:55 +04:00
2018-02-27 15:26:51 +04:00
2018-11-13 18:03:14 +04:00
2017-05-25 15:15:39 +04:00
2018-11-14 14:23:43 +04:00
2018-11-09 09:56:02 +04:00
2018-04-20 23:15:27 +04:00
2019-12-12 16:25:16 +04:00
2019-12-12 16:25:16 +04:00
2018-02-27 15:26:51 +04:00
2018-02-27 15:26:51 +04:00
2018-02-27 15:26:51 +04:00
2018-02-27 15:26:51 +04:00
2018-02-27 15:26:51 +04:00
2018-02-27 15:26:51 +04:00
2018-02-27 15:26:51 +04:00
2018-02-27 15:26:51 +04:00
2019-09-03 13:17:32 +03:00
2019-09-03 13:17:32 +03:00
2019-09-03 13:17:32 +03:00
2017-04-05 15:02:49 +04:00
2017-10-30 16:42:46 +04:00
2017-04-05 15:02:56 +04:00
2017-12-07 15:54:27 +04:00
2017-04-05 15:02:59 +04:00
2019-09-03 13:17:32 +03:00
2018-04-20 23:15:27 +04:00
2019-05-08 09:45:24 -07:00
2017-04-05 15:02:54 +04:00
2017-04-05 15:02:54 +04:00
2019-08-06 18:02:03 +04:00
2017-04-05 15:02:54 +04:00
2017-04-05 15:02:54 +04:00
2017-04-05 15:02:52 +04:00
2017-08-14 11:12:17 +04:00
2018-05-18 15:48:25 +04:00
2018-05-18 06:51:21 +04:00