ID:               17448
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Open
 Bug Type:         OCI8 related
 Operating System: linux
 PHP Version:      4.2.1
 Assigned To:      scohen
 New Comment:

Any work/research on this one?


Previous Comments:
------------------------------------------------------------------------

[2002-06-20 14:41:11] [EMAIL PROTECTED]

Reclassified.

------------------------------------------------------------------------

[2002-05-27 03:46:32] [EMAIL PROTECTED]

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

Reply via email to