[svn:dbd-oracle] r14889 - dbd-oracle/trunk
[email protected] Tue, 21 Jun 2011 00:50:41 -0700 (PDT)
| Newsgroups | perl.dbd.oracle.changes |
|---|---|
| Message-ID | <[email protected]> |
Author: mjevans
Date: Tue Jun 21 00:50:40 2011
New Revision: 14889
Modified:
dbd-oracle/trunk/Changes
dbd-oracle/trunk/dbdimp.c
Log:
Add patch supplied on rt68958 for OCIServerAttach errors
Modified: dbd-oracle/trunk/Changes
==============================================================================
--- dbd-oracle/trunk/Changes (original)
+++ dbd-oracle/trunk/Changes Tue Jun 21 00:50:40 2011
@@ -1,8 +1,10 @@
=head1 Changes in DBD-Oracle 1.29_1 (svn rev NNNNN)
+**************************** NOTE: ora_db_shutdown/ora_dv_startup/StrictlyType/DiscardString not documented
+ Added patch supplied on rt68958 to trap OCIServerAttach errors by Martin J. Evans
Added ora_db_shutdown and ora_db_startup private functions by Steffen Goeldner
Fixed up the POD based on DBD::Pg by John Scoles
- Revoved oparse_lng as it is obsolete by John Scoles
+ Removed oparse_lang as it is obsolete by John Scoles
Added installation notes for MAC Snow Leopard by Martin J. Evans
pod review rephrasing, fixing typos and spelling mistakes up to "Placeholder Binding Attributes" by Martin J. Evans
Add /etc to the search paths for tnsnames.ora (rt67942) by Martin J. Evans, Jay Senseman
Modified: dbd-oracle/trunk/dbdimp.c
==============================================================================
--- dbd-oracle/trunk/dbdimp.c (original)
+++ dbd-oracle/trunk/dbdimp.c Tue Jun 21 00:50:40 2011
@@ -828,6 +828,17 @@
OCIHandleAlloc_ok(imp_dbh->envhp, &imp_dbh->svchp, OCI_HTYPE_SVCCTX, status);
OCIServerAttach_log_stat(imp_dbh, dbname,OCI_DEFAULT, status);
+ if (status != OCI_SUCCESS) {
+ oci_error(dbh, imp_dbh->errhp, status, "OCIServerAttach");
+ OCIHandleFree_log_stat(imp_dbh->seshp, OCI_HTYPE_SESSION,status);
+ OCIHandleFree_log_stat(imp_dbh->srvhp, OCI_HTYPE_SERVER, status);
+ OCIHandleFree_log_stat(imp_dbh->errhp, OCI_HTYPE_ERROR, status);
+ OCIHandleFree_log_stat(imp_dbh->svchp, OCI_HTYPE_SVCCTX, status);
+ if (forced_new_environment)
+ OCIHandleFree_log_stat(imp_dbh->envhp, OCI_HTYPE_ENV, status);
+ return 0;
+ }
+
OCIAttrSet_log_stat( imp_dbh->svchp, OCI_HTYPE_SVCCTX, imp_dbh->srvhp,
(ub4) 0, OCI_ATTR_SERVER, imp_dbh->errhp, status);