Bug #50671 Visual Studio 2005 and DataDesigner Plugin for MySql

Submitted: 27 Jan 2010 18:03 Modified: 13 Aug 2010 14:18
Reporter: Berthold Simon Email Updates:
Status: Closed Impact on me:
None 
Category:Connector / NET Severity:S3 (Non-critical)
Version:6.1.3, 6.2.2 OS:Windows
Assigned to: Reggie Burnett CPU Architecture:Any

[27 Jan 2010 18:03] Berthold Simon
Description:
I'm working with VS2005 prof. SP1 and the MySQL Visual Studio Plugin installed via the installation process of the MySQL Connector/Net. Generally the plugin works fine when i add a dataset with a sql query to my project. But when i want to add a dataset with a stored procedure the dialog fails. I can choose the stored procedure and when i press the button continue (in german: weiter) the dialog closes. Is it a bug in the plugin?

Versions:
MySQL Server 5.1.41
MySQL Connector/Net 6.1.3
MySQL Tools 5.0
MySQL QueryBrowser 1.2.17
VS2005 prof. SP1
OS Windows Vista Home Premium

How to repeat:
Add a stored procedure via the MySQLQueryBrowser to the database
create a new project in VS2005
add a new dataset to the project
choose the database in the server explorer
choose a table
add a new dataset to the project
choose stored procedure
choose the defined stored procedure from the combobox
click continue
[2 Feb 2010 13:35] Tonci Grgin
Hi Berthold and thanks for your report.

We have seen such report many times in the past; Bug#47672, Bug#44534, Bug#31522 and so on...

This time I retested with all I have on both VS2005 and VS2008:
 o Works:
ALTER DEFINER=`root`@`%` PROCEDURE `bug43349`(IN param1 INT, IN param2 INT)
SELECT CURRENT_DATE AS cd, RAND(param1+param2) AS rnd, param1 AS parval, param2 AS parval0

ALTER DEFINER=`root`@`%` PROCEDURE `testBug46015`()
BEGIN SELECT SLEEP(50);
END

ALTER DEFINER=`root`@`%` PROCEDURE `pbug48007`(Param1 varchar(25), Param2 varchar(25))
BEGIN
SELECT Param1, Param2;
END

ALTER DEFINER=`root`@`%` PROCEDURE `ptestfwsel`(IN param1 INT)
BEGIN SELECT CURRENT_DATE AS cd, RAND(param1) AS rnd, param1 AS parval; end

ALTER DEFINER=`root`@`%` PROCEDURE `spbug46910_1`()
BEGIN
  SELECT 0 AS ret;
END

  o Does not work: An error occurred while retrieving column information
Object reference not set to an instance of an object. These crash the query wizard.
ALTER DEFINER=`root`@`%` PROCEDURE `fill_main3`(IN startval INT)
BEGIN
  set @x=startval;
  REPEAT
    INSERT INTO main3 VALUES(NULL, @x);
    SET @x=@x+1;
  UNTIL @x = 100
  END REPEAT;
END

ALTER DEFINER=`root`@`%` PROCEDURE `pbug50123`(IN pfldID INT, IN pfldValue VARCHAR(50))
BEGIN INSERT INTO bug50123(fldID, fldValue) VALUES(pfldID, pfldValue); END

ALTER DEFINER=`root`@`%` PROCEDURE `ptestfwins`()
BEGIN set @x=0; REPEAT INSERT INTO testfwins VALUES(@x);SET @x=@x+1; UNTIL @x = 100 END REPEAT; END

  o Does not work: An error occurred while retrieving column information
OUT or INOUT argument 1 for routine test.bug46429 is not a variable or NEW pseudo-variable in BEFORE trigger.
DELIMITER $$
DROP PROCEDURE IF EXISTS `bug46429` $$
CREATE DEFINER=`root`@`%` PROCEDURE `bug46429`(OUT pResult VARCHAR(500))
BEGIN
  select 'abc' into pResult;
END $$
DELIMITER ;

DELIMITER $$
DROP PROCEDURE IF EXISTS `bug43576_2` $$
CREATE DEFINER=`root`@`%` PROCEDURE `bug43576_2`(IN ccuent1 VARCHAR(100), IN ccuent2 VARCHAR(100),
OUT nfact VARCHAR(100),
OUT ffact VARCHAR(100),
OUT fdoc VARCHAR(100))
BEGIN
SET nfact = 'ncfact string';
SET ffact = 'ffact string';
SET fdoc = 'fdoc string';
END $$
DELIMITER ;

and so on...

I have tried varying connection parameters in new projects but to no avail.
Now, "is not a variable or NEW pseudo-variable in BEFORE trigger" obviously relates to OUT parameters while "Object reference not set to an instance of an object" relates to variables inside SP.

Reggie?
[2 Feb 2010 13:36] Tonci Grgin
Full list of SP's

Attachment: functioning.jpg (image/jpeg, text), 66.25 KiB.

[10 Mar 2010 8:53] Tonci Grgin
Bug#51882 is marked as duplicate of this report.
[11 Aug 2010 22:10] 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/115537

833 Reggie Burnett	2010-08-11
      - fixed stored procedure enumeration code that would barf if a proc was used in a dataset
        that did not actually return any resultsets (bug #50671)
[11 Aug 2010 22:17] Reggie Burnett
Fixed in 6.0.7, 6.1.5, 6.2.4, and 6.3.4+
[13 Aug 2010 14:18] Tony Bedford
An entry has been added to the 6.0.7, 6.1.5, 6.2.4, and 6.3.4 changelogs:

Stored procedure enumeration code generated an error if a procedure was used in a dataset that did not return any resultsets.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.058 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.