Yuchen Pei
b736a23bc3
MDEV-41322 Convert KEY_NOT_FOUND to EOF in "unordered" partition index scans during index_next[_same]/index_prev calls
...
ha_partition::handle_unordered_scan_next_partition is called in a
variety of accesses, including index_read, index_prev, and index_next.
ha_partition::handle_unordered_next and
ha_partition::handle_unordered_prev are called from index_next and
index_prev accesses. They check for signs of end of
scan (m_part_spec.start_part == NO_CURRENT_PART_ID) and exit early if
that is the case. HA_ERR_END_OF_FILE (EOF) is commonly paired with
assigning NO_CURRENT_PART_ID to m_part_spec.start_part whenever
possible, to signal the end of scan.
The error HA_ERR_KEY_NOT_FOUND means the requested key is not found.
It should not mean the end of scan, when for example
ha_partition::handle_unordered_scan_next_partition is called from
index_read, because a subsequent index_next[_same] / index_prev call
would then incorrectly return immediately from
ha_partition::handle_unordered_next /
ha_partition::handle_unordered_prev. This is why HA_ERR_KEY_NOT_FOUND
is retained and returned in
ha_partition::handle_unordered_scan_next_partition.
But if the call is from index_next[_same] / index_prev,
HA_ERR_KEY_NOT_FOUND should indeed mean end of scan. In this patch, we
ensure this is the case by converting HA_ERR_KEY_NOT_FOUND to EOF in
ha_partition::handle_unordered_next /
ha_partition::handle_unordered_prev.
2026-10-06 16:02:03 +11:00
..
2026-05-28 10:21:35 +02:00
2026-06-15 16:53:03 +02:00
2025-10-25 00:19:11 +07:00
2025-06-13 08:52:54 +10:00
2026-06-17 16:46:39 +02:00
2026-08-20 08:27:14 +02:00
2024-05-27 12:39:02 +02:00
2024-05-27 12:39:02 +02:00
2026-05-15 13:30:21 +10:00
2026-07-30 11:41:55 +02:00
2026-02-06 17:46:52 +01:00
2024-11-05 14:00:47 -08:00
2025-07-28 21:29:29 +02:00
2024-11-05 14:00:48 -08:00
2026-07-30 11:41:55 +02:00
2025-04-28 12:59:39 +03:00
2025-09-29 18:25:09 +03:00
2024-11-05 14:00:47 -08:00
2025-03-14 12:08:56 +04:00
2025-04-29 16:53:01 +02:00
2025-03-14 12:08:56 +04:00
2025-03-14 12:08:56 +04:00
2025-06-18 16:46:21 +10:00
2024-12-02 11:35:34 +02:00
2026-02-07 22:12:32 +01:00
2024-06-20 11:32:13 -04:00
2026-07-24 17:06:40 +02:00
2024-12-02 17:51:17 +02:00
2026-01-31 14:08:54 +01:00
2026-01-31 14:08:54 +01:00
2024-10-30 15:11:17 +01:00
2025-08-01 18:03:20 +02:00
2026-01-31 14:08:54 +01:00
2026-07-30 11:41:55 +02:00
2026-08-20 08:27:14 +02:00
2024-11-05 14:00:48 -08:00
2024-12-02 11:35:34 +02:00
2026-05-26 21:15:58 +02:00
2026-07-29 12:27:46 +02:00
2026-03-24 09:49:17 +02:00
2026-03-24 09:49:17 +02:00
2025-04-22 16:26:36 -04:00
2025-04-29 16:53:02 +02:00
2024-10-15 15:36:12 +11:00
2025-04-22 16:26:36 -04:00
2024-11-08 07:17:00 +01:00
2026-10-06 16:02:03 +11:00
2026-10-06 16:02:03 +11:00
2026-06-15 16:53:03 +02:00
2026-05-26 21:15:58 +02:00
2025-10-08 09:05:38 +02:00
2026-08-20 08:27:14 +02:00
2026-05-26 21:15:58 +02:00
2024-11-05 14:00:47 -08:00
2026-07-29 12:27:46 +02:00
2024-11-29 13:43:17 +02:00
2026-07-02 11:08:22 +10:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2025-08-01 18:03:20 +02:00
2025-08-01 18:03:20 +02:00
2026-03-13 16:17:11 +01:00
2024-12-05 10:11:58 +01:00
2026-08-20 08:27:14 +02:00
2026-07-30 11:41:55 +02:00
2026-08-20 08:27:14 +02:00
2026-02-03 14:53:15 +01:00
2026-10-03 13:34:44 +10:00
2026-05-26 21:15:58 +02:00
2026-02-03 14:53:15 +01:00
2025-10-15 11:32:39 +04:00
2026-02-03 14:53:15 +01:00
2026-02-03 14:53:15 +01:00
2026-08-20 08:27:14 +02:00
2026-07-30 11:41:55 +02:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-07-30 11:41:55 +02:00
2026-02-04 17:35:21 +01:00
2026-06-29 07:40:04 +03:00
2026-03-13 16:17:11 +01:00
2026-08-20 08:27:14 +02:00
2026-03-24 09:49:17 +02:00
2024-10-08 11:58:46 +02:00
2026-01-31 14:08:54 +01:00
2026-04-01 15:03:59 +03:00
2026-07-30 11:41:55 +02:00
2026-07-30 11:41:55 +02:00
2026-05-15 13:46:27 +04:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-07-30 11:41:55 +02:00
2025-09-16 10:10:08 +05:30
2026-07-15 18:22:18 +10:00
2026-01-08 12:02:45 +01:00
2026-07-30 11:41:55 +02:00
2025-11-06 07:29:30 +01:00
2026-02-05 11:55:12 +11:00
2024-11-23 08:14:22 -07:00
2024-07-08 22:40:16 +02:00
2025-03-14 12:08:56 +04:00
2025-03-14 12:08:56 +04:00
2025-05-05 12:02:47 +07:00
2024-07-16 09:09:38 +04:00
2026-05-26 21:15:58 +02:00
2025-04-27 19:40:00 +02:00
2024-11-05 14:00:47 -08:00
2026-08-20 08:27:14 +02:00
2025-04-28 12:59:39 +03:00
2024-10-17 07:53:59 -06:00
2026-01-23 03:21:03 +01:00
2026-08-20 08:27:14 +02:00
2026-09-01 18:29:32 +03:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-09-02 23:00:14 +02:00
2026-05-26 21:15:58 +02:00
2025-03-14 12:08:56 +04:00
2026-08-20 08:27:14 +02:00
2026-04-02 09:15:17 +03:00
2025-08-04 20:24:01 +02:00
2024-10-03 15:59:20 +10:00
2025-03-14 12:08:56 +04:00
2026-06-24 12:27:13 +02:00
2025-03-14 12:08:56 +04:00
2025-03-14 12:08:56 +04:00
2026-05-26 21:15:58 +02:00
2026-07-07 15:56:47 +02:00
2026-04-17 10:05:59 +10:00
2026-05-26 21:15:58 +02:00
2025-04-15 18:58:32 +02:00
2026-05-08 08:00:01 +02:00
2026-08-19 08:15:36 +02:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-07-29 12:27:46 +02:00
2026-01-23 03:21:03 +01:00
2025-10-16 09:31:56 +12:00
2025-10-16 09:31:56 +12:00
2026-04-30 01:05:25 +07:00
2026-04-30 01:05:25 +07:00
2026-02-06 17:46:51 +01:00
2025-10-27 10:29:22 -04:00
2025-11-24 17:45:51 +05:30
2025-09-16 10:10:08 +05:30
2025-10-10 20:32:56 +07:00
2026-08-20 08:27:14 +02:00
2026-02-03 14:53:15 +01:00
2024-11-05 14:00:47 -08:00
2026-07-29 12:27:46 +02:00
2025-03-14 12:08:56 +04:00
2026-07-03 15:08:53 +03:00
2026-07-30 11:41:55 +02:00
2025-10-08 09:05:38 +02:00
2025-09-15 16:17:33 +02:00
2026-08-20 08:27:14 +02:00
2025-03-14 12:08:56 +04:00
2025-06-28 07:35:07 -04:00
2025-06-28 07:35:07 -04:00
2026-08-20 08:27:14 +02:00
2026-07-28 13:14:38 +02:00
2026-05-06 11:35:09 +10:00
2025-07-22 10:44:12 +10:00
2025-03-14 12:08:56 +04:00
2025-03-14 12:08:56 +04:00
2026-07-30 11:41:55 +02:00
2026-07-22 14:36:17 +02:00
2026-02-06 17:46:52 +01:00
2026-02-07 22:12:32 +01:00
2026-07-30 11:41:55 +02:00
2026-05-08 08:00:01 +02:00
2026-08-20 08:27:14 +02:00
2024-11-05 14:00:47 -08:00
2026-01-31 14:08:54 +01:00
2026-05-26 21:15:58 +02:00
2025-04-27 19:40:00 +02:00
2026-06-21 15:32:20 +02:00
2026-01-25 19:10:53 +01:00
2024-11-05 14:00:47 -08:00
2025-10-25 00:19:11 +07:00
2025-10-10 20:32:56 +07:00
2026-02-03 14:53:15 +01:00
2025-09-15 18:57:04 -06:00
2025-09-29 18:25:09 +03:00
2024-07-22 15:14:50 +02:00
2026-05-26 21:15:58 +02:00
2026-05-26 21:15:58 +02:00
2026-07-28 13:29:55 -06:00
2025-10-08 09:05:38 +02:00
2025-04-11 13:42:12 +02:00
2026-07-28 13:29:55 -06:00
2026-05-26 21:15:58 +02:00
2026-06-15 16:53:03 +02:00
2026-07-30 11:41:55 +02:00
2025-07-07 14:03:49 -06:00
2026-07-30 11:41:55 +02:00
2026-01-27 12:59:30 -07:00
2026-07-28 13:29:55 -06:00
2026-06-15 16:53:03 +02:00
2026-02-07 22:06:40 +01:00
2026-01-27 12:59:23 -07:00
2026-01-27 12:59:23 -07:00
2026-04-27 18:26:17 -06:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2025-05-05 12:02:43 +07:00
2024-11-05 14:00:47 -08:00
2025-03-14 12:08:56 +04:00
2025-04-19 10:59:58 +04:00
2025-03-14 12:08:56 +04:00
2026-06-15 16:53:03 +02:00
2026-06-15 16:53:03 +02:00
2025-04-23 17:20:47 -06:00
2025-04-23 17:20:47 -06:00
2025-03-14 12:08:56 +04:00
2026-04-02 09:15:17 +03:00
2026-05-26 21:15:58 +02:00
2026-05-26 21:15:58 +02:00
2026-09-29 18:43:04 +02:00
2026-08-20 08:27:14 +02:00
2026-07-29 13:05:09 +02:00
2025-10-15 11:32:39 +04:00
2025-10-15 11:32:39 +04:00
2026-08-20 08:27:14 +02:00
2026-04-27 18:26:17 -06:00
2025-03-14 12:08:56 +04:00
2026-02-06 17:46:50 +01:00
2025-11-04 12:39:27 +01:00
2026-08-14 19:07:15 +04:00
2026-08-14 19:07:15 +04:00
2026-08-20 08:27:14 +02:00
2026-07-30 11:41:55 +02:00
2026-05-26 21:15:58 +02:00
2026-07-30 11:41:55 +02:00
2026-07-30 11:41:55 +02:00
2026-07-30 11:41:55 +02:00
2025-08-01 18:03:20 +02:00
2026-08-17 21:38:26 +04:00
2026-08-17 21:38:26 +04:00
2025-08-01 18:03:20 +02:00
2026-07-30 11:41:55 +02:00
2026-02-06 17:46:51 +01:00
2026-08-20 08:27:14 +02:00
2026-07-19 16:35:20 +10:00
2025-09-04 18:08:39 +03:00
2026-08-20 08:27:14 +02:00
2025-05-03 12:06:36 +02:00
2026-05-26 21:15:58 +02:00
2024-06-24 13:09:47 +03:00
2026-07-30 11:41:55 +02:00
2026-07-30 11:41:55 +02:00
2026-06-15 15:15:10 +02:00
2026-06-15 15:15:10 +02:00
2024-11-05 14:00:47 -08:00
2025-02-10 22:06:49 +02:00
2025-03-14 12:08:56 +04:00
2026-01-08 21:41:40 +01:00
2026-08-20 08:27:14 +02:00
2026-05-26 21:15:58 +02:00
2025-10-08 09:05:38 +02:00
2026-01-27 12:59:23 -07:00
2025-10-08 09:05:38 +02:00
2024-11-05 14:00:50 -08:00
2026-04-02 09:15:17 +03:00
2025-03-14 12:08:56 +04:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-01-31 14:08:54 +01:00
2026-01-05 20:34:44 +01:00
2026-07-30 11:41:55 +02:00
2025-05-03 12:06:36 +02:00
2026-03-24 09:49:17 +02:00
2024-11-05 14:00:47 -08:00
2024-11-05 14:00:47 -08:00
2026-06-29 07:40:04 +03:00
2026-01-08 12:02:45 +01:00
2026-07-30 11:41:55 +02:00
2026-07-30 11:41:55 +02:00
2026-07-30 11:41:55 +02:00
2026-02-06 17:46:51 +01:00
2026-03-17 18:57:42 +01:00
2026-02-07 22:12:32 +01:00
2026-02-02 08:07:28 +13:00
2026-08-20 08:27:14 +02:00
2025-04-19 10:59:58 +04:00
2026-02-06 17:46:51 +01:00
2026-02-06 17:46:51 +01:00
2026-04-02 09:15:17 +03:00
2025-10-08 09:05:38 +02:00
2025-09-29 18:25:09 +03:00
2024-06-20 11:32:13 -04:00
2024-06-27 10:26:09 +03:00
2025-08-04 12:05:53 +02:00
2024-11-05 14:00:47 -08:00
2025-05-05 12:02:48 +07:00
2024-12-02 17:51:17 +02:00
2025-01-31 20:56:41 -07:00
2026-07-30 11:41:55 +02:00
2025-09-19 12:31:14 +03:00
2025-10-08 09:05:38 +02:00
2025-10-08 09:05:38 +02:00
2025-11-24 17:45:51 +05:30
2026-07-30 11:41:55 +02:00
2026-07-30 11:41:55 +02:00
2026-06-24 12:27:13 +02:00
2025-03-14 12:08:56 +04:00
2024-11-05 14:00:47 -08:00
2025-10-08 09:05:38 +02:00
2026-05-26 21:15:58 +02:00
2026-04-09 17:25:40 +05:30
2026-04-09 17:25:40 +05:30
2025-02-12 10:17:44 +01:00
2025-03-14 12:08:56 +04:00
2025-08-04 12:05:53 +02:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-07-30 11:41:55 +02:00
2024-07-03 12:45:30 +02:00
2026-07-30 11:41:55 +02:00
2024-11-05 14:00:47 -08:00
2026-08-12 13:25:01 +04:00
2026-04-17 09:31:38 +10:00
2025-07-29 13:15:02 +10:00
2025-08-04 14:58:18 +02:00
2026-08-20 08:27:14 +02:00
2025-01-09 09:41:38 +02:00
2026-07-30 11:41:55 +02:00
2026-02-09 15:28:24 +04:00
2026-04-16 09:26:39 +10:00
2026-03-11 08:05:08 +02:00
2025-03-14 12:08:56 +04:00
2024-12-02 17:51:17 +02:00
2026-08-20 08:27:14 +02:00
2026-07-30 11:41:55 +02:00
2026-08-20 08:27:14 +02:00
2026-01-23 03:21:03 +01:00
2024-07-10 12:17:09 +04:00
2026-08-20 08:27:14 +02:00
2026-06-15 16:53:03 +02:00
2026-05-26 21:15:58 +02:00
2025-10-08 09:05:38 +02:00
2026-08-20 08:27:14 +02:00
2024-10-15 10:50:22 +11:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2024-06-20 11:32:13 -04:00
2025-10-08 09:05:38 +02:00
2026-07-30 11:41:55 +02:00
2026-03-24 09:49:17 +02:00
2025-08-01 18:03:20 +02:00
2025-10-08 09:05:38 +02:00
2026-08-11 15:21:44 +02:00
2026-07-30 11:41:55 +02:00
2026-08-19 08:40:05 +02:00
2026-03-17 18:57:42 +01:00
2025-10-08 09:05:38 +02:00
2026-07-28 13:14:38 +02:00
2026-07-30 11:41:55 +02:00
2026-02-07 22:12:32 +01:00
2025-04-29 11:18:00 +10:00
2024-06-20 11:32:13 -04:00
2026-05-26 21:15:58 +02:00
2026-02-09 15:28:24 +04:00
2026-05-06 11:35:09 +10:00
2025-08-01 18:03:20 +02:00
2026-05-06 11:35:09 +10:00
2026-05-08 08:11:03 +02:00
2026-05-06 11:35:09 +10:00
2025-04-19 10:59:58 +04:00
2025-03-14 12:08:56 +04:00
2025-04-19 10:59:58 +04:00
2026-08-17 21:38:26 +04:00
2025-08-01 18:03:20 +02:00
2025-08-01 18:03:20 +02:00
2025-08-01 18:03:20 +02:00
2026-07-30 11:41:55 +02:00
2026-02-09 20:55:41 +01:00
2026-08-20 08:27:14 +02:00
2026-07-30 11:41:55 +02:00
2025-03-14 12:08:56 +04:00
2024-12-02 17:51:17 +02:00
2026-08-20 08:27:14 +02:00
2026-07-30 11:41:55 +02:00
2025-04-14 12:56:39 -04:00
2026-07-30 11:41:55 +02:00
2026-06-15 16:53:03 +02:00
2025-03-14 12:08:56 +04:00
2026-08-20 08:27:14 +02:00
2025-04-19 10:59:58 +04:00
2026-03-13 16:17:11 +01:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2024-06-20 11:32:13 -04:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-06-18 16:14:40 +07:00
2026-08-20 08:27:14 +02:00
2026-07-30 11:41:55 +02:00
2026-01-24 17:20:56 +02:00
2025-02-12 10:17:44 +01:00
2026-08-20 08:27:14 +02:00
2026-03-24 09:49:17 +02:00
2024-06-20 11:32:13 -04:00
2024-07-09 13:20:49 +02:00
2025-09-04 18:08:39 +03:00
2025-03-14 12:08:56 +04:00
2024-06-24 13:09:47 +03:00
2026-01-23 03:23:20 +01:00
2025-08-04 14:58:10 +02:00
2025-09-30 17:37:12 +03:00
2025-10-08 09:05:38 +02:00
2025-03-14 12:08:56 +04:00
2026-04-16 19:00:12 +10:00
2024-12-02 17:51:17 +02:00
2024-12-02 11:35:34 +02:00
2026-08-20 08:27:14 +02:00
2025-09-15 18:57:04 -06:00
2026-08-20 08:27:14 +02:00
2025-01-21 12:18:56 +01:00
2025-03-14 12:08:56 +04:00
2025-03-14 12:08:56 +04:00
2025-09-10 15:03:59 +03:00
2026-06-15 16:53:03 +02:00
2025-08-04 14:58:10 +02:00
2025-11-28 12:56:27 +02:00
2025-11-25 13:01:26 +02:00
2024-06-10 23:29:05 +02:00
2026-01-08 12:02:45 +01:00
2026-07-30 11:41:55 +02:00
2024-06-20 11:32:13 -04:00
2025-08-04 14:58:18 +02:00
2026-06-24 12:27:13 +02:00
2024-06-20 11:32:13 -04:00
2024-06-27 10:26:09 +03:00
2026-08-20 08:27:14 +02:00
2026-05-26 21:15:58 +02:00
2026-06-21 15:32:20 +02:00
2026-08-19 08:40:05 +02:00
2026-06-15 16:53:03 +02:00
2026-04-02 09:15:17 +03:00
2025-12-15 14:47:15 +02:00
2024-09-01 02:48:19 +02:00
2024-10-03 13:24:43 +03:00
2024-09-09 13:50:38 +03:00
2026-08-20 08:27:14 +02:00
2025-03-14 12:08:56 +04:00
2026-01-08 12:02:45 +01:00
2024-06-20 11:32:13 -04:00
2026-02-07 22:12:32 +01:00
2026-01-20 10:23:44 +02:00
2025-07-14 08:21:50 +02:00
2026-07-29 12:27:46 +02:00
2026-07-29 12:27:46 +02:00
2026-08-20 08:27:14 +02:00
2026-04-01 10:49:05 +03:00
2025-10-08 14:15:04 +03:00
2026-04-21 13:00:39 +03:00
2025-07-31 20:55:47 +02:00
2024-10-16 13:23:47 +02:00