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

Reply via email to