sniper Thu Aug 28 12:17:00 2003 EDT
Modified files: (Branch: PHP_4_3)
/php-src/ext/sybase_ct php_sybase_ct.c
Log:
- Fixed bug #23682 (sybase_query() and multiple result sets: not returning first row
set)
Index: php-src/ext/sybase_ct/php_sybase_ct.c
diff -u php-src/ext/sybase_ct/php_sybase_ct.c:1.73.2.4
php-src/ext/sybase_ct/php_sybase_ct.c:1.73.2.5
--- php-src/ext/sybase_ct/php_sybase_ct.c:1.73.2.4 Sat Jan 11 18:50:59 2003
+++ php-src/ext/sybase_ct/php_sybase_ct.c Thu Aug 28 12:16:59 2003
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_sybase_ct.c,v 1.73.2.4 2003/01/11 23:50:59 iliaa Exp $ */
+/* $Id: php_sybase_ct.c,v 1.73.2.5 2003/08/28 16:16:59 sniper Exp $ */
#ifdef HAVE_CONFIG_H
@@ -1386,8 +1386,21 @@
case CS_CURSOR_RESULT:
case CS_PARAM_RESULT:
case CS_ROW_RESULT:
- /* Unexpected results, cancel them. */
+ if (status != Q_RESULT) {
+ result =
php_sybase_fetch_result_set(sybase_ptr, buffered, store);
+ if (result == NULL) {
+ ct_cancel(NULL,
sybase_ptr->cmd, CS_CANCEL_ALL);
+ sybase_ptr->dead = 1;
+ RETURN_FALSE;
+ }
+ status = Q_RESULT;
+ } else {
+ /* Unexpected results, cancel
them. */
+ ct_cancel(NULL,
sybase_ptr->cmd, CS_CANCEL_CURRENT);
+ }
+ break;
case CS_STATUS_RESULT:
+ /* Unexpected results, cancel them. */
ct_cancel(NULL, sybase_ptr->cmd,
CS_CANCEL_CURRENT);
break;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php