Sergei Petrunia
86167e908f
MDEV-20611: MRR scan over partitioned InnoDB table produces "Out of memory" error
...
Fix partitioning and DS-MRR to work together
- In ha_partition::index_end(): take into account that ha_innobase (and
other engines using DS-MRR) will have inited=RND when initialized for
DS-MRR scan.
- In ha_partition::multi_range_read_next(): if the MRR scan is using
HA_MRR_NO_ASSOCIATION mode, it is not guaranteed that the partition's
handler will store anything into *range_info.
- In DsMrr_impl::choose_mrr_impl(): ha_partition will inquire partitions
about how much memory their MRR implementation needs by passing
*buffer_size=0. DS-MRR code didn't know about this (actually it used
uint for buffer size calculation and would have an under-flow).
Returning *buffer_size=0 made ha_partition assume that partitions do
not need MRR memory and pass the same buffer to each of them.
Now, this is fixed. If DS-MRR gets *buffer_size=0, it will return
the amount of buffer space needed, but not more than about
@@mrr_buffer_size.
* Fix ha_{innobase,maria,myisam}::clone. If ha_partition uses MRR on its
partitions, and partition use DS-MRR, the code will call handler->clone
with TABLE (*NOT partition*) name as an argument.
DS-MRR has no way of knowing the partition name, so the solution was
to have the ::clone() function for the affected storage engine to ignore
the name argument and get it elsewhere.
2019-11-15 23:37:28 +03:00
..
2017-02-10 06:30:42 -05:00
2019-09-01 19:17:35 +03:00
2017-01-23 14:13:53 +11:00
2018-02-07 17:25:46 +02:00
2018-06-14 13:13:23 +04:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2019-07-25 12:14:27 +03:00
2016-12-29 13:23:18 +01:00
2016-03-31 10:11:16 +04:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2015-11-27 02:06:58 +02:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2019-04-04 19:41:12 +03:00
2017-08-24 01:05:51 +02:00
2017-10-03 12:00:03 +04:00
2019-06-18 07:48:08 +04:00
2019-06-18 07:48:08 +04:00
2017-02-10 06:30:42 -05:00
2019-09-01 19:17:35 +03:00
2016-03-31 10:11:16 +04:00
2016-04-07 19:31:10 +03:00
2017-02-10 06:30:42 -05:00
2015-09-04 10:33:56 +02:00
2015-08-28 17:03:09 +04:00
2019-04-28 11:05:50 +04:00
2017-12-08 13:19:19 +04:00
2018-07-19 09:55:51 +04:00
2017-02-10 06:30:42 -05:00
2016-09-06 12:50:02 +04:00
2016-03-31 11:04:48 +04:00
2016-09-06 12:50:02 +04:00
2016-05-30 16:56:29 +04:00
2016-06-21 21:36:23 +04:00
2017-02-10 06:30:42 -05:00
2019-09-23 14:11:48 +05:30
2019-09-03 13:17:32 +03:00
2016-10-05 01:11:07 +03:00
2016-03-31 10:11:16 +04:00
2019-09-01 19:17:35 +03:00
2017-04-27 19:12:44 +02:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-03 13:17:32 +03:00
2019-09-03 13:17:32 +03:00
2017-04-06 15:41:54 +05:30
2017-10-14 17:28:54 +04:00
2015-09-07 17:43:53 +04:00
2016-09-02 13:22:28 +03:00
2015-09-04 10:33:56 +02:00
2017-12-03 15:21:53 +02:00
2019-07-15 10:17:07 +03:00
2017-02-10 06:30:42 -05:00
2016-09-22 07:00:10 +04:00
2017-02-10 06:30:42 -05:00
2016-02-22 12:58:02 -05:00
2017-08-11 12:27:55 +03:00
2016-05-01 19:10:13 +03:00
2019-02-12 09:38:13 +02:00
2016-02-22 12:58:02 -05:00
2016-02-22 12:58:02 -05:00
2019-02-12 09:38:13 +02:00
2018-04-23 12:00:49 +02:00
2016-02-22 13:00:27 -05:00
2017-03-05 15:18:26 +02:00
2017-03-05 15:18:26 +02:00
2017-03-05 15:18:26 +02:00
2017-03-05 15:18:26 +02:00
2017-03-05 15:18:26 +02:00
2017-03-14 11:52:00 +01:00
2019-09-01 19:17:35 +03:00
2018-10-16 13:02:50 +05:30
2018-10-16 13:02:50 +05:30
2018-11-20 01:50:59 +02:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2016-04-24 18:15:20 +02:00
2018-03-29 13:59:44 +03:00
2017-11-09 20:51:11 +01:00
2016-04-24 18:15:20 +02:00
2017-11-09 20:51:11 +01:00
2019-07-17 12:54:12 +02:00
2019-07-17 12:54:12 +02:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2019-09-01 19:17:35 +03:00
2016-09-02 13:22:28 +03:00
2016-09-02 13:22:28 +03:00
2016-09-10 16:04:44 +02:00
2016-09-02 13:22:28 +03:00
2016-09-02 13:22:28 +03:00
2017-04-26 23:03:28 +03:00
2018-02-24 00:50:55 +01:00
2017-11-30 08:16:37 +02:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2019-07-17 12:54:12 +02:00
2015-11-09 09:28:00 -05:00
2015-11-09 09:28:00 -05:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2016-09-20 09:51:22 +10:00
2019-03-01 12:41:05 -05:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2019-05-11 21:29:06 +03:00
2018-03-29 13:59:44 +03:00
2017-12-16 15:34:48 +00:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2017-06-29 18:31:42 +05:30
2017-06-29 23:03:30 +05:30
2019-07-17 12:54:12 +02:00
2017-02-10 06:30:42 -05:00
2019-10-11 18:38:18 +03:00
2019-10-11 12:29:12 +03:00
2019-10-11 12:29:12 +03:00
2019-10-11 12:29:12 +03:00
2019-10-11 12:29:12 +03:00
2017-09-16 21:15:38 +03:00
2017-09-16 21:15:38 +03:00
2018-12-17 07:05:27 +02:00
2018-11-21 09:05:47 +02:00
2017-06-06 09:34:09 +03:00
2017-06-06 09:34:09 +03:00
2017-06-06 10:59:54 +03:00
2017-06-02 01:46:25 +03:00
2018-03-07 17:49:42 +02:00
2018-03-07 17:49:42 +02:00
2017-08-28 09:49:30 +03:00
2017-08-28 09:49:30 +03:00
2017-01-26 13:58:58 +02:00
2017-02-10 06:30:42 -05:00
2019-03-25 07:43:07 +04:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2015-11-09 09:28:00 -05:00
2018-10-30 13:29:19 +02:00
2018-10-30 13:29:19 +02:00
2017-02-10 06:30:42 -05:00
2019-03-27 12:26:11 +02:00
2019-05-14 17:18:46 +03:00
2019-05-14 17:18:46 +03:00
2017-04-06 15:41:54 +05:30
2015-06-16 23:55:56 +02:00
2017-11-09 20:51:11 +01:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2017-11-09 20:51:11 +01:00
2018-03-29 13:59:44 +03:00
2018-03-29 13:59:44 +03:00
2019-11-15 23:37:28 +03:00
2017-02-10 06:30:42 -05:00
2015-09-22 14:01:54 +04:00
2017-02-10 06:30:42 -05:00
2015-11-09 09:28:00 -05:00
2015-09-04 10:33:56 +02:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-10-14 23:15:58 +02:00
2017-05-09 18:53:10 +02:00
2016-12-05 20:19:01 +02:00
2018-04-03 08:10:21 +03:00
2019-09-01 19:17:35 +03:00
2016-10-14 23:15:59 +02:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2018-03-29 13:59:44 +03:00
2015-06-30 14:30:38 +03:00
2016-03-31 10:11:16 +04:00
2017-01-11 09:18:35 +02:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2018-08-29 17:25:58 +03:00
2019-05-11 21:29:06 +03:00
2019-05-11 21:29:06 +03:00
2019-05-11 21:29:06 +03:00
2016-10-19 20:20:47 +02:00
2017-12-03 15:21:53 +02:00
2018-03-29 13:59:44 +03:00
2017-12-03 15:21:53 +02:00
2017-11-15 22:26:32 +02:00
2015-09-04 10:33:53 +02:00
2017-08-31 09:30:40 +03:00
2018-04-03 08:10:21 +03:00
2017-01-06 00:09:50 +02:00
2015-11-19 17:04:19 +01:00
2017-01-06 00:09:50 +02:00
2016-10-14 23:15:58 +02:00
2018-03-29 13:59:44 +03:00
2017-12-27 23:17:28 +01:00
2017-02-10 06:30:42 -05:00
2015-06-26 10:16:51 +04:00
2017-10-03 20:23:34 +02:00
2017-05-17 00:00:27 +03:00
2019-07-15 10:17:07 +03:00
2018-03-12 11:44:49 +01:00
2016-09-15 15:31:28 +02:00
2019-08-12 15:41:14 +03:00
2017-07-19 16:42:01 +05:30
2016-12-05 20:19:01 +02:00
2018-06-11 20:24:41 +03:00
2016-09-15 15:31:28 +02:00
2015-07-14 16:05:29 -04:00
2017-08-23 16:49:42 +05:30
2017-02-10 06:30:42 -05:00
2017-04-27 19:12:38 +02:00