mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-15656 Assertion `is_last_prefix <= 0' failed in QUICK_GROUP_MIN_MAX_SELECT::get_next
When QUICK_GROUP_MIN_MAX_SELECT is initialized or being reset it stores the prefix of the last group of the index chosen for retrieving data (last_value). Later, when looping through records at get_next() method, the server checks whether the retrieved group is the last, and if so, it finishes processing. At the same time, it looks like there is no need for that additional check since method next_prefix() returns HA_ERR_KEY_NOT_FOUND or HA_ERR_END_OF_FILE when there are no more satisfying records. If we do not perform the check, we do not need to retrieve and store last_value either. This commit removes using of last_value from QUICK_GROUP_MIN_MAX_SELECT. Reviewer: Sergei Petrunia <sergey@mariadb.com>
This commit is contained in:
@ -1527,7 +1527,6 @@ private:
|
||||
uchar *group_prefix; /* Key prefix consisting of the GROUP fields. */
|
||||
const uint group_prefix_len; /* Length of the group prefix. */
|
||||
uint group_key_parts; /* A number of keyparts in the group prefix */
|
||||
uchar *last_prefix; /* Prefix of the last group for detecting EOF. */
|
||||
bool have_min; /* Specify whether we are computing */
|
||||
bool have_max; /* a MIN, a MAX, or both. */
|
||||
bool have_agg_distinct;/* aggregate_function(DISTINCT ...). */
|
||||
|
Reference in New Issue
Block a user