mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
The implementation of the template bubble_sort assumed
that the call-back comparison function returns a positive number when arg1 < arg2, and a negative number when arg1 > arg2. This is not in line with other implementation of sorting algorithm. Changed bubble_sort: now a negative result from the comparison function means that arg1 < arg2, and positive result means that arg1 > arg2. Changed accordingly all call-back functions that are used as parameters in the call of bubble_sort. Added a test case to check the proper sorting of window functions.
This commit is contained in:
@ -607,7 +607,7 @@ inline void bubble_sort(List<T> *list_to_sort,
|
||||
swap= FALSE;
|
||||
while ((item2= it++) && (ref2= it.ref()) != last_ref)
|
||||
{
|
||||
if (sort_func(item1, item2, arg) < 0)
|
||||
if (sort_func(item1, item2, arg) > 0)
|
||||
{
|
||||
*ref1= item2;
|
||||
*ref2= item1;
|
||||
|
Reference in New Issue
Block a user