#20861 [Asn]: sybase_query fail to handle stored procedure result with "nocount" option

From: Date: Sat, 07 Dec 2002 19:51:52 +0000
Subject: #20861 [Asn]: sybase_query fail to handle stored procedure result with "nocount" option
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-26996@lists.php.net to get a copy of this message
ID: 20861 Updated by: thekid@php.net Reported By: csollet@coleebris.com Status: Assigned Bug Type: Sybase-ct (ctlib) related Operating System: Linux PHP Version: 4.3.0RC2 Assigned To: thekid New Comment: <?php /* Script to reproduce bug #20861 * * $Id$ */ ini_set('sybct.min_server_severity', 11); $db= sybase_connect('gurke', '******', '******'); sybase_select_db('tempdb', $db); // var_dump(sybase_query(' // create procedure test_bug // @input int // AS // BEGIN // set nocount on // // select @input 'result' // return 2 // END // ', $db)); // This doesn't print out the error message $q= sybase_query('test_bug 1', $db); while ($data= sybase_fetch_object($q)) { var_dump($q, $data); } // This actually prints out the warning message as // we have two resultsets $q= sybase_query(' declare @return int exec @return= test_bug 1 select @return ', $db); while ($data= sybase_fetch_object($q)) { var_dump($q, $data); } // var_dump(sybase_query('drop procedure test_bug', $db)); sybase_close($db); ?> Previous Comments: ------------------------------------------------------------------------ [2002-12-07 08:38:54] thekid@php.net Well, in earlier versions sybase_ct silently cancelled the unexpected results, now it will inform you it is doing so - I thought it was nice to be a bit more verbose about things. ------------------------------------------------------------------------ [2002-12-06 10:48:02] csollet@coleebris.com After some more test, i can get the notice (notice -> no result) without "set nocount on". Don't have pushed further since the procedure involved is about 400 lines with call to others procedures. So, just to add that "set nocount on" is a case, not the only one, that trigger the error. ------------------------------------------------------------------------ [2002-12-06 09:53:00] csollet@coleebris.com Test script : <? $sy = sybase_pconnect('DBHOST', 'user', 'pass'); sybase_select_db('MyDB', $sy); sybase_query("test_bug 1", $sy); ?> produce : Notice: sybase_query() [http://www.php.net/function.sybase-query]: Sybase: Unexpected results, cancelling current in - on line 4 with test_bug defined as follow : create procedure test_bug @input int AS BEGIN set nocount on select @input 'result' return 2 END Removing the "set nocount on" lead to expected result but, of course, in real wold sp, the nocount option is rarely used for fun... Build with Sybase ctclient v12.5 Works perfectly well with 4.2.3 and previous. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=20861&edit=1

« previous php.bugs (#26996) next »