Bug #17448 Updated: if return value of oci function is OCI_SUCCESS_WITH_INFO, php assumes it error.
| From: | sander@php.net | Date: | Thu, 20 Jun 2002 18:41:12 +0000 |
| Subject: | Bug #17448 Updated: if return value of oci function is OCI_SUCCESS_WITH_INFO, php assumes it error. | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-11599@lists.php.net to get a copy of this message | ||
ID: 17448
Updated by: sander@php.net
Reported By: jwings@danal.co.kr
Status: Open
-Bug Type: Output Control
+Bug Type: OCI8 related
Operating System: linux
PHP Version: 4.2.1
New Comment:
Reclassified.
Previous Comments:
------------------------------------------------------------------------
[2002-05-27 03:46:32] jwings@danal.co.kr
If return value of OCI function is OCI_SUCCESS_WITH_INFO, php assumes
it error. and it don't generate message about INFO. so user cannot know
what problem is.
Using php and oracle, I found OCI_SUCESS_WITH_INFO, but cannot known
what problem is. for a long time I try to know it, finally I know. It
is "password will be expired" ¤Ñ.¤Ñ;
When return value of OCI function is OCI_SUCESS_WITH_INFO,
we get specific message using OCIErrGet() function like OCI_ERROR.
so, I hope to fix that OCI_SUCCESS_WITH_INFO of following function
equals OCI_ERROR of it.
(ext/oci8/oci8.c)
static ub4
oci_error(OCIError *err_p, char *what, sword status)
{
text errbuf[512];
sb4 errcode = 0;
switch (status) {
case OCI_SUCCESS:
break;
case OCI_SUCCESS_WITH_INFO:
php_error(E_WARNING, "%s: OCI_SUCCESS_WITH_INFO",
what);
break;
case OCI_NEED_DATA:
php_error(E_WARNING, "%s: OCI_NEED_DATA", what);
break;
case OCI_NO_DATA:
php_error(E_WARNING, "%s: OCI_NO_DATA", what);
break;
case OCI_ERROR: {
TSRMLS_FETCH();
CALL_OCI(OCIErrorGet(
err_p,
(ub4)1,
NULL,
&errcode,
errbuf,
(ub4)sizeof(errbuf),
(ub4)OCI_HTYPE_ERROR));
php_error(E_WARNING, "%s: %s", what, errbuf);
break;
}
case OCI_INVALID_HANDLE:
php_error(E_WARNING, "%s: OCI_INVALID_HANDLE", what);
break;
case OCI_STILL_EXECUTING:
php_error(E_WARNING, "%s: OCI_STILL_EXECUTING", what);
break;
case OCI_CONTINUE:
php_error(E_WARNING, "%s: OCI_CONTINUE", what);
break;
default:
break;
}
return errcode;
}
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=17448&edit=1