Bug #3448 Stored Procedures with inner joins possible bug
Submitted: 12 Apr 2004 14:44 Modified: 28 May 2004 17:51
Reporter: atif malik Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S2 (Serious)
Version:5.0.0-alpha/5.0.1 OS:Linux (linux/Win XP)
Assigned to: Bugs System CPU Architecture:Any

[12 Apr 2004 14:44] atif malik
Description:
A simple stored procedure which is doing an inner join between 2 tables returns the correct result set the 1st time but on the second call it returns a cross product of the two tables

How to repeat:
create table A (
a int PRIMARY KEY, 
aCh char(1) ) Type = InnoDb;

create table B (
b int  PRIMARY KEY , 
bCh char(1) ) Type = InnoDb;

insert into A values (1 , 'aCh1' ) , ('2' , 'aCh2');
insert into B values (1 , 'bCh1' ) ;

delimiter //

create procedure P()
begin 
   select * from A inner join B on A.a = B.b;
end //

call P() //   
mysql> returns correct inner join 

call P() //
mysql> returns a cross product
[29 Apr 2004 2:00] MySQL Verification Team
Thank you for the bug report I was able to repeat.
[28 May 2004 17:51] Per-Erik Martin
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.

If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html