ahem...yes i'd agree on that...i changed it to something more meaningful and attached a new patch..ah the switching between c and php programming..;)
the patch is already being used for 2,5 months on an extremly big, extremly heavy-load 24x7 platform here at hp europe. basically all european hp sites rely on it. so i guess it's being tested :) cheers, Abdul ----- Original Message ----- From: "Thies C. Arntzen" <[EMAIL PROTECTED]> To: "Abdul-Kareem Abo-Namous" <[EMAIL PROTECTED]> Sent: Thursday, December 05, 2002 9:10 AM Subject: Re: [PHP-DEV] OCI patch > On Mon, Dec 02, 2002 at 02:27:12PM +0100, Abdul-Kareem Abo-Namous wrote: > > sure, here's thecode, diff'd against the latest cvs (from today). hope it's > > ok! > > sorry for beeing late. > > the line "if (charset != "\0")" looks bogus to me... you > probably meant "if (*charset)" or "if (charset[ 0 ] != '\0')"? > > besides that it looks OK to me. > > how well tested is that patch? if it really works for you i > think we are save to commit it to HEAD onece the "if" thingie > is fixed. > > re, > tc > > > > > oci8_charsets_oci8c.diff is for oci8.c > > oci8_charsets_configm4.diff for config.m4 and guess what > > oci8_charsets_phpoci8h.diff is for ;-))) > > > > cheers, > > Abdul > > > > ----- Original Message ----- > > From: "Maxim Maletsky" <[EMAIL PROTECTED]> > > To: "Abdul-Kareem Abo-Namous" <[EMAIL PROTECTED]> > > Cc: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> > > Sent: Thursday, November 28, 2002 1:27 PM > > Subject: Re: [PHP-DEV] OCI patch > > > > > > > > > > Thies was on it. But, I think he is pretty busy right now. Resubmit it > > > to me and I will look instead of him. Meanwhile, if Thies has time he > > > will spare the light on the issue. > > > > > > -- > > > Maxim Maletsky > > > [EMAIL PROTECTED] > > > > > > > > > > > > "Abdul-Kareem Abo-Namous" <[EMAIL PROTECTED]> wrote... : > > > > > > > hi everyone > > > > > > > > what happened to the patch i submitted? is it of such bad quality? ;-) > > > > > > > > maybe someone can tell me more..? :-) > > > > > > > > thanks, > > > > Abdul > > > > > > > > ----- Original Message ----- > > > > From: <[EMAIL PROTECTED]> > > > > To: "MaximMaletsky" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> > > > > Cc: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> > > > > Sent: Thursday, October 17, 2002 12:55 PM > > > > Subject: Re: Re: [PHP-DEV] OCI patch > > > > > > > > > > > > > Ok, I've attached a pretty ok version. I had to update the config.m4 > > to > > > > inculde a HAVE_OCI9 define, but since I'm not really good in this kind > > of > > > > thing, buildconf now reports a warning > > > > > > > > > > autoheader: No template for symbol `HAVE_OCI9' > > > > > > > > > > don't know what to do about it. otherwise everything compiles and runs > > > > smoothly, so I hope you'll enjoy :-). > > > > > > > > > > Abdul > > > > > > > > > > Maxim Maletsky <[EMAIL PROTECTED]> schrieb am 17.10.02 12:45:57: > > > > > > OK, then. > > > > > > > > > > > > > > > > > > -- > > > > > > Maxim Maletsky > > > > > > [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > > > <[EMAIL PROTECTED]> wrote... : > > > > > > > > > > > > > > > > > > > > Thies, Maxim, if you could hang on for a few hours I'll be back > > with a > > > > few ideas and a cleaned up version of the patches + a switch for oracle > > 9+ > > > > to enable the new nls functions. > > > > > > > > > > > > > > Abdul > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -------------------------------------------------------------------------- > > -- > > > > ---- > > > > > > > > > > > > > --- oci8.c Wed Oct 9 16:55:16 2002 > > > > > +++ oci8.c Thu Oct 17 13:32:09 2002 > > > > > @@ -20,7 +20,7 @@ > > > > > > > > > +----------------------------------------------------------------------+ > > > > > */ > > > > > > > > > > -/* $Id: oci8.c,v 1.176 2002/09/12 09:48:02 thies Exp $ */ > > > > > +/* $Id: oci8.c,v 1.175 2002/08/20 07:26:50 edink Exp $ */ > > > > > > > > > > /* TODO list: > > > > > * > > > > > @@ -199,7 +199,7 @@ > > > > > static oci_server *_oci_open_server(char *dbname,int persistent); > > > > > static void _oci_close_server(oci_server *server); > > > > > > > > > > -static oci_session *_oci_open_session(oci_server* server,char > > > > *username,char *password,int persistent,int exclusive); > > > > > +static oci_session *_oci_open_session(oci_server* server,char > > > > *username,char *password,int persistent,int exclusive,char *charset); > > > > > static void _oci_close_session(oci_session *session); > > > > > > > > > > static sb4 oci_bind_in_callback(dvoid *, OCIBind *, ub4, ub4, dvoid > > **, > > > > ub4 *, ub1 *, dvoid **); > > > > > @@ -451,7 +451,7 @@ > > > > > OCI_DEFAULT, > > > > > 0, > > > > > NULL)); > > > > > - > > > > > + > > > > > CALL_OCI(OCIHandleAlloc( > > > > > OCI(pEnv), > > > > > (dvoid **)&OCI(pError), > > > > > @@ -631,7 +631,7 @@ > > > > > > > > > > php_info_print_table_start(); > > > > > php_info_print_table_row(2, "OCI8 Support", "enabled"); > > > > > - php_info_print_table_row(2, "Revision", "$Revision: 1.176 $"); > > > > > + php_info_print_table_row(2, "Revision", "$Revision: 1.175 $"); > > > > > #ifndef PHP_WIN32 > > > > > php_info_print_table_row(2, "Oracle Version", PHP_OCI8_VERSION ); > > > > > php_info_print_table_row(2, "Compile-time ORACLE_HOME", > > PHP_OCI8_DIR ); > > > > > @@ -1158,9 +1158,9 @@ > > > > > php_error(E_WARNING, "Unknown descriptor type %d.",Z_TYPE_P(descr)); > > > > > return 0; > > > > > } > > > > > - > > > > > + > > > > > CALL_OCI_RETURN(OCI(error), OCIDescriptorAlloc( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > (dvoid*)&(descr->ocidescr), > > > > > Z_TYPE_P(descr), > > > > > (size_t) 0, > > > > > @@ -1244,7 +1244,7 @@ > > > > > oci_debug("_oci_make_zval: %16s,retlen = %4d,retlen4 = > > %d,storage_size4 > > > > = %4d,indicator %4d, retcode = %4d", > > > > > > > > > > > column->name,column->retlen,column->retlen4,column->storage_size4,column->in > > > > dicator,column->retcode); > > > > > > > > > > - if ((! statement->has_data) || (column->indicator == -1)) { /* > > column is > > > > NULL or statment has no current data */ > > > > > + if (column->indicator == -1) { /* column is NULL */ > > > > > ZVAL_NULL(value); > > > > > return 0; > > > > > } > > > > > @@ -1351,14 +1351,14 @@ > > > > > statement = ecalloc(1,sizeof(oci_statement)); > > > > > > > > > > CALL_OCI(OCIHandleAlloc( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > (dvoid **)&statement->pStmt, > > > > > OCI_HTYPE_STMT, > > > > > 0, > > > > > NULL)); > > > > > > > > > > CALL_OCI(OCIHandleAlloc( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > (dvoid **)&statement->pError, > > > > > OCI_HTYPE_ERROR, > > > > > 0, > > > > > @@ -1392,9 +1392,7 @@ > > > > > if (query) { > > > > > statement->last_query = estrdup(query); > > > > > } > > > > > - > > > > > statement->conn = connection; > > > > > - statement->has_data = 0; > > > > > > > > > > statement->id = zend_list_insert(statement,le_stmt); > > > > > > > > > > @@ -1771,7 +1769,6 @@ > > > > > } > > > > > > > > > > statement->error = 0; /* OCI_NO_DATA is NO error for us!!! */ > > > > > - statement->has_data = 0; > > > > > > > > > > return 0; > > > > > } > > > > > @@ -1831,16 +1828,12 @@ > > > > > _oci_make_zval(column->define->zval,statement,column,"OCIFetch",0 > > > > TSRMLS_CC); > > > > > } > > > > > > > > > > - statement->has_data = 1; > > > > > - > > > > > return 1; > > > > > } > > > > > > > > > > oci_error(statement->pError, func, statement->error); > > > > > oci_handle_error(statement->conn, statement->error); > > > > > > > > > > - statement->has_data = 0; > > > > > - > > > > > return 0; > > > > > } > > > > > > > > > > @@ -1855,8 +1848,8 @@ > > > > > ub4 siz = 0; > > > > > ub4 readlen = 0; > > > > > char *buf; > > > > > + > > > > > TSRMLS_FETCH(); > > > > > - > > > > > *loblen = 0; > > > > > > > > > > if (Z_TYPE_P(mydescr) == OCI_DTYPE_FILE) { > > > > > @@ -1888,17 +1881,17 @@ > > > > > buf = emalloc(readlen + 1); > > > > > > > > > > while (readlen > 0) { /* thies loop should not be entered on readlen > > == > > > > 0 */ > > > > > - CALL_OCI_RETURN(connection->error, OCILobRead( > > > > > + CALL_OCI_RETURN(connection->error, OCILobRead( > > > > > connection->pServiceContext, > > > > > connection->pError, > > > > > mydescr->ocidescr, > > > > > - &readlen, /* IN/OUT bytes toread/read */ > > > > > + &readlen, /* IN/OUT bytes toread/read */ > > > > > siz + 1, /* offset (starts with 1) */ > > > > > (dvoid *) ((char *) buf + siz), > > > > > readlen, /* size of buffer */ > > > > > (dvoid *)0, > > > > > (OCICallbackLobRead) 0, /* callback... */ > > > > > - (ub2) 0, /* The character set ID of the buffer data. */ > > > > > + (ub2) connection->session->charsetId, /* The character set ID of the > > > > buffer data. */ > > > > > (ub1) SQLCS_IMPLICIT)); /* The character set form of the buffer > > data. */ > > > > > > > > > > siz += readlen; > > > > > @@ -1911,7 +1904,7 @@ > > > > > break; > > > > > } > > > > > } > > > > > - > > > > > + > > > > > if (connection->error) { > > > > > oci_error(connection->pError, "OCILobRead", connection->error); > > > > > oci_handle_error(connection, connection->error); > > > > > @@ -1936,11 +1929,11 @@ > > > > > buf = erealloc(buf,siz+1); > > > > > buf[ siz ] = 0; > > > > > > > > > > + oci_debug("OCIloadlob: size=%d",siz); > > > > > + > > > > > *buffer = buf; > > > > > *loblen = siz; > > > > > > > > > > - oci_debug("OCIloadlob: size=%d",siz); > > > > > - > > > > > return 0; > > > > > } > > > > > /* }}} */ > > > > > @@ -2119,11 +2112,12 @@ > > > > > > > > > > */ > > > > > > > > > > -static oci_session *_oci_open_session(oci_server* server,char > > > > *username,char *password,int persistent,int exclusive) > > > > > +static oci_session *_oci_open_session(oci_server* server,char > > > > *username,char *password,int persistent,int exclusive,char *charset) > > > > > { > > > > > oci_session *session = 0, *psession = 0; > > > > > OCISvcCtx *svchp = 0; > > > > > char *hashed_details; > > > > > + ub2 charsetid; > > > > > TSRMLS_FETCH(); > > > > > > > > > > /* > > > > > @@ -2172,22 +2166,56 @@ > > > > > session->server = server; > > > > > session->exclusive = exclusive; > > > > > > > > > > + #ifdef HAVE_OCI9 > > > > > + //following chunk is Oracle 9i+ ONLY > > > > > + if (charset != "\0") { > > > > > + //get ub2 charset id based on charset > > > > > + //this is pretty secure, since if we don't have a valid character > > set > > > > name, > > > > > + //0 comes back and we can still use the 0 in all further > > statements -> > > > > OCI uses NLS_LANG > > > > > + //setting in that case > > > > > + CALL_OCI_RETURN(charsetid, OCINlsCharSetNameToId( > > > > > + OCI(pEnv), > > > > > + charset)); > > > > > + > > > > > + session->charsetId = charsetid; > > > > > + oci_debug("oci_do_connect: using charset id=%d",charsetid); > > > > > + } > > > > > + > > > > > + //create an environment using the character set id, Oracle 9i+ ONLY > > > > > + CALL_OCI(OCIEnvNlsCreate( > > > > > + &session->pEnv, > > > > > + OCI_DEFAULT, > > > > > + 0, > > > > > + NULL, > > > > > + NULL, > > > > > + NULL, > > > > > + 0, > > > > > + NULL, > > > > > + charsetid, > > > > > + charsetid)); > > > > > + > > > > > + #else > > > > > + //fallback solution (simply use global env and charset) > > > > > + session->pEnv = OCI(pEnv); > > > > > + session->charsetId = 0; > > > > > + > > > > > + #endif /*HAVE_OCI9*/ > > > > > + > > > > > /* allocate temporary Service Context */ > > > > > CALL_OCI_RETURN(OCI(error), OCIHandleAlloc( > > > > > - OCI(pEnv), > > > > > + session->pEnv, > > > > > (dvoid **)&svchp, > > > > > OCI_HTYPE_SVCCTX, > > > > > 0, > > > > > - NULL)); > > > > > + NULL)); > > > > > > > > > > if (OCI(error) != OCI_SUCCESS) { > > > > > oci_error(OCI(pError), "_oci_open_session: OCIHandleAlloc > > > > OCI_HTYPE_SVCCTX", OCI(error)); > > > > > goto CLEANUP; > > > > > } > > > > > > > > > > - /* allocate private session-handle */ > > > > > CALL_OCI_RETURN(OCI(error), OCIHandleAlloc( > > > > > - OCI(pEnv), > > > > > + session->pEnv, > > > > > (dvoid **)&session->pSession, > > > > > OCI_HTYPE_SESSION, > > > > > 0, > > > > > @@ -2305,7 +2333,7 @@ > > > > > if (session->is_open) { > > > > > /* Temporary Service Context */ > > > > > CALL_OCI_RETURN(OCI(error), OCIHandleAlloc( > > > > > - OCI(pEnv), > > > > > + session->pEnv, > > > > > (dvoid **) &svchp, > > > > > (ub4) OCI_HTYPE_SVCCTX, > > > > > (size_t) 0, > > > > > @@ -2365,6 +2393,10 @@ > > > > > (ub4) OCI_HTYPE_SESSION)); > > > > > } > > > > > > > > > > + CALL_OCI(OCIHandleFree( > > > > > + (dvoid *)session->pEnv, > > > > > + OCI_HTYPE_ENV)); > > > > > + > > > > > hashed_details = session->hashed_details; > > > > > > > > > > if (! OCI(shutdown)) { > > > > > @@ -2551,13 +2583,26 @@ > > > > > */ > > > > > static void oci_do_connect(INTERNAL_FUNCTION_PARAMETERS,int > > > > persistent,int exclusive) > > > > > { > > > > > - char *username, *password, *dbname; > > > > > - zval **userParam, **passParam, **dbParam; > > > > > + char *username, *password, *dbname, *charset; > > > > > + zval **userParam, **passParam, **dbParam, **charParam; > > > > > oci_server *server = 0; > > > > > oci_session *session = 0; > > > > > oci_connection *connection = 0; > > > > > - > > > > > - if (zend_get_parameters_ex(3, &userParam, &passParam, &dbParam) > > == > > > > SUCCESS) { > > > > > + > > > > > + charset = "\0"; > > > > > + //if a forth parameter is handed over, it is the charset > > identifier > > > > (but is only used in Oracle 9i+) > > > > > + if (zend_get_parameters_ex(4, &userParam, &passParam, &dbParam, > > > > &charParam) == SUCCESS) { > > > > > + convert_to_string_ex(userParam); > > > > > + convert_to_string_ex(passParam); > > > > > + convert_to_string_ex(dbParam); > > > > > + convert_to_string_ex(charParam); > > > > > + > > > > > + username = Z_STRVAL_PP(userParam); > > > > > + password = Z_STRVAL_PP(passParam); > > > > > + dbname = Z_STRVAL_PP(dbParam); > > > > > + charset = Z_STRVAL_PP(charParam); > > > > > + oci_debug("oci_do_connect: using charset=%s",charset); > > > > > + } else if (zend_get_parameters_ex(3, &userParam, &passParam, > > > > &dbParam) == SUCCESS) { > > > > > convert_to_string_ex(userParam); > > > > > convert_to_string_ex(passParam); > > > > > convert_to_string_ex(dbParam); > > > > > @@ -2577,7 +2622,7 @@ > > > > > } > > > > > > > > > > connection = (oci_connection *) ecalloc(1,sizeof(oci_connection)); > > > > > - > > > > > + > > > > > if (! connection) { > > > > > goto CLEANUP; > > > > > } > > > > > @@ -2596,7 +2641,8 @@ > > > > > persistent = server->persistent; > > > > > } > > > > > > > > > > - session = > > > > _oci_open_session(server,username,password,persistent,exclusive); > > > > > + session = > > > > > > _oci_open_session(server,username,password,persistent,exclusive,charset); > > > > > + > > > > > > > > > > if (! session) { > > > > > goto CLEANUP; > > > > > @@ -3476,7 +3522,7 @@ > > > > > } > > > > > > > > > > connection->error = > > > > > - OCILobIsTemporary(OCI(pEnv), > > > > > + OCILobIsTemporary(connection->session->pEnv, > > > > > connection->pError, > > > > > mylob, > > > > > &is_temporary); > > > > > @@ -4601,7 +4647,7 @@ > > > > > oci_debug("OCIfreecollection: coll=%d",inx); > > > > > > > > > > CALL_OCI_RETURN(connection->error, OCIObjectFree( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > (dvoid *)coll->coll, > > > > > (ub2)(OCI_OBJECTFREE_FORCE))); > > > > > @@ -4653,7 +4699,7 @@ > > > > > convert_to_string_ex(arg); > > > > > if(Z_STRLEN_PP(arg) == 0) { > > > > > CALL_OCI_RETURN(connection->error, OCICollAppend( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > (dword *)0, > > > > > &null_ind, > > > > > @@ -4686,7 +4732,7 @@ > > > > > } > > > > > > > > > > CALL_OCI_RETURN(connection->error, OCICollAppend( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > (dvoid *) &dt, > > > > > (dvoid *) &new_ind, > > > > > @@ -4702,7 +4748,7 @@ > > > > > convert_to_string_ex(arg); > > > > > > > > > > CALL_OCI_RETURN(connection->error, OCIStringAssignText( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > Z_STRVAL_PP(arg), > > > > > Z_STRLEN_PP(arg), > > > > > @@ -4714,7 +4760,7 @@ > > > > > } > > > > > > > > > > CALL_OCI_RETURN(connection->error, OCICollAppend( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > (dvoid *) ocistr, > > > > > (dvoid *) &new_ind, > > > > > @@ -4751,7 +4797,7 @@ > > > > > } > > > > > > > > > > CALL_OCI_RETURN(connection->error, OCICollAppend( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > (dvoid *) &num, > > > > > (dvoid *) &new_ind, > > > > > @@ -4799,7 +4845,7 @@ > > > > > connection = coll->conn; > > > > > > > > > > CALL_OCI_RETURN(connection->error, OCICollGetElem( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > coll->coll, > > > > > ndx, > > > > > @@ -4839,7 +4885,7 @@ > > > > > RETURN_STRINGL(buff,len,1); > > > > > case OCI_TYPECODE_VARCHAR2 : > > > > > ocistr = *(OCIString **)elem; > > > > > - str = OCIStringPtr(OCI(pEnv),ocistr); /* XXX not protected > > against > > > > recursion! */ > > > > > + str = OCIStringPtr(connection->session->pEnv,ocistr); /* XXX not > > > > protected against recursion! */ > > > > > RETURN_STRINGL(str,strlen(str),1); > > > > > break; > > > > > case OCI_TYPECODE_UNSIGNED16 : /* UNSIGNED > > > > SHORT */ > > > > > @@ -4898,7 +4944,7 @@ > > > > > connection = coll->conn; > > > > > > > > > > CALL_OCI_RETURN(connection->error, OCICollAssign( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > from_coll->coll, > > > > > coll->coll)); > > > > > @@ -4958,7 +5004,7 @@ > > > > > > > > > > if(Z_STRLEN_PP(val) == 0) { > > > > > CALL_OCI_RETURN(connection->error, OCICollAssignElem( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > ndx, > > > > > (dword *)0, > > > > > @@ -4991,7 +5037,7 @@ > > > > > } > > > > > > > > > > CALL_OCI_RETURN(connection->error, OCICollAssignElem( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > ndx, > > > > > (dword *)&dt, > > > > > @@ -5007,7 +5053,7 @@ > > > > > convert_to_string_ex(val); > > > > > > > > > > CALL_OCI_RETURN(connection->error, OCIStringAssignText( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > Z_STRVAL_PP(val), > > > > > Z_STRLEN_PP(val), > > > > > @@ -5019,7 +5065,7 @@ > > > > > } > > > > > > > > > > CALL_OCI_RETURN(connection->error, OCICollAssignElem( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > ndx, > > > > > (dword *)ocistr, > > > > > @@ -5058,7 +5104,7 @@ > > > > > } > > > > > > > > > > CALL_OCI_RETURN(connection->error, OCICollAssignElem( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > ndx, > > > > > (dword *)&num, > > > > > @@ -5095,7 +5141,7 @@ > > > > > connection = coll->conn; > > > > > > > > > > CALL_OCI_RETURN(connection->error, OCICollSize( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > coll->conn->pError, > > > > > coll->coll, > > > > > &sz)); > > > > > @@ -5198,7 +5244,7 @@ > > > > > zend_list_addref(connection->id); > > > > > > > > > > CALL_OCI_RETURN(connection->error, OCITypeByName( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > connection->pServiceContext, > > > > > ac==3?(text *)Z_STRVAL_PP(schema):(text *)0, > > > > > @@ -5217,7 +5263,7 @@ > > > > > } > > > > > > > > > > CALL_OCI_RETURN(connection->error, OCIHandleAlloc( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > (dvoid **) &dschp1, > > > > > (ub4) OCI_HTYPE_DESCRIBE, > > > > > (size_t) 0, > > > > > @@ -5301,7 +5347,7 @@ > > > > > } > > > > > > > > > > CALL_OCI_RETURN(connection->error, OCITypeByRef( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > coll->elem_ref, > > > > > OCI_DURATION_SESSION, > > > > > @@ -5333,7 +5379,7 @@ > > > > > > > > > > /* Create object to hold return table */ > > > > > CALL_OCI_RETURN(connection->error, OCIObjectNew( > > > > > - OCI(pEnv), > > > > > + connection->session->pEnv, > > > > > connection->pError, > > > > > connection->pServiceContext, > > > > > OCI_TYPECODE_TABLE, > > > > > > > > > > > > > > > > > > > -------------------------------------------------------------------------- > > -- > > > > ---- > > > > > > > > > > > > > --- php_oci8.h Thu Sep 12 11:48:03 2002 > > > > > +++ php_oci8.h Thu Oct 17 13:46:52 2002 > > > > > @@ -17,7 +17,7 @@ > > > > > > > > > +----------------------------------------------------------------------+ > > > > > */ > > > > > > > > > > -/* $Id: php_oci8.h,v 1.24 2002/09/12 09:48:03 thies Exp $ */ > > > > > +/* $Id: php_oci8.h,v 1.23 2002/02/10 12:41:52 thies Exp $ */ > > > > > > > > > > #if HAVE_OCI8 > > > > > # ifndef PHP_OCI8_H > > > > > @@ -69,7 +69,9 @@ > > > > > int exclusive; > > > > > char *hashed_details; > > > > > oci_server *server; > > > > > - OCISession *pSession; > > > > > + OCIEnv *pEnv; //sessions own environment > > > > > + OCISession *pSession; > > > > > + ub2 charsetId; //sessions used character set (mostly this will be 0, > > so > > > > NLS_LANG will be used. > > > > > } oci_session; > > > > > > > > > > typedef struct { > > > > > > > > > > > > > > > > > > > -------------------------------------------------------------------------- > > -- > > > > ---- > > > > > > > > > > > > > --- config.m4.orig Thu Oct 17 13:27:52 2002 > > > > > +++ config.m4 Thu Oct 17 13:28:02 2002 > > > > > @@ -66,7 +66,7 @@ > > > > > PHP_ADD_LIBRARY_WITH_PATH(clntsh, $OCI8_DIR/lib, > > > > OCI8_SHARED_LIBADD) > > > > > ;; > > > > > > > > > > - 8.1|9.0) > > > > > + 8.1) > > > > > PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD) > > > > > if test -f $OCI8_DIR/lib/libocijdbc8.so ; then > > > > > PHP_ADD_LIBRARY(ocijdbc8, 1, OCI8_SHARED_LIBADD) > > > > > @@ -75,6 +75,18 @@ > > > > > AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ]) > > > > > AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ]) > > > > > ;; > > > > > + > > > > > + 9.0) > > > > > + PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD) > > > > > + if test -f $OCI8_DIR/lib/libocijdbc8.so ; then > > > > > + PHP_ADD_LIBRARY(ocijdbc8, 1, OCI8_SHARED_LIBADD) > > > > > + fi > > > > > + PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD) > > > > > + AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ]) > > > > > + AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ]) > > > > > + AC_DEFINE(HAVE_OCI9,1,[]) > > > > > + ;; > > > > > + > > > > > > > > > > *) > > > > > AC_MSG_ERROR(Unsupported Oracle version!) > > > > > > > > > > > > > > > > > > > -------------------------------------------------------------------------- > > -- > > > > ---- > > > > > > > > > > > > > -- > > > > > PHP Development Mailing List <http://www.php.net/> > > > > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > > > > > > > > -- > Thies C. Arntzen - Looking for all sorts of freelance work - just ask.. > http://www.amazon.de/exec/obidos/wishlist/AB9DY62QWDSZ
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php