[svn:dbd-oracle] r15283 - in dbd-oracle/trunk: . lib/DBD

[email protected] Sun, 22 Apr 2012 04:12:02 -0700 (PDT)
Newsgroups perl.dbd.oracle.changes
Message-ID <[email protected]>
Author: mjevans
Date: Sun Apr 22 04:12:01 2012
New Revision: 15283

Modified:
   dbd-oracle/trunk/Changes
   dbd-oracle/trunk/dbdimp.c
   dbd-oracle/trunk/lib/DBD/Oracle.pm

Log:
fix rt75721 - does not build with oracle 9.2
added notes to pod saying which attributes need 10.1


Modified: dbd-oracle/trunk/Changes
==============================================================================
--- dbd-oracle/trunk/Changes	(original)
+++ dbd-oracle/trunk/Changes	Sun Apr 22 04:12:01 2012
@@ -6,9 +6,12 @@
  - Fixed RT76695 - offset passed to ora_fetch_scroll should not affect
    normal fetches (Martin J. Evans)
 
- - Fixed part of RT76410 - fetch after fetch absolute always returns
+ - Fixed RT76410 - fetch after fetch absolute always returns
    the same row (Martin J. Evans);
 
+ - Fixed RT75721 - DBD::Oracle does not build with Oracle 9.2
+   (Martin J. Evans)
+
  [MISCELLANEOUS]
 
  - minor change to confusing debug output for input parameters

Modified: dbd-oracle/trunk/dbdimp.c
==============================================================================
--- dbd-oracle/trunk/dbdimp.c	(original)
+++ dbd-oracle/trunk/dbdimp.c	Sun Apr 22 04:12:01 2012
@@ -437,6 +437,7 @@
 	}
 #endif /*ORA_OCI_112*/
 
+#ifdef OCI_ATTR_ACTION
 	if ((svp=DBD_ATTRIB_GET_SVP(attr, "ora_action", 10)) && SvOK(*svp)) {
 		STRLEN  svp_len;
 		if (!SvPOK(*svp))
@@ -445,7 +446,9 @@
 		imp_dbh->actionl= (ub4) svp_len;
 		OCIAttrSet_log_stat(imp_dbh, imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->action,imp_dbh->actionl,OCI_ATTR_ACTION,imp_dbh->errhp, status);
     }
+#endif
 
+#ifdef OCI_ATTR_MODULE
 	if ((svp=DBD_ATTRIB_GET_SVP(attr, "ora_module_name", 15)) && SvOK(*svp)) {
 		STRLEN  svp_len;
 		if (!SvPOK(*svp))
@@ -455,6 +458,7 @@
 		OCIAttrSet_log_stat(imp_dbh, imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->module_name,imp_dbh->module_namel,OCI_ATTR_MODULE,imp_dbh->errhp, status);
 
     }
+#endif
     if ((svp=DBD_ATTRIB_GET_SVP(attr, "ora_client_identifier", 21)) && SvOK(*svp)) {
 		STRLEN  svp_len;
 		if (!SvPOK(*svp))
@@ -464,6 +468,7 @@
 		OCIAttrSet_log_stat(imp_dbh, imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->client_identifier,imp_dbh->client_identifierl,OCI_ATTR_CLIENT_IDENTIFIER,imp_dbh->errhp, status);
 
     }
+#ifdef OCI_ATTR_CLIENT_INFO
     if ((svp=DBD_ATTRIB_GET_SVP(attr, "ora_client_info", 15)) && SvOK(*svp)) {
 		STRLEN  svp_len;
 		if (!SvPOK(*svp))
@@ -473,7 +478,7 @@
 		OCIAttrSet_log_stat(imp_dbh, imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->client_info,imp_dbh->client_infol,OCI_ATTR_CLIENT_INFO,imp_dbh->errhp, status);
 
     }
-
+#endif
     /* TAF Events */
 	imp_dbh->using_taf = 0;
 
@@ -1182,35 +1187,35 @@
 	else if (kl==13 && strEQ(key, "ora_taf_sleep") ) {
 			imp_dbh->taf_sleep = SvIV (valuesv);
 	}
+#ifdef OCI_ATTR_ACTION
 	else if (kl==10 && strEQ(key, "ora_action") ) {
 		imp_dbh->action = (char *) SvPV (valuesv, vl );
 		imp_dbh->actionl= (ub4) vl;
 		OCIAttrSet_log_stat(imp_dbh, imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->action,imp_dbh->actionl,OCI_ATTR_ACTION,imp_dbh->errhp, status);
 
 	}
-	else if (kl==10 && strEQ(key, "ora_action") ) {
-		imp_dbh->action = (char *) SvPV (valuesv, vl );
-		imp_dbh->actionl= (ub4) vl;
-		OCIAttrSet_log_stat(imp_dbh, imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->action,imp_dbh->actionl,OCI_ATTR_ACTION,imp_dbh->errhp, status);
-
-	}
+#endif
 	else if (kl==21 && strEQ(key, "ora_client_identifier") ) {
 		imp_dbh->client_identifier = (char *) SvPV (valuesv, vl );
 		imp_dbh->client_identifierl= (ub4) vl;
 		OCIAttrSet_log_stat(imp_dbh, imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->client_identifier,imp_dbh->client_identifierl,OCI_ATTR_CLIENT_IDENTIFIER,imp_dbh->errhp, status);
 
 	}
+#ifdef OCI_ATTR_CLIENT_INFO
     else if (kl==15 && strEQ(key, "ora_client_info") ) {
 		imp_dbh->client_info = (char *) SvPV (valuesv, vl );
 		imp_dbh->client_infol= (ub4) vl;
 		OCIAttrSet_log_stat(imp_dbh, imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->client_info,imp_dbh->client_infol,OCI_ATTR_CLIENT_INFO,imp_dbh->errhp, status);
 	}
+#endif
+#ifdef OCI_ATTR_MODULE
 	else if (kl==15 && strEQ(key, "ora_module_name") ) {
 		imp_dbh->module_name = (char *) SvPV (valuesv, vl );
 		imp_dbh->module_namel= (ub4) vl;
 		OCIAttrSet_log_stat(imp_dbh, imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->module_name,imp_dbh->module_namel,OCI_ATTR_MODULE,imp_dbh->errhp, status);
 
 	}
+#endif
 	else if (kl==20 && strEQ(key, "ora_oci_success_warn") ) {
 		oci_warn = SvIV (valuesv);
 	}
@@ -1301,9 +1306,11 @@
 	else if (kl==13 && strEQ(key, "ora_taf_sleep") ) {
 		retsv = newSViv(imp_dbh->taf_sleep);
 	}
+#ifdef OCI_ATTR_ACTION
 	else if (kl==10 && strEQ(key, "ora_action")) {
 		retsv =  newSVpv((char *)imp_dbh->action,0);
 	}
+#endif
     else if (kl==21 && strEQ(key, "ora_client_identifier")) {
 		retsv =  newSVpv((char *)imp_dbh->client_identifier,0);
 	}

Modified: dbd-oracle/trunk/lib/DBD/Oracle.pm
==============================================================================
--- dbd-oracle/trunk/lib/DBD/Oracle.pm	(original)
+++ dbd-oracle/trunk/lib/DBD/Oracle.pm	Sun Apr 22 04:12:01 2012
@@ -1389,7 +1389,7 @@
 
 If you try to set up a callback without it being enabled DBD::Oracle will croak.
 
-It is outside the scope of this documents to go through all of the
+It is outside the scope of this document to go through all of the
 possible TAF situations you might want to set up but here is a simple
 example:
 
@@ -1607,6 +1607,8 @@
 
 The maximum size is 48 bytes.
 
+NOTE: You will need an Oracle client 10.1 or later to use this.
+
 =head4 ora_driver_name
 
 For 11g and later you can now set the name of the driver layer using OCI.
@@ -1629,6 +1631,8 @@
 
   $dbh->{ora_client_info} = "Remote2";
 
+NOTE: You will need an Oracle client 10.1 or later to use this.
+
 =head4 ora_client_identifier
 
 Allows you to specify the user identifier in the session handle.
@@ -1653,6 +1657,8 @@
 
    $dbh->{ora_action} = "New Long Query 22";
 
+NOTE: You will need an Oracle client 10.1 or later to use this.
+
 =head4 ora_dbh_share
 
 Requires at least Perl 5.8.0 compiled with ithreads.