]> granicus.if.org Git - php/commitdiff
Ora_Fetch_Into now resets the returned array in all cases
authorThies C. Arntzen <thies@php.net>
Thu, 23 Sep 1999 10:23:12 +0000 (10:23 +0000)
committerThies C. Arntzen <thies@php.net>
Thu, 23 Sep 1999 10:23:12 +0000 (10:23 +0000)
ChangeLog
ext/oracle/oracle.c

index 7e7af9bce435f79262f96a9726785081e7f77955..4d95e5282dcb8b5208ebde8c0a4f95a765ed05a0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@ PHP 4.0 CHANGE LOG                                                    ChangeLog
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 
 ?? ?? 1999, Version 4.0 Beta 3
+- Ora_Fetch_Into now resets the returned array in all cases (Thies) 
 - Fixed NULL-Column problem in Oracle-Driver (Thies)
 - Added extra metadata functions to ODBC, SQLTables etc (nick@easysoft.com)
 - Fixed SEGV in mcal make_event_object() (Andrew Skalski)
index 982baabdbd6e7bee096bf03f1725cd3e03e378ca..0efdc278f25cc46da9e950d69ea56a16eef27af7 100644 (file)
@@ -1125,22 +1125,23 @@ PHP_FUNCTION(ora_fetch_into)
                RETURN_FALSE;
        }
 
-       if (arr->type != IS_ARRAY){
-               if (array_init(arr) == FAILURE){
-                       php_error(E_WARNING, "Can't convert to type Array");
-                       RETURN_FALSE;
-               }
-       }
-
        if (ofetch(&cursor->cda)) {
                if (cursor->cda.rc != NO_DATA_FOUND) {
-                       php_error(E_WARNING, "Ora_Fetch_Into failed (%s)",
-                                          ora_error(&cursor->cda));
+                       php_error(E_WARNING, "Ora_Fetch_Into failed (%s)",ora_error(&cursor->cda));
                }
                RETURN_FALSE;
        }
        cursor->fetched++;
 
+       if (arr->type != IS_ARRAY){
+               pval_destructor(arr);
+           if (array_init(arr) == FAILURE){
+                       php_error(E_WARNING, "Can't convert to type Array");
+                       RETURN_FALSE;
+               }
+       }
+       zend_hash_internal_pointer_reset(arr->value.ht);
+
        for (i = 0; i < cursor->ncols; i++) {
        
                if (cursor->columns[i].col_retcode == 1405) {