1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +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:
Igor Babaev
2016-04-01 12:00:54 -07:00
parent c9ff5cfbfd
commit 2e4bd4407e
7 changed files with 204 additions and 59 deletions

View File

@@ -1105,7 +1105,7 @@ int compare_field_values(Dep_value_field *a, Dep_value_field *b, void *unused)
uint b_ratio= b->field->table->tablenr*MAX_FIELDS +
b->field->field_index;
return (a_ratio < b_ratio)? -1 : ((a_ratio == b_ratio)? 0 : 1);
return (a_ratio < b_ratio)? 1 : ((a_ratio == b_ratio)? 0 : -1);
}