summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <ram@gw.mysql.r18.ru>2004-04-09 19:08:13 +0500
committerunknown <ram@gw.mysql.r18.ru>2004-04-09 19:08:13 +0500
commit1d4c31ed2155219c9da449528e76e2565118092f (patch)
tree103c9859bd6de13b6f064fa27169b3ee72b3f230
parent668690d327b98834aa85d90b5863d256d436109c (diff)
parent986e9cc121052caa2a09ddb7ecff386d93816a58 (diff)
downloadmariadb-git-1d4c31ed2155219c9da449528e76e2565118092f.tar.gz
Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.0
into gw.mysql.r18.ru:/usr/home/ram/work/4.0.b3376
-rw-r--r--mysql-test/r/func_group.result5
-rw-r--r--mysql-test/t/func_group.test8
-rw-r--r--sql/item_sum.h1
3 files changed, 14 insertions, 0 deletions
diff --git a/mysql-test/r/func_group.result b/mysql-test/r/func_group.result
index 99c42bb83cf..ef29d0f2f5b 100644
--- a/mysql-test/r/func_group.result
+++ b/mysql-test/r/func_group.result
@@ -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;
diff --git a/mysql-test/t/func_group.test b/mysql-test/t/func_group.test
index d03e4b9b629..c03c39bec4a 100644
--- a/mysql-test/t/func_group.test
+++ b/mysql-test/t/func_group.test
@@ -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;
diff --git a/sql/item_sum.h b/sql/item_sum.h
index d3a328be032..6835b1e8fae 100644
--- a/sql/item_sum.h
+++ b/sql/item_sum.h
@@ -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);}
};