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: | |
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
[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.