Commit c8937dbc authored by ram@gw.mysql.r18.ru's avatar ram@gw.mysql.r18.ru

A fix. (Bug #3376: AVG(constant) returns constant if no rows in result set)

parent 8219d4ef
......@@ -256,3 +256,8 @@ bit_and(col) bit_or(col)
18446744073709551614 18446744073709551614
18446744073709551615 18446744073709551615
drop table t1;
create table t1 (a int);
select avg(2) from t1;
avg(2)
NULL
drop table t1;
......@@ -155,3 +155,11 @@ insert into t1 values (-1), (-2), (-3);
select bit_and(col), bit_or(col) from t1;
select SQL_BIG_RESULT bit_and(col), bit_or(col) from t1 group by col;
drop table t1;
#
# Bug #3376: avg() and an empty table
#
create table t1 (a int);
select avg(2) from t1;
drop table t1;
......@@ -249,6 +249,7 @@ class Item_sum_avg :public Item_sum_num
void update_field();
Item *result_item(Field *field)
{ return new Item_avg_field(this); }
void no_rows_in_result() {}
const char *func_name() const { return "avg"; }
unsigned int size_of() { return sizeof(*this);}
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment