mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
Fixed BUG#8937: Stored Procedure: AVG() works as SUM() in SELECT ... INTO statement
This commit is contained in:
parent
9c2fe003dc
commit
6a15e01393
3 changed files with 46 additions and 1 deletions
|
@ -2736,4 +2736,23 @@ call bug8849()|
|
|||
call bug8849()|
|
||||
drop procedure bug8849|
|
||||
drop tables t3,t4,t5|
|
||||
drop procedure if exists bug8937|
|
||||
create procedure bug8937()
|
||||
begin
|
||||
declare s,x,y,z int;
|
||||
declare a float;
|
||||
select sum(data),avg(data),min(data),max(data) into s,x,y,z from t1;
|
||||
select s,x,y,z;
|
||||
select avg(data) into a from t1;
|
||||
select a;
|
||||
end|
|
||||
delete from t1|
|
||||
insert into t1 (data) values (1), (2), (3), (4), (6)|
|
||||
call bug8937()|
|
||||
s x y z
|
||||
16 3 1 6
|
||||
a
|
||||
3.2000
|
||||
drop procedure bug8937|
|
||||
delete from t1|
|
||||
drop table t1,t2;
|
||||
|
|
|
@ -3330,8 +3330,32 @@ call bug8849()|
|
|||
drop procedure bug8849|
|
||||
drop tables t3,t4,t5|
|
||||
|
||||
#
|
||||
# BUG#8937: Stored Procedure: AVG() works as SUM() in SELECT ... INTO statement
|
||||
#
|
||||
--disable_warnings
|
||||
drop procedure if exists bug8937|
|
||||
--enable_warnings
|
||||
create procedure bug8937()
|
||||
begin
|
||||
declare s,x,y,z int;
|
||||
declare a float;
|
||||
|
||||
# Add bug above this line. Use existing tables t1 and t2 when
|
||||
select sum(data),avg(data),min(data),max(data) into s,x,y,z from t1;
|
||||
select s,x,y,z;
|
||||
select avg(data) into a from t1;
|
||||
select a;
|
||||
end|
|
||||
|
||||
delete from t1|
|
||||
insert into t1 (data) values (1), (2), (3), (4), (6)|
|
||||
call bug8937()|
|
||||
|
||||
drop procedure bug8937|
|
||||
delete from t1|
|
||||
|
||||
|
||||
# Add bugs above this line. Use existing tables t1 and t2 when
|
||||
# practical, or create table t3, t3 etc temporarily (and drop them).
|
||||
delimiter ;|
|
||||
drop table t1,t2;
|
||||
|
|
|
@ -356,6 +356,8 @@ public:
|
|||
void clear();
|
||||
bool add();
|
||||
double val_real();
|
||||
// In SPs we might force the "wrong" type with select into a declare variable
|
||||
longlong val_int() { return (longlong)val_real(); }
|
||||
my_decimal *val_decimal(my_decimal *);
|
||||
String *val_str(String *str);
|
||||
void reset_field();
|
||||
|
|
Loading…
Reference in a new issue