diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result index cae54562be4..42abe181057 100644 --- a/mysql-test/r/view.result +++ b/mysql-test/r/view.result @@ -3629,6 +3629,14 @@ a 1 drop view v1, v2; drop table t1, t2; +CREATE TABLE t1 (a INT); +CREATE VIEW v1 AS SELECT p.a AS a FROM t1 p, t1 q; +INSERT INTO t1 VALUES (1), (1); +SELECT MAX(a), COUNT(DISTINCT a) FROM v1 GROUP BY a; +MAX(a) COUNT(DISTINCT a) +1 1 +DROP VIEW v1; +DROP TABLE t1; End of 5.0 tests. DROP DATABASE IF EXISTS `d-1`; CREATE DATABASE `d-1`; diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test index dffb6f89e73..f8847f8971c 100644 --- a/mysql-test/t/view.test +++ b/mysql-test/t/view.test @@ -3489,6 +3489,19 @@ execute stmt; drop view v1, v2; drop table t1, t2; +# +# Bug #33049: Assert while running test-as3ap test(mysql-bench suite) +# + +CREATE TABLE t1 (a INT); +CREATE VIEW v1 AS SELECT p.a AS a FROM t1 p, t1 q; + +INSERT INTO t1 VALUES (1), (1); +SELECT MAX(a), COUNT(DISTINCT a) FROM v1 GROUP BY a; + +DROP VIEW v1; +DROP TABLE t1; + --echo End of 5.0 tests. # @@ -3562,4 +3575,3 @@ DROP TABLE t1; --echo --echo End of 5.1 tests. - diff --git a/sql/item_sum.cc b/sql/item_sum.cc index 881f472d766..9e4b8bdafa9 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -601,6 +601,7 @@ Item_sum_hybrid::fix_fields(THD *thd, Item **ref) result_field=0; null_value=1; fix_length_and_dec(); + item= item->real_item(); if (item->type() == Item::FIELD_ITEM) hybrid_field_type= ((Item_field*) item)->field->type(); else