Bug #3448 Stored Procedures with inner joins possible bug
Submitted: 12 Apr 2004 16:44 Modified: 28 May 2004 19:51
Reporter: atif malik
Status: Closed
Category:Server: InnoDB Severity:S2 (Serious)
Version:5.0.0-alpha/5.0.1 OS:Linux (linux/Win XP)
Assigned to: Bugs System Target Version:

[12 Apr 2004 16: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 4:00] Miguel Solorzano
Thank you for the bug report I was able to repeat.
[28 May 2004 19: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