diff options
author | Olav Sandstaa <olav@sun.com> | 2010-07-08 15:19:05 +0200 |
---|---|---|
committer | Olav Sandstaa <olav@sun.com> | 2010-07-08 15:19:05 +0200 |
commit | 5d2f2cc1a92a49493a4990160ab813da290f1696 (patch) | |
tree | b8f34fe60e5b51c7f660a6a42368b3a51d2b6a77 /mysql-test/r/select.result | |
parent | 18bde950e33b2fa7e54500b2a7994d88b3cc4bf1 (diff) | |
download | mariadb-git-5d2f2cc1a92a49493a4990160ab813da290f1696.tar.gz |
Backporting of jorgen.loland@sun.com-20100618093212-lifp1psig3hbj6jj
from mysql-next-mr-opt-backporting.
Bug#54515: Crash in opt_range.cc::get_best_group_min_max on
SELECT from VIEW with GROUP BY
When handling the grouping items in get_best_group_min_max, the
items need to be of type Item_field. In this bug, an ASSERT
triggered because the item used for grouping was an
Item_direct_view_ref (i.e., the group column is from a view).
The fix is to get the real_item since Item_ref* pointing to
Item_field is ok.
mysql-test/r/select.result:
Add test for BUG#54515
mysql-test/t/select.test:
Add test for BUG#54515
sql/opt_range.cc:
Get the real_item() when processing grouping items in
get_best_group_min_max.
Diffstat (limited to 'mysql-test/r/select.result')
-rw-r--r-- | mysql-test/r/select.result | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result index e594e87694f..b518522e2bf 100644 --- a/mysql-test/r/select.result +++ b/mysql-test/r/select.result @@ -4857,3 +4857,22 @@ SELECT * FROM t1 WHERE 102 < c; a b c DROP TABLE t1; End of 5.1 tests +# +# Bug#54515: Crash in opt_range.cc::get_best_group_min_max on +# SELECT from VIEW with GROUP BY +# +CREATE TABLE t1 ( +col_int_key int DEFAULT NULL, +KEY int_key (col_int_key) +) ; +INSERT INTO t1 VALUES (1),(2); +CREATE VIEW view_t1 AS +SELECT t1.col_int_key AS col_int_key +FROM t1; +SELECT col_int_key FROM view_t1 GROUP BY col_int_key; +col_int_key +1 +2 +DROP VIEW view_t1; +DROP TABLE t1; +# End of test BUG#54515 |