Bug #28025 query browser not returning values with a stored procedure called with OUT param
Submitted: 23 Apr 2007 13:55 Modified: 23 Apr 2007 16:46
Reporter: Girish Awate Email Updates:
Status: Unsupported Impact on me:
None 
Category:MySQL Query Browser Severity:S1 (Critical)
Version:1.2.11 OS:Windows (xp)
Assigned to: CPU Architecture:Any
Tags: query browser

[23 Apr 2007 13:55] Girish Awate
Description:
I have created a stored procedure having one input and two out parameter.

when i test the results in mysql dos utility it shows me all results correctly.
this donot work in QB.

Call sp(1, @a, @b);
SELECT @a, @b;

return either no records or NULL. in QB
 

regards

Girih.

How to repeat:
here is the code i wrote ..
this checks if record exist else create the record. also return created reference back in out parameters

CREATE DEFINER=`root`@`localhost` PROCEDURE `in_CreateUsrCn`(_LoginId smallint, OUT _UsrCnId varchar(25), OUT _RETVAL smallint)
BEGIN

  SET _UsrCnId = "", _RETVAL = 0;

  IF EXISTS (SELECT UCnLoginId FROM UsrCnns WHERE UCnLoginId = _LoginId) THEN
     SET _UsrCnId = "";
     SET _RETVAL = 1;
  END IF;

  IF _RETVAL = 0 THEN
     SET _UsrCnId = CONCAT(REPEAT("X", 5), CONVERT(_LoginId, char(25)));

INSERT INTO UsrCnns (UCnLoginId, UCnCode, UCnStatus, UCnYrId, UCnYrStatus, UCnCurYrId)
VALUES (_LoginId, _UsrCnId, "", 0, '', 0);
  END IF;
END

Call in_CreateUsrCn(1, @U, @R);
SELECT @U, @R;

return either no records or NULL. in QB
works fine in dos utility
[23 Apr 2007 16:46] MySQL Verification Team
Thank you for the bug report. This is an expected behavior because by
design QB uses a new connection for each query, there is already a
feature request to change this behavior.