Bug #16817 ODBC don't return multiple resultsets
Submitted: 26 Jan 2006 19:50 Modified: 4 Jul 2007 2:18
Reporter: Nuno Soares
Status: Closed
Category:Connector/ODBC Severity:S1 (Critical)
Version:3.51.12 OS:Microsoft Windows (Windows)
Assigned to: Georg Richter Target Version:

[26 Jan 2006 19:50] Nuno Soares
Description:
In C# calling a stored procedure that returns multiple resultsets only returns the first
resultset.

How to repeat:
Console.WriteLine(ds.Tables.Count) returns 1 when it should return 2.

EX:
----------------------- MYSQL CODE -----------------
DELIMITER $$

DROP PROCEDURE IF EXISTS `test`.`xpto` $$
CREATE PROCEDURE `xpto`(in _code int)
BEGIN
select 'bbb';
select 'aaa';
END $$

DELIMITER ;

------------------------ C# CODE -------------------
System.Data.Odbc.OdbcConnection con = new System.Data.Odbc.OdbcConnection(connstring);
System.Data.Odbc.OdbcCommand cmd = new System.Data.Odbc.OdbcCommand("call xpto(?)", con);
cmd.Parameters.Add("?", 1);
System.Data.Odbc.OdbcDataAdapter da = new System.Data.Odbc.OdbcDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
Console.WriteLine(ds.Tables.Count);
[26 Jan 2006 21:59] Jorge del Conde
I was able to reproduce this using 3.51.12
[14 Jun 2007 10:23] Georg Richter
Fix for SQLMoreResults

Attachment: bug_16817.patch (text/x-patch), 4.40 KiB.

[18 Jun 2007 19:46] Jim Winstead
The fix for this bug has been committed to the source repository, and will be included in
the 3.51.17 release.

Thanks for the report.
[4 Jul 2007 2:18] Paul DuBois
Noted in 3.51.17 changelog.

For a stored procedure that returns multiple result sets,
Connector/ODBC returned only the first result set.
[10 Jul 2007 4:20] David Boccabella
Can we get an idea of when ODBC 3.51.17 will be released.

As MySQL Stored Procedures cannot handle OUT and IN/OUT parameters the cabability of
having 2 returned recordset will be very handy.

For example the first recordset can contain the status and any errors that were
encountered during the stored procedure and the second recordset can hold the actual
data.

That way we can get around the above limitation.

Many thanks

Dave
[12 Jul 2007 2:58] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/30746