mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
A fix. (Bug #3376: AVG(constant) returns constant if no rows in result set)
This commit is contained in:
@@ -256,3 +256,8 @@ bit_and(col) bit_or(col)
|
|||||||
18446744073709551614 18446744073709551614
|
18446744073709551614 18446744073709551614
|
||||||
18446744073709551615 18446744073709551615
|
18446744073709551615 18446744073709551615
|
||||||
drop table t1;
|
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 bit_and(col), bit_or(col) from t1;
|
||||||
select SQL_BIG_RESULT bit_and(col), bit_or(col) from t1 group by col;
|
select SQL_BIG_RESULT bit_and(col), bit_or(col) from t1 group by col;
|
||||||
drop table t1;
|
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();
|
void update_field();
|
||||||
Item *result_item(Field *field)
|
Item *result_item(Field *field)
|
||||||
{ return new Item_avg_field(this); }
|
{ return new Item_avg_field(this); }
|
||||||
|
void no_rows_in_result() {}
|
||||||
const char *func_name() const { return "avg"; }
|
const char *func_name() const { return "avg"; }
|
||||||
unsigned int size_of() { return sizeof(*this);}
|
unsigned int size_of() { return sizeof(*this);}
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user