diff options
author | timour@mysql.com <> | 2005-11-30 12:52:12 +0200 |
---|---|---|
committer | timour@mysql.com <> | 2005-11-30 12:52:12 +0200 |
commit | 999a73ace546f94b97fca6ecbd3b2a71d675a9b8 (patch) | |
tree | 93c8fe49567155c829f0e7241c60faa6b980c051 /sql/sql_class.cc | |
parent | 519139b63a4003fd9a17d38a249d23ab00ea5a20 (diff) | |
download | mariadb-git-999a73ace546f94b97fca6ecbd3b2a71d675a9b8.tar.gz |
Fix for BUG#14920 Ordering aggregated result sets corrupts resultset.
The cause of the bug was the use of end_write_group instead of end_write
in the case when ORDER BY required a temporary table, which didn't take
into account the fact that loose index scan already computes the result
of MIN/MAX aggregate functions (and performs grouping).
The solution is to call end_write instead of end_write_group and to add
the MIN/MAX functions to the list of regular functions so that their
values are inserted into the temporary table.
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r-- | sql/sql_class.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc index c52addf3995..4b3d6486ef7 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -1802,6 +1802,7 @@ void TMP_TABLE_PARAM::init() group_parts= group_length= group_null_parts= 0; quick_group= 1; table_charset= 0; + precomputed_group_by= 0; } |