summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog1
-rw-r--r--ext/oracle/oracle.c19
2 files changed, 11 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 7e7af9bce4..4d95e5282d 100644
--- 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)
diff --git a/ext/oracle/oracle.c b/ext/oracle/oracle.c
index 982baabdbd..0efdc278f2 100644
--- a/ext/oracle/oracle.c
+++ b/ext/oracle/oracle.c
@@ -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) {