On Thu, 30 Jan 2003, pierre-marie mouliere wrote:
>
> Please attached find the patch
We can not accept this patch as we can not allow:
1. having /* ARC INTERNATIONAL */ on every line you touched,
2. using the prefix _ai_ to functions you changed
3. indentation with spaces, and totally ignoring the Coding Standards
Derick
--
-------------------------------------------------------------------------
Derick Rethans http://derickrethans.nl/
JDI Media Solutions http://www.jdimedia.nl/
PHP Magazine - PHP Magazine for Professionals http://php-mag.net/
-------------------------------------------------------------------------
192,195c192,209
< static void _clean_ii_plink(zend_rsrc_list_entry *rsrc TSRMLS_DC)
< {
< II_LINK *link = (II_LINK *) rsrc->ptr;
< IIAPI_AUTOPARM autoParm;
---
> /* Create this function so it can be called by the close function */
> /* (calling parameter is link) */
> /* May be not the best way to do it */
> static void _ai_clean_ii_plink(II_LINK *link) /* ARC INTERNATIONAL
>*/
> {
> /* ARC INTERNATIONAL */
> int ai_error = 0; /* ARC INTERNATIONAL */
> IIAPI_DISCONNPARM disconnParm; /* ARC INTERNATIONAL */
> IIAPI_AUTOPARM autoParm;
> /* ARC INTERNATIONAL */
> /* if link as always been marked as broken do nothing */
> /* This because we call this function directly from close function */
> /* And it's called by ZEND garbage at end of script */
> if (link->connHandle == NULL) {
> /* ARC INTERNATIONAL */
> return;
> /* ARC INTERNATIONAL */
> }
> /* ARC INTERNATIONAL */
> if(link->stmtHandle && _close_statement(link)) { /* ARC INTERNATIONAL
>*/
> php_error(E_WARNING, "Ingres II: Unable to close statement !!"); /* ARC
>INTERNATIONAL */
> ai_error = 1; /* ARC INTERNATIONAL */
> }
> /* ARC INTERNATIONAL */
197c211
< if (link->autocommit) {
---
> if(link->autocommit) {
> /* ARC INTERNATIONAL */
199,201c213,216
< if (link->stmtHandle && _close_statement(link)) {
< php_error(E_WARNING, "Ingres II: Unable to close statement
!!");
< }
---
> autoParm.ac_genParm.gp_callback = NULL; /* ARC
>INTERNATIONAL */
> autoParm.ac_genParm.gp_closure = NULL; /* ARC
>INTERNATIONAL */
> autoParm.ac_connHandle = link->connHandle; /* ARC
>INTERNATIONAL */
> autoParm.ac_tranHandle = link->tranHandle; /* ARC
>INTERNATIONAL */
203,206c218,219
< autoParm.ac_genParm.gp_callback = NULL;
< autoParm.ac_genParm.gp_closure = NULL;
< autoParm.ac_connHandle = link->connHandle;
< autoParm.ac_tranHandle = link->tranHandle;
---
> IIapi_autocommit(&autoParm);
> /* ARC INTERNATIONAL */
> ii_sync(&(autoParm.ac_genParm)); /* ARC
>INTERNATIONAL */
208,209c221,223
< IIapi_autocommit(&autoParm);
< ii_sync(&(autoParm.ac_genParm));
---
> if(ii_success(&(autoParm.ac_genParm))==II_FAIL) { /* ARC INTERNATIONAL */
> php_error(E_WARNING, "Ingres II: Unable to disable autocommit"); /* ARC
>INTERNATIONAL */
> }
> /* ARC INTERNATIONAL */
211,213c225,227
< if (ii_success(&(autoParm.ac_genParm)) == II_FAIL) {
< php_error(E_WARNING, "Ingres II: Unable to disable
autocommit");
< }
---
> link->autocommit = 0;
> /* ARC INTERNATIONAL */
> link->tranHandle = NULL;
> /* ARC INTERNATIONAL */
> }
> /* ARC INTERNATIONAL */
215,217c229,242
< link->autocommit = 0;
< link->tranHandle = NULL;
< }
---
> if(link->tranHandle && _rollback_transaction(link)) {
> /* ARC INTERNATIONAL */
> php_error(E_WARNING, "Ingres II: Unable to rollback transaction !!"); /* ARC
>INTERNATIONAL */
> }
> /* ARC INTERNATIONAL */
> /* Assume link is broken , close, and mark as broken with conn Handle NULL */
> if(ai_error) { /* ARC INTERNATIONAL */
> disconnParm.dc_genParm.gp_callback = NULL; /* ARC INTERNATIONAL */
> disconnParm.dc_genParm.gp_closure = NULL; /* ARC INTERNATIONAL */
> disconnParm.dc_connHandle = link->connHandle; /* ARC INTERNATIONAL */
> /* ARC INTERNATIONAL */
> IIapi_disconnect(&disconnParm); /* ARC INTERNATIONAL */
> /* ARC INTERNATIONAL */
> link->connHandle = NULL; /* ARC INTERNATIONAL */
> } /* ARC INTERNATIONAL */
> }
> /* ARC INTERNATIONAL */
219,220c244,248
< if (link->tranHandle && _rollback_transaction(link)) {
< php_error(E_WARNING, "Ingres II: Unable to rollback transaction !!");
---
>
> static void _clean_ii_plink(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* ARC
>INTERNATIONAL */
> {
> II_LINK *link = (II_LINK *)rsrc->ptr;
> _ai_clean_ii_plink(link);
> /* ARC INTERNATIONAL */
222d249
< }
522a550,579
> /* Unfortunetaly NO !!!*/
> /* Ingres api does'nt reconnect */
> /* Have to reconnect if cleaning function as flagged link as broken */
> if(link->connHandle == NULL) { /* ARC INTERNATIONAL */
> php_error(E_WARNING,"Ingres II: Broken link (%s),reconnect", db); /*ARC
>INTERNATIONAL */
> /* Recreate the link */ /* ARC INTERNATIONAL */
> connParm.co_genParm.gp_callback = NULL; /* ARC INTERNATIONAL */
> connParm.co_genParm.gp_closure = NULL; /* ARC INTERNATIONAL */
> connParm.co_target = db; /* ARC INTERNATIONAL */
> connParm.co_username = user; /* ARC INTERNATIONAL */
> connParm.co_password = pass; /* ARC INTERNATIONAL */
> connParm.co_timeout = -1; /*-1 is no timeout*/ /* ARC INTERNATIONAL */
> connParm.co_connHandle = NULL; /* ARC INTERNATIONAL */
> connParm.co_tranHandle = NULL; /* ARC INTERNATIONAL */
> /* ARC INTERNATIONAL */
> IIapi_connect(&connParm); /* ARC INTERNATIONAL */
> /* ARC INTERNATIONAL */
> if(!ii_sync(&(connParm.co_genParm)) || ii_success(&(connParm.co_genParm)) ==
>II_FAIL) { /* ARC INTERNATIONAL */
> efree(hashed_details); /* ARC INTERNATIONAL */
> php_error(E_WARNING,"Ingres II: Unable to connect to database
>(%s)", db); /* ARC INTERNATIONAL */
> RETURN_FALSE; /* ARC INTERNATIONAL */
> } /* ARC INTERNATIONAL */
> /* ARC INTERNATIONAL */
> link->connHandle = connParm.co_connHandle; /* ARC INTERNATIONAL */
> link->tranHandle = NULL; /* ARC INTERNATIONAL */
> link->stmtHandle = NULL; /* ARC INTERNATIONAL */
> link->fieldCount = 0; /* ARC INTERNATIONAL */
> link->descriptor = NULL; /* ARC INTERNATIONAL */
> link->autocommit = 0; /* ARC INTERNATIONAL */
> } /* ARC INTERNATIONAL */
641a699,705
>
> /* Seems to be a little bug here ? */
> link_id = (int) ii_link; /* ARC INTERNATIONAL */
> /* Call the clean function synchronously here */
> /* Otherwise have to wait for script ending before ZEND garbage occur */
> /* This way we can reuse the link in the same script */
> _ai_clean_ii_plink(ii_link); /* ARC INTERNATIONAL */
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php