php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Return to Bug #55768
Patch make_resuming_pdo_oci_sessions revision 2011-09-27 08:15 UTC by mikhail dot v dot gavrilov at gmail dot com
revision 2011-09-27 06:01 UTC by mikhail dot v dot gavrilov at gmail dot com
revision 2011-09-26 08:33 UTC by mikhail dot v dot gavrilov at gmail dot com
revision 2011-09-26 08:31 UTC by mikhail dot v dot gavrilov at gmail dot com
revision 2011-09-23 13:30 UTC by mikhail dot v dot gavrilov at gmail dot com

Patch make_resuming_pdo_oci_sessions for Oracle related Bug #55768

Patch version 2011-09-27 06:01 UTC

Return to Bug #55768 | Download this patch
This patch is obsolete

Obsoleted by patches:

This patch renders other patches obsolete

Obsolete patches:

Patch Revisions: 2011-09-27 08:15 UTC | 2011-09-27 06:01 UTC | 2011-09-26 08:33 UTC | 2011-09-26 08:31 UTC | 2011-09-23 13:30 UTC

Developer: mikhail.v.gavrilov@gmail.com



  +				case 28511:
   					/* consider the connection closed */
   					dbh->is_closed = 1;
   					H->attached = 0;
 @@ -515,7 +530,34 @@
 @@ -515,7 +530,35 @@
   
   }
   /* }}} */
  +static int pdo_oci_check_liveness(pdo_dbh_t *dbh TSRMLS_DC)


  +	H->last_err = OCIServerVersion (H->svc, H->err, (text *)version, sizeof(version), OCI_HTYPE_SVCCTX);
  +#endif
  +	if (H->last_err == OCI_SUCCESS) return SUCCESS;
  +	sb4 error_code = 0;
 +	OCIErrorGet (H->err, (ub4)1, NULL, &error_code, NULL, 0, OCI_HTYPE_ERROR);
 +	text errbuf[1024] = "<<Unknown>>";
 +	OCIErrorGet (H->err, (ub4)1, NULL, &error_code, errbuf, (ub4)sizeof(errbuf), OCI_HTYPE_ERROR);
  +	if (error_code == 1010) return SUCCESS;
  +	return FAILURE;
  +}
  +/* }}} */
  +
   static struct pdo_dbh_methods oci_methods = {
   	oci_handle_closer,
   	oci_handle_preparer,
 @@ -528,7 +570,7 @@
 @@ -528,7 +571,7 @@
   	NULL,
   	pdo_oci_fetch_error_func,
   	oci_handle_get_attribute,
  -	NULL,	/* check_liveness */
  +	pdo_oci_check_liveness,	/* check_liveness */
   	NULL	/* get_driver_methods */
   };
   
 @@ -675,6 +717,7 @@
 @@ -675,6 +718,7 @@
   }
   /* }}} */
   
  +
 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Wed Apr 23 09:02:23 2014 UTC