Front page | perl.dbd.oracle.changes |
Postings from March 2012
[svn:dbd-oracle] r15225 - dbd-oracle/trunk
From:
mjevans
Date:
March 15, 2012 10:08
Subject:
[svn:dbd-oracle] r15225 - dbd-oracle/trunk
Message ID:
20120315170826.77187184B87@xx12.develooper.com
Author: mjevans
Date: Thu Mar 15 10:08:24 2012
New Revision: 15225
Modified:
dbd-oracle/trunk/Oracle.xs
dbd-oracle/trunk/dbdimp.c
dbd-oracle/trunk/dbdimp.h
dbd-oracle/trunk/oci8.c
dbd-oracle/trunk/ocitrace.h
Log:
More changes to remove DBIS usage
Modified: dbd-oracle/trunk/Oracle.xs
==============================================================================
--- dbd-oracle/trunk/Oracle.xs (original)
+++ dbd-oracle/trunk/Oracle.xs Thu Mar 15 10:08:24 2012
@@ -305,9 +305,9 @@
croak("ora_pfile is not a string");
str = (text*)SvPV(*svp, svp_len);
OCIHandleAlloc(imp_dbh->envhp, (dvoid**)&admhp, (ub4)OCI_HTYPE_ADMIN, (size_t)0, (dvoid**)0);
- OCIAttrSet_log_stat((dvoid*)admhp, (ub4)OCI_HTYPE_ADMIN, (dvoid*)str, (ub4)svp_len, (ub4)OCI_ATTR_ADMIN_PFILE, (OCIError*)imp_dbh->errhp, status);
+ OCIAttrSet_log_stat(imp_dbh, (dvoid*)admhp, (ub4)OCI_HTYPE_ADMIN, (dvoid*)str, (ub4)svp_len, (ub4)OCI_ATTR_ADMIN_PFILE, (OCIError*)imp_dbh->errhp, status);
}
- OCIDBStartup_log_stat(imp_dbh->svchp, imp_dbh->errhp, admhp, mode, flags, status);
+ OCIDBStartup_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, admhp, mode, flags, status);
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCIDBStartup");
ST(0) = &PL_sv_undef;
@@ -315,7 +315,7 @@
else {
ST(0) = &PL_sv_yes;
}
- if (admhp) OCIHandleFree_log_stat((dvoid*)admhp, (ub4)OCI_HTYPE_ADMIN, status);
+ if (admhp) OCIHandleFree_log_stat(imp_dbh, (dvoid*)admhp, (ub4)OCI_HTYPE_ADMIN, status);
#else
croak("OCIDBStartup not available");
#endif
@@ -338,7 +338,7 @@
mode = OCI_DEFAULT;
DBD_ATTRIB_GET_IV(attribs, "ora_mode", 8, svp, mode);
admhp = (OCIAdmin*)0;
- OCIDBShutdown_log_stat(imp_dbh->svchp, imp_dbh->errhp, admhp, mode, status);
+ OCIDBShutdown_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, admhp, mode, status);
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCIDBShutdown");
ST(0) = &PL_sv_undef;
@@ -359,7 +359,7 @@
ub4 can_taf = 0;
CODE:
#ifdef OCI_ATTR_TAF_ENABLED
- OCIAttrGet_log_stat(imp_dbh->srvhp, OCI_HTYPE_SERVER, &can_taf, NULL,
+ OCIAttrGet_log_stat(imp_dbh, imp_dbh->srvhp, OCI_HTYPE_SERVER, &can_taf, NULL,
OCI_ATTR_TAF_ENABLED, imp_dbh->errhp, status);
if (status != OCI_SUCCESS) {
# else
@@ -391,14 +391,14 @@
/*so we should stay connected but we cannot get nay new connections*/
{
#if !defined(ORA_OCI_102)
- OCIServerVersion_log_stat(imp_dbh->svchp,imp_dbh->errhp,buf,2,OCI_HTYPE_SVCCTX,status);
+ OCIServerVersion_log_stat(imp_dbh, imp_dbh->svchp,imp_dbh->errhp,buf,2,OCI_HTYPE_SVCCTX,status);
#else
vernum = ora_db_version(dbh,imp_dbh);
/* OCIPing causes server failures if called against server ver < 10.2 */
if (((int)((vernum>>24) & 0xFF) < 10 ) || (((int)((vernum>>24) & 0xFF) == 10 ) && ((int)((vernum>>20) & 0x0F) < 2 ))){
- OCIServerVersion_log_stat(imp_dbh->svchp,imp_dbh->errhp,buf,2,OCI_HTYPE_SVCCTX,status);
+ OCIServerVersion_log_stat(imp_dbh, imp_dbh->svchp,imp_dbh->errhp,buf,2,OCI_HTYPE_SVCCTX,status);
} else {
- OCIPing_log_stat(imp_dbh->svchp,imp_dbh->errhp,status);
+ OCIPing_log_stat(imp_dbh, imp_dbh->svchp,imp_dbh->errhp,status);
}
#endif
if (status != OCI_SUCCESS){
@@ -441,7 +441,7 @@
/* if (0 && SvUTF8(data) && !IN_BYTES) { amtp = sv_len_utf8(data); } */
/* added by lab: */
/* LAB do something about length here? see above comment */
- OCILobCharSetForm_log_stat( imp_dbh->envhp, imp_dbh->errhp, locator, &csform, status );
+ OCILobCharSetForm_log_stat(imp_dbh, imp_dbh->envhp, imp_dbh->errhp, locator, &csform, status );
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCILobCharSetForm");
ST(0) = &PL_sv_undef;
@@ -449,7 +449,12 @@
}
#ifdef OCI_ATTR_CHARSET_ID
/* Effectively only used so AL32UTF8 works properly */
- OCILobCharSetId_log_stat( imp_dbh->envhp, imp_dbh->errhp, locator, &csid, status );
+ OCILobCharSetId_log_stat(imp_dbh,
+ imp_dbh->envhp,
+ imp_dbh->errhp,
+ locator,
+ &csid,
+ status );
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCILobCharSetId");
ST(0) = &PL_sv_undef;
@@ -459,7 +464,7 @@
/* if data is utf8 but charset isn't then switch to utf8 csid */
csid = (SvUTF8(data) && !CS_IS_UTF8(csid)) ? utf8_csid : CSFORM_IMPLIED_CSID(csform);
- OCILobWrite_log_stat(imp_dbh->svchp, imp_dbh->errhp, locator,
+ OCILobWrite_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, locator,
&amtp, (ub4)offset,
bufp, (ub4)data_len, OCI_ONE_PIECE,
NULL, NULL,
@@ -497,7 +502,7 @@
/* if (1 && SvUTF8(data) && !IN_BYTES) */
/* added by lab: */
/* LAB do something about length here? see above comment */
- OCILobCharSetForm_log_stat( imp_dbh->envhp, imp_dbh->errhp, locator, &csform, status );
+ OCILobCharSetForm_log_stat(imp_dbh, imp_dbh->envhp, imp_dbh->errhp, locator, &csform, status );
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCILobCharSetForm");
ST(0) = &PL_sv_undef;
@@ -505,7 +510,12 @@
}
#ifdef OCI_ATTR_CHARSET_ID
/* Effectively only used so AL32UTF8 works properly */
- OCILobCharSetId_log_stat( imp_dbh->envhp, imp_dbh->errhp, locator, &csid, status );
+ OCILobCharSetId_log_stat(imp_dbh,
+ imp_dbh->envhp,
+ imp_dbh->errhp,
+ locator,
+ &csid,
+ status );
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCILobCharSetId");
ST(0) = &PL_sv_undef;
@@ -514,7 +524,7 @@
#endif /* OCI_ATTR_CHARSET_ID */
/* if data is utf8 but charset isn't then switch to utf8 csid */
csid = (SvUTF8(data) && !CS_IS_UTF8(csid)) ? utf8_csid : CSFORM_IMPLIED_CSID(csform);
- OCILobWriteAppend_log_stat(imp_dbh->svchp, imp_dbh->errhp, locator,
+ OCILobWriteAppend_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, locator,
&amtp, bufp, (ub4)data_len, OCI_ONE_PIECE,
NULL, NULL,
csid, csform, status);
@@ -554,7 +564,7 @@
/* if locator is CLOB and data is UTF8 and not in bytes pragma */
/* if (0 && SvUTF8(dest_sv) && !IN_BYTES) { amtp = sv_len_utf8(dest_sv); } */
/* added by lab: */
- OCILobCharSetForm_log_stat( imp_dbh->envhp, imp_dbh->errhp, locator, &csform, status );
+ OCILobCharSetForm_log_stat(imp_dbh, imp_dbh->envhp, imp_dbh->errhp, locator, &csform, status );
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCILobCharSetForm");
dest_sv = &PL_sv_undef;
@@ -564,9 +574,9 @@
/* see rt 75163 */
boolean is_open;
- OCILobFileIsOpen_log_stat(imp_dbh->svchp, imp_dbh->errhp, locator, &is_open, status);
+ OCILobFileIsOpen_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, locator, &is_open, status);
if (status == OCI_SUCCESS && !is_open) {
- OCILobFileOpen_log_stat(imp_dbh->svchp, imp_dbh->errhp, locator,
+ OCILobFileOpen_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, locator,
(ub1)OCI_FILE_READONLY, status);
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCILobFileOpen");
@@ -575,7 +585,7 @@
}
}
- OCILobRead_log_stat(imp_dbh->svchp, imp_dbh->errhp, locator,
+ OCILobRead_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, locator,
&amtp, (ub4)offset, /* offset starts at 1 */
bufp, (ub4)bufp_len,
0, 0, (ub2)0, csform, status);
@@ -603,7 +613,7 @@
D_imp_dbh(dbh);
sword status;
CODE:
- OCILobTrim_log_stat(imp_dbh->svchp, imp_dbh->errhp, locator, length, status);
+ OCILobTrim_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, locator, length, status);
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCILobTrim");
ST(0) = &PL_sv_undef;
@@ -621,7 +631,7 @@
sword status;
boolean is_init = 0;
CODE:
- OCILobLocatorIsInit_log_stat(imp_dbh->envhp,imp_dbh->errhp,locator,&is_init,status);
+ OCILobLocatorIsInit_log_stat(imp_dbh, imp_dbh->envhp,imp_dbh->errhp,locator,&is_init,status);
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCILobLocatorIsInit ora_lob_is_init");
ST(0) = &PL_sv_undef;
@@ -639,7 +649,7 @@
sword status;
ub4 len = 0;
CODE:
- OCILobGetLength_log_stat(imp_dbh->svchp, imp_dbh->errhp, locator, &len, status);
+ OCILobGetLength_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, locator, &len, status);
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCILobGetLength ora_lob_length");
ST(0) = &PL_sv_undef;
@@ -658,7 +668,7 @@
sword status;
ub4 chunk_size = 0;
CODE:
- OCILobGetChunkSize_log_stat(imp_dbh->svchp, imp_dbh->errhp, locator, &chunk_size, status);
+ OCILobGetChunkSize_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, locator, &chunk_size, status);
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCILobGetChunkSize");
ST(0) = &PL_sv_undef;
Modified: dbd-oracle/trunk/dbdimp.c
==============================================================================
--- dbd-oracle/trunk/dbdimp.c (original)
+++ dbd-oracle/trunk/dbdimp.c Thu Mar 15 10:08:24 2012
@@ -62,11 +62,12 @@
};
static sql_fbh_t ora2sql_type _((imp_fbh_t* fbh));
-void ora_free_phs_contents _((phs_t *phs));
-static void dump_env_to_trace();
+void ora_free_phs_contents _((imp_sth_t *imp_sth, phs_t *phs));
+static void dump_env_to_trace(imp_dbh_t *imp_dbh);
static sb4
-oci_error_get(OCIError *errhp, sword status, char *what, SV *errstr, int debug)
+oci_error_get(imp_xxh_t *imp_xxh,
+ OCIError *errhp, sword status, char *what, SV *errstr, int debug)
{
dTHX;
text errbuf[1024];
@@ -86,16 +87,17 @@
}
while( ++recno
- && OCIErrorGet_log_stat(errhp, recno, (text*)NULL, &eg_errcode, errbuf,
+ && OCIErrorGet_log_stat(imp_xxh, errhp, recno, (text*)NULL, &eg_errcode, errbuf,
(ub4)sizeof(errbuf), OCI_HTYPE_ERROR, eg_status) != OCI_NO_DATA
- && eg_status != OCI_INVALID_HANDLE
- && recno < 100
+ && eg_status != OCI_INVALID_HANDLE
+ && recno < 100
) {
if (debug >= 4 || recno>1/*XXX temp*/ || dbd_verbose >= 4 )
- PerlIO_printf(DBILOGFP, " OCIErrorGet after %s (er%ld:%s): %d, %ld: %s\n",
- what ? what : "<NULL>", (long)recno,
- (eg_status==OCI_SUCCESS) ? "ok" : oci_status_name(eg_status),
- status, (long)eg_errcode, errbuf);
+ PerlIO_printf(DBIc_LOGPIO(imp_xxh),
+ " OCIErrorGet after %s (er%ld:%s): %d, %ld: %s\n",
+ what ? what : "<NULL>", (long)recno,
+ (eg_status==OCI_SUCCESS) ? "ok" : oci_status_name(eg_status),
+ status, (long)eg_errcode, errbuf);
errcode = eg_errcode;
sv_catpv(errstr, (char*)errbuf);
if (*(SvEND(errstr)-1) == '\n')
@@ -205,34 +207,32 @@
{
dTHR;
dTHX;
- /* The disconnect_all concept is flawed and needs more work */
+
+ /* The disconnect_all concept is flawed and needs more work */
if (!PL_dirty && !SvTRUE(perl_get_sv("DBI::PERL_ENDING",0))) {
- DBIh_SET_ERR_CHAR(drh, (imp_xxh_t*)imp_drh, Nullch, 1, "disconnect_all not implemented", Nullch, Nullch);
- return FALSE;
+ DBIh_SET_ERR_CHAR(drh, (imp_xxh_t*)imp_drh, Nullch, 1, "disconnect_all not implemented", Nullch, Nullch);
+ return FALSE;
}
return FALSE;
}
-
void
-dbd_fbh_dump(imp_fbh_t *fbh, int i, int aidx)
+dbd_fbh_dump(imp_sth_t *imp_sth, imp_fbh_t *fbh, int i, int aidx)
{
dTHX;
- PerlIO *fp = DBILOGFP;
- PerlIO_printf(fp, " fbh %d: '%s'\t%s, ",
+ PerlIO_printf(DBIc_LOGPIO(imp_sth), " fbh %d: '%s'\t%s, ",
i, fbh->name, (fbh->nullok) ? "NULLable" : "NO null ");
- PerlIO_printf(fp, "otype %3d->%3d, dbsize %ld/%ld, p%d.s%d\n",
+ PerlIO_printf(DBIc_LOGPIO(imp_sth), "otype %3d->%3d, dbsize %ld/%ld, p%d.s%d\n",
fbh->dbtype, fbh->ftype, (long)fbh->dbsize,(long)fbh->disize,
fbh->prec, fbh->scale);
if (fbh->fb_ary) {
- PerlIO_printf(fp, " out: ftype %d, bufl %d. indp %d, rlen %d, rcode %d\n",
+ PerlIO_printf(DBIc_LOGPIO(imp_sth), " out: ftype %d, bufl %d. indp %d, rlen %d, rcode %d\n",
fbh->ftype, fbh->fb_ary->bufl, fbh->fb_ary->aindp[aidx],
fbh->fb_ary->arlen[aidx], fbh->fb_ary->arcode[aidx]);
}
}
-
int
ora_dbtype_is_long(int dbtype)
{
@@ -430,10 +430,10 @@
croak("ora_driver_name is not a string");
imp_dbh->driver_name = (char *) SvPV (*svp, svp_len );
imp_dbh->driver_namel= (ub4) svp_len;
- OCIAttrSet_log_stat(imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->driver_name,imp_dbh->driver_namel,OCI_ATTR_DRIVER_NAME,imp_dbh->errhp, status);
+ OCIAttrSet_log_stat(imp_dbh, imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->driver_name,imp_dbh->driver_namel,OCI_ATTR_DRIVER_NAME,imp_dbh->errhp, status);
}
else {
- OCIAttrSet_log_stat(imp_dbh->seshp,OCI_HTYPE_SESSION,(text*)"DBDO1.28",7,OCI_ATTR_DRIVER_NAME,imp_dbh->errhp, status);
+ OCIAttrSet_log_stat(imp_dbh, imp_dbh->seshp,OCI_HTYPE_SESSION,(text*)"DBDO1.28",7,OCI_ATTR_DRIVER_NAME,imp_dbh->errhp, status);
}
#endif /*ORA_OCI_112*/
@@ -443,7 +443,7 @@
croak("ora_action is not a string");
imp_dbh->action = (char *) SvPV (*svp, svp_len );
imp_dbh->actionl= (ub4) svp_len;
- OCIAttrSet_log_stat(imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->action,imp_dbh->actionl,OCI_ATTR_ACTION,imp_dbh->errhp, status);
+ OCIAttrSet_log_stat(imp_dbh, imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->action,imp_dbh->actionl,OCI_ATTR_ACTION,imp_dbh->errhp, status);
}
if ((svp=DBD_ATTRIB_GET_SVP(attr, "ora_module_name", 15)) && SvOK(*svp)) {
@@ -452,7 +452,7 @@
croak("ora_module_name is not a string");
imp_dbh->module_name = (char *) SvPV (*svp, svp_len );
imp_dbh->module_namel= (ub4) svp_len;
- OCIAttrSet_log_stat(imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->module_name,imp_dbh->module_namel,OCI_ATTR_MODULE,imp_dbh->errhp, status);
+ 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);
}
if ((svp=DBD_ATTRIB_GET_SVP(attr, "ora_client_identifier", 21)) && SvOK(*svp)) {
@@ -461,7 +461,7 @@
croak("ora_client_identifier is not a string");
imp_dbh->client_identifier = (char *) SvPV (*svp, svp_len );
imp_dbh->client_identifierl= (ub4) svp_len;
- OCIAttrSet_log_stat(imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->client_identifier,imp_dbh->client_identifierl,OCI_ATTR_CLIENT_IDENTIFIER,imp_dbh->errhp, status);
+ 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);
}
if ((svp=DBD_ATTRIB_GET_SVP(attr, "ora_client_info", 15)) && SvOK(*svp)) {
@@ -470,7 +470,7 @@
croak("ora_client_info is not a string");
imp_dbh->client_info = (char *) SvPV (*svp, svp_len );
imp_dbh->client_infol= (ub4) svp_len;
- OCIAttrSet_log_stat(imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->client_info,imp_dbh->client_infol,OCI_ATTR_CLIENT_INFO,imp_dbh->errhp, status);
+ 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);
}
@@ -513,7 +513,7 @@
DBD_ATTRIB_GET_IV( attr, "ora_objects",11, svp, ora_objects);
if (DBIc_DBISTATE(imp_dbh)->debug >= 6 || dbd_verbose >= 6 )
- dump_env_to_trace();
+ dump_env_to_trace(imp_dbh);
/* dbi_imp_data code adapted from DBD::mysql */
if (DBIc_has(imp_dbh, DBIcf_IMPSET)) {
@@ -590,14 +590,14 @@
{
size_t rsize = 0;
/* Get CLIENT char and nchar charset id values */
- OCINlsEnvironmentVariableGet_log_stat( &charsetid,(size_t) 0, OCI_NLS_CHARSET_ID, 0, &rsize ,status );
+ OCINlsEnvironmentVariableGet_log_stat(imp_dbh, &charsetid,(size_t) 0, OCI_NLS_CHARSET_ID, 0, &rsize ,status );
if (status != OCI_SUCCESS) {
oci_error(dbh, NULL, status,
"OCINlsEnvironmentVariableGet(OCI_NLS_CHARSET_ID) Check NLS settings etc.");
return 0;
}
- OCINlsEnvironmentVariableGet_log_stat( &ncharsetid,(size_t) 0, OCI_NLS_NCHARSET_ID, 0, &rsize ,status );
+ OCINlsEnvironmentVariableGet_log_stat(imp_dbh, &ncharsetid,(size_t) 0, OCI_NLS_NCHARSET_ID, 0, &rsize ,status );
if (status != OCI_SUCCESS) {
oci_error(dbh, NULL, status,
"OCINlsEnvironmentVariableGet(OCI_NLS_NCHARSET_ID) Check NLS settings etc.");
@@ -624,7 +624,7 @@
form attribute.
}*/
- OCIEnvNlsCreate_log_stat( &imp_dbh->envhp, init_mode, 0, NULL, NULL, NULL, 0, 0,
+ OCIEnvNlsCreate_log_stat(imp_dbh, &imp_dbh->envhp, init_mode, 0, NULL, NULL, NULL, 0, 0,
charsetid, ncharsetid, status );
if (status != OCI_SUCCESS) {
@@ -665,7 +665,7 @@
if (new_charsetid) charsetid = new_charsetid;
if (new_ncharsetid) ncharsetid = new_ncharsetid;
imp_dbh->envhp = NULL;
- OCIEnvNlsCreate_log_stat( &imp_dbh->envhp, init_mode, 0, NULL, NULL, NULL, 0, 0,
+ OCIEnvNlsCreate_log_stat(imp_dbh, &imp_dbh->envhp, init_mode, 0, NULL, NULL, NULL, 0, 0,
charsetid, ncharsetid, status );
if (status != OCI_SUCCESS) {
oci_error(dbh, NULL, status,
@@ -686,7 +686,7 @@
if (shared_dbh_ssv) { /*is this a cached or shared handle from DBI*/
if (!imp_dbh->envhp) { /*no hande so create a new one*/
- OCIEnvInit_log_stat( &imp_dbh->envhp, OCI_DEFAULT, 0, 0, status);
+ OCIEnvInit_log_stat(imp_dbh, &imp_dbh->envhp, OCI_DEFAULT, 0, 0, status);
if (status != OCI_SUCCESS) {
oci_error(dbh, (OCIError*)imp_dbh->envhp, status, "OCIEnvInit");
return 0;
@@ -694,8 +694,8 @@
}
}
- OCIHandleAlloc_ok(imp_dbh->envhp, &imp_dbh->errhp, OCI_HTYPE_ERROR, status);
- OCIAttrGet_log_stat(imp_dbh->envhp, OCI_HTYPE_ENV, &charsetid, (ub4)0 ,
+ OCIHandleAlloc_ok(imp_dbh, imp_dbh->envhp, &imp_dbh->errhp, OCI_HTYPE_ERROR, status);
+ OCIAttrGet_log_stat(imp_dbh, imp_dbh->envhp, OCI_HTYPE_ENV, &charsetid, (ub4)0 ,
OCI_ATTR_ENV_CHARSET_ID, imp_dbh->errhp, status);
if (status != OCI_SUCCESS) {
@@ -703,7 +703,7 @@
return 0;
}
- OCIAttrGet_log_stat(imp_dbh->envhp, OCI_HTYPE_ENV, &ncharsetid, (ub4)0 ,
+ OCIAttrGet_log_stat(imp_dbh, imp_dbh->envhp, OCI_HTYPE_ENV, &ncharsetid, (ub4)0 ,
OCI_ATTR_ENV_NCHARSET_ID, imp_dbh->errhp, status);
if (status != OCI_SUCCESS) {
@@ -735,12 +735,12 @@
if (!shared_dbh) {
- OCIHandleAlloc_ok(imp_dbh->envhp, &imp_dbh->srvhp, OCI_HTYPE_SERVER, status);
+ OCIHandleAlloc_ok(imp_dbh, imp_dbh->envhp, &imp_dbh->srvhp, OCI_HTYPE_SERVER, status);
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCIServerAttach");
- 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, imp_dbh->srvhp, OCI_HTYPE_SERVER, status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->errhp, OCI_HTYPE_ERROR, status);
return 0;
}
@@ -762,57 +762,60 @@
if (!imp_dbh->pool_incr)
imp_dbh->pool_incr = 2;
- OCIHandleAlloc_ok(imp_dbh->envhp, &imp_dbh->poolhp, OCI_HTYPE_SPOOL, status);
+ OCIHandleAlloc_ok(imp_dbh, imp_dbh->envhp, &imp_dbh->poolhp, OCI_HTYPE_SPOOL, status);
- OCISessionPoolCreate_log_stat(imp_dbh->envhp,
- imp_dbh->errhp,
- imp_dbh->poolhp,
- (OraText **) &imp_dbh->pool_name,
- (ub4 *) &imp_dbh->pool_namel,
- (OraText *) dbname,
- strlen(dbname),
- imp_dbh->pool_min,
- imp_dbh->pool_max,
- imp_dbh->pool_incr,
- (OraText *) uid,
- strlen(uid),
- (OraText *) pwd,
- strlen(pwd),
- status);
+ OCISessionPoolCreate_log_stat(
+ imp_dbh,
+ imp_dbh->envhp,
+ imp_dbh->errhp,
+ imp_dbh->poolhp,
+ (OraText **) &imp_dbh->pool_name,
+ (ub4 *) &imp_dbh->pool_namel,
+ (OraText *) dbname,
+ strlen(dbname),
+ imp_dbh->pool_min,
+ imp_dbh->pool_max,
+ imp_dbh->pool_incr,
+ (OraText *) uid,
+ strlen(uid),
+ (OraText *) pwd,
+ strlen(pwd),
+ status);
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCISessionPoolCreate");
- OCIServerDetach_log_stat(imp_dbh->srvhp, imp_dbh->errhp, OCI_DEFAULT, status);
- OCIHandleFree_log_stat(imp_dbh->poolhp, OCI_HTYPE_SPOOL,status);
- OCIHandleFree_log_stat(imp_dbh->srvhp, OCI_HTYPE_SERVER, status);
- OCIHandleFree_log_stat(imp_dbh->errhp, OCI_HTYPE_ERROR, status);
+ OCIServerDetach_log_stat(imp_dbh, imp_dbh->srvhp, imp_dbh->errhp, OCI_DEFAULT, status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->poolhp, OCI_HTYPE_SPOOL,status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->srvhp, OCI_HTYPE_SERVER, status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->errhp, OCI_HTYPE_ERROR, status);
return 0;
}
- OCIHandleAlloc_ok(imp_dbh->envhp, &imp_dbh->authp, OCI_HTYPE_AUTHINFO, status);
+ OCIHandleAlloc_ok(imp_dbh, imp_dbh->envhp, &imp_dbh->authp, OCI_HTYPE_AUTHINFO, status);
- OCIAttrSet_log_stat(imp_dbh->authp, (ub4) OCI_HTYPE_AUTHINFO,
+ OCIAttrSet_log_stat(imp_dbh, imp_dbh->authp, (ub4) OCI_HTYPE_AUTHINFO,
&purity, (ub4) 0,(ub4) OCI_ATTR_PURITY, imp_dbh->errhp, status);
if (imp_dbh->pool_class) /*pool_class may or may not be used */
- OCIAttrSet_log_stat(imp_dbh->authp, (ub4) OCI_HTYPE_AUTHINFO,
+ OCIAttrSet_log_stat(imp_dbh, imp_dbh->authp, (ub4) OCI_HTYPE_AUTHINFO,
(OraText *) imp_dbh->pool_class, (ub4) imp_dbh->pool_classl,
(ub4) OCI_ATTR_CONNECTION_CLASS, imp_dbh->errhp, status);
cred_type = ora_parse_uid(imp_dbh, &uid, &pwd);
- OCISessionGet_log_stat(imp_dbh->envhp, imp_dbh->errhp, &imp_dbh->svchp, imp_dbh->authp,
+ OCISessionGet_log_stat(imp_dbh, imp_dbh->envhp, imp_dbh->errhp, &imp_dbh->svchp, imp_dbh->authp,
imp_dbh->pool_name, (ub4)strlen((char *)imp_dbh->pool_name), status);
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCISessionGet");
- OCIServerDetach_log_stat(imp_dbh->srvhp, imp_dbh->errhp, OCI_DEFAULT, status);
- OCISessionPoolDestroy(imp_dbh->poolhp, imp_dbh->errhp,status);
- OCIHandleFree_log_stat(imp_dbh->poolhp, OCI_HTYPE_SPOOL,status);
- OCIHandleFree_log_stat(imp_dbh->srvhp, OCI_HTYPE_SERVER, status);
- OCIHandleFree_log_stat(imp_dbh->errhp, OCI_HTYPE_ERROR, status);
+ OCIServerDetach_log_stat(imp_dbh, imp_dbh->srvhp, imp_dbh->errhp, OCI_DEFAULT, status);
+ OCISessionPoolDestroy_log_stat(
+ imp_dbh, imp_dbh->poolhp, imp_dbh->errhp,status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->poolhp, OCI_HTYPE_SPOOL,status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->srvhp, OCI_HTYPE_SERVER, status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->errhp, OCI_HTYPE_ERROR, status);
return 0;
}
@@ -833,28 +836,28 @@
else {
#endif /* ORA_OCI_112 */
- OCIHandleAlloc_ok(imp_dbh->envhp, &imp_dbh->svchp, OCI_HTYPE_SVCCTX, status);
+ OCIHandleAlloc_ok(imp_dbh, 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);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->seshp, OCI_HTYPE_SESSION,status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->srvhp, OCI_HTYPE_SERVER, status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->errhp, OCI_HTYPE_ERROR, status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->svchp, OCI_HTYPE_SVCCTX, status);
if (forced_new_environment)
- OCIHandleFree_log_stat(imp_dbh->envhp, OCI_HTYPE_ENV, status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->envhp, OCI_HTYPE_ENV, status);
return 0;
}
- OCIAttrSet_log_stat( imp_dbh->svchp, OCI_HTYPE_SVCCTX, imp_dbh->srvhp,
+ OCIAttrSet_log_stat(imp_dbh, imp_dbh->svchp, OCI_HTYPE_SVCCTX, imp_dbh->srvhp,
(ub4) 0, OCI_ATTR_SERVER, imp_dbh->errhp, status);
- OCIHandleAlloc_ok(imp_dbh->envhp, &imp_dbh->seshp, OCI_HTYPE_SESSION, status);
+ OCIHandleAlloc_ok(imp_dbh, imp_dbh->envhp, &imp_dbh->seshp, OCI_HTYPE_SESSION, status);
cred_type = ora_parse_uid(imp_dbh, &uid, &pwd);
- OCISessionBegin_log_stat( imp_dbh->svchp, imp_dbh->errhp, imp_dbh->seshp,cred_type, sess_mode_type, status);
+ OCISessionBegin_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, imp_dbh->seshp,cred_type, sess_mode_type, status);
if (status == OCI_SUCCESS_WITH_INFO) {
/* eg ORA-28011: the account will expire soon; change your password now */
@@ -863,17 +866,17 @@
}
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCISessionBegin");
- OCIServerDetach_log_stat(imp_dbh->srvhp, imp_dbh->errhp, OCI_DEFAULT, status);
- 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);
+ OCIServerDetach_log_stat(imp_dbh, imp_dbh->srvhp, imp_dbh->errhp, OCI_DEFAULT, status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->seshp, OCI_HTYPE_SESSION,status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->srvhp, OCI_HTYPE_SERVER, status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->errhp, OCI_HTYPE_ERROR, status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->svchp, OCI_HTYPE_SVCCTX, status);
if (forced_new_environment)
- OCIHandleFree_log_stat(imp_dbh->envhp, OCI_HTYPE_ENV, status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->envhp, OCI_HTYPE_ENV, status);
return 0;
}
- OCIAttrSet_log_stat(imp_dbh->svchp, (ub4) OCI_HTYPE_SVCCTX,
+ OCIAttrSet_log_stat(imp_dbh, imp_dbh->svchp, (ub4) OCI_HTYPE_SVCCTX,
imp_dbh->seshp, (ub4) 0,(ub4) OCI_ATTR_SESSION, imp_dbh->errhp, status);
#ifdef ORA_OCI_112
}
@@ -912,7 +915,7 @@
can_taf = 0;
#ifdef OCI_ATTR_TAF_ENABLED
- OCIAttrGet_log_stat(imp_dbh->srvhp, OCI_HTYPE_SERVER, &can_taf, NULL,
+ OCIAttrGet_log_stat(imp_dbh, imp_dbh->srvhp, OCI_HTYPE_SERVER, &can_taf, NULL,
OCI_ATTR_TAF_ENABLED, imp_dbh->errhp, status);
#endif
@@ -943,7 +946,7 @@
{
dTHX;
sword status;
- OCITransCommit_log_stat(imp_dbh->svchp, imp_dbh->errhp, OCI_DEFAULT, status);
+ OCITransCommit_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, OCI_DEFAULT, status);
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCITransCommit");
return 0;
@@ -966,7 +969,7 @@
/* if we are using a scrolling cursor we should get rid of the
cursor by fetching row 0 */
if (imp_sth->exe_mode==OCI_STMT_SCROLLABLE_READONLY){
- OCIStmtFetch_log_stat(imp_sth->stmhp, imp_sth->errhp, 0,OCI_FETCH_NEXT,0, status);
+ OCIStmtFetch_log_stat(imp_sth, imp_sth->stmhp, imp_sth->errhp, 0,OCI_FETCH_NEXT,0, status);
}
return 1;
}
@@ -978,7 +981,7 @@
{
dTHX;
sword status;
- OCITransRollback_log_stat(imp_dbh->svchp, imp_dbh->errhp, OCI_DEFAULT, status);
+ OCITransRollback_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, OCI_DEFAULT, status);
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCITransRollback");
return 0;
@@ -1056,17 +1059,17 @@
sword s_se, s_sd;
#ifdef ORA_OCI_112
if (imp_dbh->using_drcp) {
- OCISessionRelease_log_stat(imp_dbh->svchp, imp_dbh->errhp,s_se);
+ OCISessionRelease_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp,s_se);
}
else {
#endif
- OCISessionEnd_log_stat(imp_dbh->svchp, imp_dbh->errhp, imp_dbh->seshp,
+ OCISessionEnd_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, imp_dbh->seshp,
OCI_DEFAULT, s_se);
#ifdef ORA_OCI_112
}
#endif
if (s_se) oci_error(dbh, imp_dbh->errhp, s_se, "OCISessionEnd");
- OCIServerDetach_log_stat(imp_dbh->srvhp, imp_dbh->errhp, OCI_DEFAULT, s_sd);
+ OCIServerDetach_log_stat(imp_dbh, imp_dbh->srvhp, imp_dbh->errhp, OCI_DEFAULT, s_sd);
if (s_sd) oci_error(dbh, imp_dbh->errhp, s_sd, "OCIServerDetach");
if (s_se || s_sd)
return 0;
@@ -1104,29 +1107,29 @@
OCIFocbkStruct tafailover;
tafailover.fo_ctx = NULL;
tafailover.callback_function = NULL;
- OCIAttrSet_log_stat(imp_dbh->srvhp, (ub4) OCI_HTYPE_SERVER,
+ OCIAttrSet_log_stat(imp_dbh, imp_dbh->srvhp, (ub4) OCI_HTYPE_SERVER,
(dvoid *) &tafailover, (ub4) 0,
(ub4) OCI_ATTR_FOCBK, imp_dbh->errhp, status);
}
#ifdef ORA_OCI_112
if (imp_dbh->using_drcp) {
- OCIHandleFree_log_stat(imp_dbh->authp, OCI_HTYPE_SESSION,status);
- OCISessionPoolDestroy_log_stat(imp_dbh->poolhp, imp_dbh->errhp,status);
- OCIHandleFree_log_stat(imp_dbh->poolhp, OCI_HTYPE_SPOOL,status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->authp, OCI_HTYPE_SESSION,status);
+ OCISessionPoolDestroy_log_stat(imp_dbh, imp_dbh->poolhp, imp_dbh->errhp,status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->poolhp, OCI_HTYPE_SPOOL,status);
}
else {
#endif
- OCIHandleFree_log_stat(imp_dbh->seshp, OCI_HTYPE_SESSION,status);
- OCIHandleFree_log_stat(imp_dbh->svchp, OCI_HTYPE_SVCCTX, status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->seshp, OCI_HTYPE_SESSION,status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->svchp, OCI_HTYPE_SVCCTX, status);
#ifdef ORA_OCI_112
}
#endif
- OCIHandleFree_log_stat(imp_dbh->srvhp, OCI_HTYPE_SERVER, status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->srvhp, OCI_HTYPE_SERVER, status);
}
- OCIHandleFree_log_stat(imp_dbh->errhp, OCI_HTYPE_ERROR, status);
+ OCIHandleFree_log_stat(imp_dbh, imp_dbh->errhp, OCI_HTYPE_ERROR, status);
dbd_db_destroy_out:
DBIc_IMPSET_off(imp_dbh);
}
@@ -1150,7 +1153,7 @@
else if (kl==15 && strEQ(key, "ora_driver_name") ) {
imp_dbh->driver_name = (char *) SvPV (valuesv, vl );
imp_dbh->driver_namel= (ub4) vl;
- OCIAttrSet_log_stat(imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->driver_name,imp_dbh->driver_namel,OCI_ATTR_DRIVER_NAME,imp_dbh->errhp, status);
+ OCIAttrSet_log_stat(imp_dbh, imp_dbh->seshp,OCI_HTYPE_SESSION, imp_dbh->driver_name,imp_dbh->driver_namel,OCI_ATTR_DRIVER_NAME,imp_dbh->errhp, status);
}
else if (kl==8 && strEQ(key, "ora_drcp") ) {
imp_dbh->using_drcp = 1;
@@ -1182,30 +1185,30 @@
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->seshp,OCI_HTYPE_SESSION, imp_dbh->action,imp_dbh->actionl,OCI_ATTR_ACTION,imp_dbh->errhp, status);
+ 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->seshp,OCI_HTYPE_SESSION, imp_dbh->action,imp_dbh->actionl,OCI_ATTR_ACTION,imp_dbh->errhp, status);
+ 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==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->seshp,OCI_HTYPE_SESSION, imp_dbh->client_identifier,imp_dbh->client_identifierl,OCI_ATTR_CLIENT_IDENTIFIER,imp_dbh->errhp, status);
+ 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);
}
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->seshp,OCI_HTYPE_SESSION, imp_dbh->client_info,imp_dbh->client_infol,OCI_ATTR_CLIENT_INFO,imp_dbh->errhp, status);
+ 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);
}
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->seshp,OCI_HTYPE_SESSION, imp_dbh->module_name,imp_dbh->module_namel,OCI_ATTR_MODULE,imp_dbh->errhp, status);
+ 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);
}
else if (kl==20 && strEQ(key, "ora_oci_success_warn") ) {
@@ -1391,9 +1394,9 @@
PerlIO_printf(DBIc_LOGPIO(imp_sth),
" use a temp lob locator for large xml \n");
- OCIDescriptorAlloc_ok(imp_dbh->envhp, &src_ptr, OCI_DTYPE_LOB);
+ OCIDescriptorAlloc_ok(imp_dbh, imp_dbh->envhp, &src_ptr, OCI_DTYPE_LOB);
- OCILobCreateTemporary_log_stat(imp_dbh->svchp, imp_sth->errhp,
+ OCILobCreateTemporary_log_stat(imp_dbh, imp_dbh->svchp, imp_sth->errhp,
(OCILobLocator *) src_ptr, (ub2) OCI_DEFAULT,
(ub1) OCI_DEFAULT, OCI_TEMP_CLOB, FALSE, OCI_DURATION_SESSION, status);
@@ -1402,7 +1405,7 @@
}
csid = (SvUTF8(source) && !CS_IS_UTF8(csid)) ? utf8_csid : CSFORM_IMPLIED_CSID(csform);
buflen = len;
- OCILobWriteAppend_log_stat(imp_dbh->svchp, imp_dbh->errhp, src_ptr,
+ OCILobWriteAppend_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, src_ptr,
&buflen, bufp, (ub4)len, OCI_ONE_PIECE,
NULL, NULL,
csid, csform, status);
@@ -1425,13 +1428,15 @@
- status = OCIXMLTypeCreateFromSrc(imp_dbh->svchp,
- imp_dbh->errhp,
- (OCIDuration)OCI_DURATION_CALLOUT,
- (ub1)src_type,
- (dvoid *)src_ptr,
- (sb4)OCI_IND_NOTNULL,
- &xml);
+ OCIXMLTypeCreateFromSrc_log_stat(imp_dbh,
+ imp_dbh->svchp,
+ imp_dbh->errhp,
+ (OCIDuration)OCI_DURATION_CALLOUT,
+ (ub1)src_type,
+ (dvoid *)src_ptr,
+ (sb4)OCI_IND_NOTNULL,
+ &xml,
+ status);
if (status != OCI_SUCCESS) {
oci_error(sth, imp_sth->errhp, status, "OCIXMLTypeCreateFromSrc");
@@ -1442,7 +1447,7 @@
OCILobFreeTemporary(imp_dbh->svchp, imp_dbh->errhp,
(OCILobLocator*) src_ptr);
- OCIDescriptorFree((dvoid *) src_ptr, (ub4) OCI_DTYPE_LOB);
+ OCIDescriptorFree_log(imp_dbh, (dvoid *) src_ptr, (ub4) OCI_DTYPE_LOB);
}
@@ -1923,7 +1928,7 @@
}
}
/* Do actual bind */
- OCIBindByName_log_stat(imp_sth->stmhp, &phs->bndhp, imp_sth->errhp,
+ OCIBindByName_log_stat(imp_sth, imp_sth->stmhp, &phs->bndhp, imp_sth->errhp,
(text*)phs->name, (sb4)strlen(phs->name),
phs->array_buf,
phs->maxlen,
@@ -1939,7 +1944,7 @@
oci_error(sth, imp_sth->errhp, status, "OCIBindByName");
return 0;
}
- OCIBindArrayOfStruct_log_stat(phs->bndhp, imp_sth->errhp,
+ OCIBindArrayOfStruct_log_stat(imp_sth, phs->bndhp, imp_sth->errhp,
(unsigned)phs->maxlen, /* Skip parameter for the next data value */
(unsigned)sizeof (OCIInd), /* Skip parameter for the next indicator value */
(unsigned)sizeof(unsigned short), /* Skip parameter for the next actual length value */
@@ -1952,7 +1957,7 @@
/* Fixup charset */
if (csform) {
/* set OCI_ATTR_CHARSET_FORM before we get the default OCI_ATTR_CHARSET_ID */
- OCIAttrSet_log_stat(phs->bndhp, (ub4) OCI_HTYPE_BIND,
+ OCIAttrSet_log_stat(imp_sth, phs->bndhp, (ub4) OCI_HTYPE_BIND,
&csform, (ub4) 0, (ub4) OCI_ATTR_CHARSET_FORM, imp_sth->errhp, status);
if ( status != OCI_SUCCESS ) {
oci_error(sth, imp_sth->errhp, status, ora_sql_error(imp_sth,"OCIAttrSet (OCI_ATTR_CHARSET_FORM)"));
@@ -1961,7 +1966,7 @@
}
if (!phs->csid_orig) { /* get the default csid Oracle would use */
- OCIAttrGet_log_stat(phs->bndhp, OCI_HTYPE_BIND, &phs->csid_orig, (ub4)0 ,
+ OCIAttrGet_log_stat(imp_sth, phs->bndhp, OCI_HTYPE_BIND, &phs->csid_orig, (ub4)0 ,
OCI_ATTR_CHARSET_ID, imp_sth->errhp, status);
}
@@ -1986,7 +1991,7 @@
if (csid) {
- OCIAttrSet_log_stat(phs->bndhp, (ub4) OCI_HTYPE_BIND,
+ OCIAttrSet_log_stat(imp_sth, phs->bndhp, (ub4) OCI_HTYPE_BIND,
&csid, (ub4) 0, (ub4) OCI_ATTR_CHARSET_ID, imp_sth->errhp, status);
if ( status != OCI_SUCCESS ) {
oci_error(sth, imp_sth->errhp, status, ora_sql_error(imp_sth,"OCIAttrSet (OCI_ATTR_CHARSET_ID)"));
@@ -1995,7 +2000,7 @@
}
if (phs->maxdata_size) {
- OCIAttrSet_log_stat(phs->bndhp, (ub4)OCI_HTYPE_BIND,
+ OCIAttrSet_log_stat(imp_sth, phs->bndhp, (ub4)OCI_HTYPE_BIND,
phs->array_buf, (ub4)phs->array_buflen, (ub4)OCI_ATTR_MAXDATA_SIZE, imp_sth->errhp, status);
if ( status != OCI_SUCCESS ) {
oci_error(sth, imp_sth->errhp, status, ora_sql_error(imp_sth,"OCIAttrSet (OCI_ATTR_MAXDATA_SIZE)"));
@@ -2009,10 +2014,10 @@
/* Copy array data from array buffer into perl array */
/* Returns false on error, true on success */
-int dbd_phs_varchar_table_posy_exe(phs_t *phs){
+int dbd_phs_varchar_table_posy_exe(imp_sth_t *imp_sth, phs_t *phs){
dTHX;
- int trace_level = DBIS->debug;
+ int trace_level = DBIc_DBISTATE(imp_sth)->debug;
AV *arr;
if( ( ! SvROK(phs->sv) ) || (SvTYPE(SvRV(phs->sv))!=SVt_PVAV) ) { /* Allow only array binds */
@@ -2020,7 +2025,7 @@
neatsvpv(phs->sv,0), phs->name);
}
if (trace_level >= 1 || dbd_verbose >= 3 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_varchar_table_posy_exe(): Called for '%s' : array_numstruct=%d, maxlen=%ld \n",
phs->name,
phs->array_numstruct,
@@ -2060,14 +2065,14 @@
if( item ){
SvSetMagicSV(item,&PL_sv_undef);
if (trace_level >= 3 || dbd_verbose >= 3 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_varchar_table_posy_exe(): arr[%d] = undef; SvSetMagicSV(item,&PL_sv_undef);\n",i);
}
}
else{
av_store(arr,i,&PL_sv_undef);
if (trace_level >= 3 || dbd_verbose >= 3 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_varchar_table_posy_exe(): arr[%d] = undef; av_store(arr,i,&PL_sv_undef);\n",i);
}
}
@@ -2076,7 +2081,7 @@
if( (phs->array_indicators[i] == -2) || (phs->array_indicators[i] > 0) ){
/* Truncation occurred */
if (trace_level >= 2 || dbd_verbose >= 3 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_varchar_table_posy_exe(): Placeholder '%s': data truncated at %d row.\n",
phs->name,i);
}
@@ -2088,7 +2093,7 @@
sv_setpvn_mg(item,phs->array_buf+phs->maxlen*i,phs->array_lengths[i]);
SvPOK_only_UTF8(item);
if (trace_level >= 3 || dbd_verbose >= 3 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_varchar_table_posy_exe(): arr[%d] = '%s'; "
"sv_setpvn_mg(item,phs->array_buf+phs->maxlen*i,phs->array_lengths[i]); \n",
i, phs->array_buf+phs->maxlen*i
@@ -2098,7 +2103,7 @@
else{
av_store(arr,i,newSVpvn(phs->array_buf+phs->maxlen*i,phs->array_lengths[i]));
if (trace_level >= 3 || dbd_verbose >= 3 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_varchar_table_posy_exe(): arr[%d] = '%s'; "
"av_store(arr,i,newSVpvn(phs->array_buf+phs->maxlen*i,phs->array_lengths[i])); \n",
i, phs->array_buf+phs->maxlen*i
@@ -2109,7 +2114,7 @@
}
}
if (trace_level >= 2 || dbd_verbose >= 3 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_varchar_table_posy_exe(): scalar(@arr)=%ld.\n",
(long)av_len(arr)+1);
}
@@ -2359,7 +2364,7 @@
}
}
/* Do actual bind */
- OCIBindByName_log_stat(imp_sth->stmhp, &phs->bndhp, imp_sth->errhp,
+ OCIBindByName_log_stat(imp_sth, imp_sth->stmhp, &phs->bndhp, imp_sth->errhp,
(text*)phs->name, (sb4)strlen(phs->name),
phs->array_buf,
phs->maxlen,
@@ -2375,7 +2380,7 @@
oci_error(sth, imp_sth->errhp, status, "OCIBindByName");
return 0;
}
- OCIBindArrayOfStruct_log_stat(phs->bndhp, imp_sth->errhp,
+ OCIBindArrayOfStruct_log_stat(imp_sth, phs->bndhp, imp_sth->errhp,
(unsigned)phs->maxlen, /* Skip parameter for the next data value */
(unsigned)sizeof(OCIInd), /* Skip parameter for the next indicator value */
(unsigned)sizeof(unsigned short), /* Skip parameter for the next actual length value */
@@ -2386,7 +2391,7 @@
return 0;
}
if (phs->maxdata_size) {
- OCIAttrSet_log_stat(phs->bndhp, (ub4)OCI_HTYPE_BIND,
+ OCIAttrSet_log_stat(imp_sth, phs->bndhp, (ub4)OCI_HTYPE_BIND,
phs->array_buf, (ub4)phs->array_buflen, (ub4)OCI_ATTR_MAXDATA_SIZE, imp_sth->errhp, status);
if ( status != OCI_SUCCESS ) {
oci_error(sth, imp_sth->errhp, status, ora_sql_error(imp_sth,"OCIAttrSet (OCI_ATTR_MAXDATA_SIZE)"));
@@ -2400,10 +2405,10 @@
/* Copy array data from array buffer into perl array */
/* Returns false on error, true on success */
-int dbd_phs_number_table_post_exe(phs_t *phs){
+int dbd_phs_number_table_post_exe(imp_sth_t *imp_sth, phs_t *phs){
dTHX;
- int trace_level = DBIS->debug;
+ int trace_level = DBIc_DBISTATE(imp_sth)->debug;
AV *arr;
if( ( ! SvROK(phs->sv) ) || (SvTYPE(SvRV(phs->sv))!=SVt_PVAV) ) { /* Allow only array binds */
@@ -2411,7 +2416,7 @@
neatsvpv(phs->sv,0), phs->name);
}
if (trace_level >= 1 || dbd_verbose >= 3 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_number_table_post_exe(): Called for '%s' : array_numstruct=%d, maxlen=%ld \n",
phs->name,
phs->array_numstruct,
@@ -2457,7 +2462,7 @@
if( item ){
SvSetMagicSV(item,&PL_sv_undef);
if (trace_level >= 3 || dbd_verbose >= 3 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_number_table_post_exe(): arr[%d] = undef; SvSetMagicSV(item,&PL_sv_undef);\n",
i
);
@@ -2465,7 +2470,7 @@
}else{
av_store(arr,i,&PL_sv_undef);
if (trace_level >= 3 || dbd_verbose >= 3 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_number_table_post_exe(): arr[%d] = undef; av_store(arr,i,&PL_sv_undef);\n",
i
);
@@ -2475,7 +2480,7 @@
if( (phs->array_indicators[i] == -2) || (phs->array_indicators[i] > 0) ){
/* Truncation occurred */
if (trace_level >= 2 || dbd_verbose >= 3 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_number_table_post_exe(): Placeholder '%s': data truncated at %d row.\n",
phs->name,i);
}
@@ -2486,7 +2491,7 @@
switch(phs->ora_internal_type){
case SQLT_INT:
if (trace_level >= 4 || dbd_verbose >= 4 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_number_table_post_exe(): (int) set arr[%d] = %d \n",
i, *(int*)(phs->array_buf+phs->maxlen*i)
);
@@ -2495,7 +2500,7 @@
break;
case SQLT_FLT:
if (trace_level >= 4 || dbd_verbose >= 4 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_number_table_post_exe(): (double) set arr[%d] = %lf \n",
i, *(double*)(phs->array_buf+phs->maxlen*i)
);
@@ -2505,7 +2510,7 @@
if (trace_level >= 3 || dbd_verbose >= 3 ){
STRLEN l;
char *str= SvPOK(item) ? SvPV(item,l) : "<unprintable>" ;
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_number_table_post_exe(): arr[%d] = '%s'\n",
i, str ? str : "<unprintable>"
);
@@ -2514,7 +2519,7 @@
switch(phs->ora_internal_type){
case SQLT_INT:
if (trace_level >= 4 || dbd_verbose >= 4 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_number_table_post_exe(): (int) store new arr[%d] = %d \n",
i, *(int*)(phs->array_buf+phs->maxlen*i)
);
@@ -2523,7 +2528,7 @@
break;
case SQLT_FLT:
if (trace_level >= 4 || dbd_verbose >= 4 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_number_table_post_exe(): (double) store new arr[%d] = %lf \n",
i, *(double*)(phs->array_buf+phs->maxlen*i)
);
@@ -2538,7 +2543,7 @@
item=*pitem;
}
str= item ? ( SvPOK(item) ? SvPV(item,l) : "<unprintable>" ) : "<undef>";
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_number_table_post_exe(): arr[%d] = '%s'\n",
i, str ? str : "<unprintable>"
);
@@ -2548,7 +2553,7 @@
}
}
if (trace_level >= 2 || dbd_verbose >= 3 ){
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
"dbd_phs_number_table_post_exe(): scalar(@arr)=%ld.\n",
(long)av_len(arr)+1);
}
@@ -2696,7 +2701,7 @@
imp_sth->stmhp, phs->bndhp, imp_sth->errhp, phs->name,
imp_sth_csr->stmhp, phs->ftype);
- OCIBindByName_log_stat(imp_sth->stmhp, &phs->bndhp, imp_sth->errhp,
+ OCIBindByName_log_stat(imp_sth, imp_sth->stmhp, &phs->bndhp, imp_sth->errhp,
(text*)phs->name, (sb4)strlen(phs->name),
&imp_sth_csr->stmhp,
0,
@@ -2744,18 +2749,18 @@
if (!phs->desc_h || 1) { /* XXX phs->desc_t != OCI_HTYPE_STMT) */
if (phs->desc_h) {
- OCIHandleFree_log_stat(phs->desc_h, phs->desc_t, status);
+ OCIHandleFree_log_stat(imp_sth, phs->desc_h, phs->desc_t, status);
phs->desc_h = NULL;
}
phs->desc_t = OCI_HTYPE_STMT;
- OCIHandleAlloc_ok(imp_sth->envhp, &phs->desc_h, phs->desc_t, status);
+ OCIHandleAlloc_ok(imp_sth, imp_sth->envhp, &phs->desc_h, phs->desc_t, status);
}
phs->progv = (char*)&phs->desc_h;
phs->maxlen = 0;
- OCIBindByName_log_stat(imp_sth->stmhp, &phs->bndhp, imp_sth->errhp,
+ OCIBindByName_log_stat(imp_sth, imp_sth->stmhp, &phs->bndhp, imp_sth->errhp,
(text*)phs->name,
(sb4)strlen(phs->name),
phs->progv,
@@ -2864,12 +2869,19 @@
/* ensure that the value is a support named object type */
/* (currently only OCIXMLType*) */
if ( sv_isa(phs->sv, "OCIXMLTypePtr") ) {
- OCITypeByName(imp_sth->envhp, imp_sth->errhp, imp_sth->svchp,
- (CONST text*)"SYS", 3,
- (CONST text*)"XMLTYPE", 7,
- (CONST text*)0, 0,
- OCI_DURATION_CALLOUT, OCI_TYPEGET_HEADER,
- &tdo);
+ /* TO_DO not logging: */
+ OCITypeByName_log(
+ imp_sth,
+ imp_sth->envhp,
+ imp_sth->errhp,
+ imp_sth->svchp,
+ (CONST text*)"SYS", 3, /* schema_name, schema_length */
+ (CONST text*)"XMLTYPE", 7, /* type_name, type_length */
+ (CONST text*)0, 0, /* version_name, version_length */
+ OCI_DURATION_CALLOUT, /* pin_duration */
+ OCI_TYPEGET_HEADER, /* get_option */
+ &tdo, /* tdo */
+ status);
ptr = SvRV(phs->sv);
phs->progv = (void*) SvIV(ptr);
phs->maxlen = sizeof(OCIXMLType*);
@@ -2880,7 +2892,7 @@
/* bind by name */
- OCIBindByName_log_stat(imp_sth->stmhp, &phs->bndhp, imp_sth->errhp,
+ OCIBindByName_log_stat(imp_sth, imp_sth->stmhp, &phs->bndhp, imp_sth->errhp,
(text*)phs->name, (sb4)strlen(phs->name),
(dvoid *) NULL, /* value supplied in BindObject later */
0,
@@ -2974,7 +2986,7 @@
at_exec = (phs->desc_h == NULL);
- OCIBindByName_log_stat(imp_sth->stmhp, &phs->bndhp, imp_sth->errhp,
+ OCIBindByName_log_stat(imp_sth, imp_sth->stmhp, &phs->bndhp, imp_sth->errhp,
(text*)phs->name, (sb4)strlen(phs->name),
phs->progv,
phs->maxlen ? (sb4)phs->maxlen : 1, /* else bind "" fails */
@@ -2991,7 +3003,7 @@
return 0;
}
if (at_exec) {
- OCIBindDynamic_log(phs->bndhp, imp_sth->errhp,
+ OCIBindDynamic_log(imp_sth, phs->bndhp, imp_sth->errhp,
(dvoid *)phs, dbd_phs_in,
(dvoid *)phs, dbd_phs_out, status);
@@ -3022,7 +3034,7 @@
if (csform) {
/* set OCI_ATTR_CHARSET_FORM before we get the default OCI_ATTR_CHARSET_ID */
- OCIAttrSet_log_stat(phs->bndhp, (ub4) OCI_HTYPE_BIND,
+ OCIAttrSet_log_stat(imp_sth, phs->bndhp, (ub4) OCI_HTYPE_BIND,
&csform, (ub4) 0, (ub4) OCI_ATTR_CHARSET_FORM, imp_sth->errhp, status);
if ( status != OCI_SUCCESS ) {
oci_error(sth, imp_sth->errhp, status, ora_sql_error(imp_sth,"OCIAttrSet (OCI_ATTR_CHARSET_FORM)"));
@@ -3031,7 +3043,7 @@
}
if (!phs->csid_orig) { /* get the default csid Oracle would use */
- OCIAttrGet_log_stat(phs->bndhp, OCI_HTYPE_BIND, &phs->csid_orig, (ub4)0 ,
+ OCIAttrGet_log_stat(imp_sth, phs->bndhp, OCI_HTYPE_BIND, &phs->csid_orig, (ub4)0 ,
OCI_ATTR_CHARSET_ID, imp_sth->errhp, status);
}
@@ -3057,7 +3069,7 @@
(unsigned long)phs->maxlen, (unsigned long)phs->maxdata_size);
if (csid) {
- OCIAttrSet_log_stat(phs->bndhp, (ub4) OCI_HTYPE_BIND,
+ OCIAttrSet_log_stat(imp_sth, phs->bndhp, (ub4) OCI_HTYPE_BIND,
&csid, (ub4) 0, (ub4) OCI_ATTR_CHARSET_ID, imp_sth->errhp, status);
if ( status != OCI_SUCCESS ) {
oci_error(sth, imp_sth->errhp, status, ora_sql_error(imp_sth,"OCIAttrSet (OCI_ATTR_CHARSET_ID)"));
@@ -3066,7 +3078,7 @@
}
if (phs->maxdata_size) {
- OCIAttrSet_log_stat(phs->bndhp, (ub4)OCI_HTYPE_BIND,
+ OCIAttrSet_log_stat(imp_sth, phs->bndhp, (ub4)OCI_HTYPE_BIND,
neatsvpv(phs->sv,0), (ub4)phs->maxdata_size, (ub4)OCI_ATTR_MAXDATA_SIZE, imp_sth->errhp, status);
if ( status != OCI_SUCCESS ) {
oci_error(sth, imp_sth->errhp, status, ora_sql_error(imp_sth,"OCIAttrSet (OCI_ATTR_MAXDATA_SIZE)"));
@@ -3278,7 +3290,7 @@
/* --- functions to 'complete' the fetch of a value --- */
void
-dbd_phs_sv_complete(phs_t *phs, SV *sv, I32 debug)
+dbd_phs_sv_complete(imp_sth_t *imp_sth, phs_t *phs, SV *sv, I32 debug)
{
dTHX;
char *note = "";
@@ -3356,14 +3368,15 @@
}
}
void
-dbd_phs_avsv_complete(phs_t *phs, I32 index, I32 debug)
+dbd_phs_avsv_complete(imp_sth_t *imp_sth, phs_t *phs, I32 index, I32 debug)
{
dTHX;
AV *av = (AV*)SvRV(phs->sv);
SV *sv = *av_fetch(av, index, 1);
- dbd_phs_sv_complete(phs, sv, 0);
+ dbd_phs_sv_complete(imp_sth, phs, sv, 0);
if (debug >= 2 || dbd_verbose >= 3 )
- PerlIO_printf(DBILOGFP, " dbd_phs_avsv_complete out '%s'[%ld] = %s (arcode %d, ind %d, len %d)\n",
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
+ " dbd_phs_avsv_complete out '%s'[%ld] = %s (arcode %d, ind %d, len %d)\n",
phs->name, (long)index, neatsvpv(sv,0), phs->arcode, phs->indp, phs->alen);
}
@@ -3473,7 +3486,7 @@
"Statement Execute Mode is %d (%s)\n",
imp_sth->exe_mode,oci_exe_mode(imp_sth->exe_mode));
- OCIStmtExecute_log_stat(imp_sth->svchp, imp_sth->stmhp, imp_sth->errhp,
+ OCIStmtExecute_log_stat(imp_sth, imp_sth->svchp, imp_sth->stmhp, imp_sth->errhp,
(ub4)(is_select ? 0: 1),
0, 0, 0,(ub4)imp_sth->exe_mode,status);
@@ -3534,11 +3547,11 @@
phs->name,phs->ftype,sql_typecode_name(phs->ftype));
}
if( phs->ftype == ORA_VARCHAR2_TABLE ){
- dbd_phs_varchar_table_posy_exe(phs);
+ dbd_phs_varchar_table_posy_exe(imp_sth, phs);
continue;
}
if( phs->ftype == ORA_NUMBER_TABLE ){
- dbd_phs_number_table_post_exe(phs);
+ dbd_phs_number_table_post_exe(imp_sth, phs);
continue;
}
@@ -3551,10 +3564,10 @@
AV *av = (AV*)SvRV(sv);
I32 avlen = AvFILL(av);
if (avlen >= 0)
- dbd_phs_avsv_complete(phs, avlen, debug);
+ dbd_phs_avsv_complete(imp_sth, phs, avlen, debug);
}
else {
- dbd_phs_sv_complete(phs, sv, debug);
+ dbd_phs_sv_complete(imp_sth, phs, sv, debug);
}
}
}
@@ -3578,7 +3591,7 @@
ub2 csid;
int trace_level = DBIc_DBISTATE(imp_sth)->debug;
int i;
- OCIBindByName_log_stat(imp_sth->stmhp, &phs->bndhp, imp_sth->errhp,
+ OCIBindByName_log_stat(imp_sth, imp_sth->stmhp, &phs->bndhp, imp_sth->errhp,
(text*)phs->name, (sb4)strlen(phs->name),
0,
phs->maxlen ? (sb4)phs->maxlen : 1, /* else bind "" fails */
@@ -3595,7 +3608,7 @@
}
- OCIBindDynamic_log(phs->bndhp, imp_sth->errhp,
+ OCIBindDynamic_log(imp_sth, phs->bndhp, imp_sth->errhp,
(dvoid *)phs, dbd_phs_in,
(dvoid *)phs, dbd_phs_out, status);
if (status != OCI_SUCCESS) {
@@ -3623,7 +3636,7 @@
if (csform) {
/* set OCI_ATTR_CHARSET_FORM before we get the default OCI_ATTR_CHARSET_ID */
- OCIAttrSet_log_stat(phs->bndhp, (ub4) OCI_HTYPE_BIND,
+ OCIAttrSet_log_stat(imp_sth, phs->bndhp, (ub4) OCI_HTYPE_BIND,
&csform, (ub4) 0, (ub4) OCI_ATTR_CHARSET_FORM, imp_sth->errhp, status);
if ( status != OCI_SUCCESS ) {
oci_error(sth, imp_sth->errhp, status, ora_sql_error(imp_sth,"OCIAttrSet (OCI_ATTR_CHARSET_FORM)"));
@@ -3632,7 +3645,7 @@
}
if (!phs->csid_orig) { /* get the default csid Oracle would use */
- OCIAttrGet_log_stat(phs->bndhp, OCI_HTYPE_BIND, &phs->csid_orig, (ub4)0 ,
+ OCIAttrGet_log_stat(imp_sth, phs->bndhp, OCI_HTYPE_BIND, &phs->csid_orig, (ub4)0 ,
OCI_ATTR_CHARSET_ID, imp_sth->errhp, status);
}
@@ -3678,7 +3691,7 @@
(unsigned long)phs->maxlen, (unsigned long)phs->maxdata_size);
if (csid) {
- OCIAttrSet_log_stat(phs->bndhp, (ub4) OCI_HTYPE_BIND,
+ OCIAttrSet_log_stat(imp_sth, phs->bndhp, (ub4) OCI_HTYPE_BIND,
&csid, (ub4) 0, (ub4) OCI_ATTR_CHARSET_ID, imp_sth->errhp, status);
if ( status != OCI_SUCCESS ) {
oci_error(sth, imp_sth->errhp, status, ora_sql_error(imp_sth,"OCIAttrSet (OCI_ATTR_CHARSET_ID)"));
@@ -3900,7 +3913,7 @@
if(autocommit)
oci_mode |= OCI_COMMIT_ON_SUCCESS;
- OCIStmtExecute_log_stat(imp_sth->svchp, imp_sth->stmhp, imp_sth->errhp,
+ OCIStmtExecute_log_stat(imp_sth, imp_sth->svchp, imp_sth->stmhp, imp_sth->errhp,
exe_count, 0, 0, 0, oci_mode, exe_status);
OCIAttrGet_stmhp_stat(imp_sth, &row_count, 0, OCI_ATTR_ROW_COUNT, status);
@@ -3922,7 +3935,7 @@
AV *av = (AV*)SvRV(sv);
I32 avlen = AvFILL(av);
for (j=0;j<=avlen;j++){
- dbd_phs_avsv_complete(phs, j, debug);
+ dbd_phs_avsv_complete(imp_sth, phs, j, debug);
}
}
}
@@ -3946,13 +3959,13 @@
err_svs[0] = newSViv((IV)0);
err_svs[1] = newSVpvn("", 0);
err_svs[2] = newSVpvn("S1000",5);
- OCIHandleAlloc_ok(imp_sth->envhp, &row_errhp, OCI_HTYPE_ERROR, status);
- OCIHandleAlloc_ok(imp_sth->envhp, &tmp_errhp, OCI_HTYPE_ERROR, status);
+ OCIHandleAlloc_ok(imp_sth, imp_sth->envhp, &row_errhp, OCI_HTYPE_ERROR, status);
+ OCIHandleAlloc_ok(imp_sth, imp_sth->envhp, &tmp_errhp, OCI_HTYPE_ERROR, status);
for(i = 0; (unsigned int) i < num_errs; i++) {
- OCIParamGet_log_stat(imp_sth->errhp, OCI_HTYPE_ERROR,
+ OCIParamGet_log_stat(imp_sth, imp_sth->errhp, OCI_HTYPE_ERROR,
tmp_errhp, (dvoid *)&row_errhp,
(ub4)i, status);
- OCIAttrGet_log_stat(row_errhp, OCI_HTYPE_ERROR, &row_off, 0,
+ OCIAttrGet_log_stat(imp_sth, row_errhp, OCI_HTYPE_ERROR, &row_off, 0,
OCI_ATTR_DML_ROW_OFFSET, imp_sth->errhp, status);
if (debug >= 6 || dbd_verbose >= 6 )
PerlIO_printf(
@@ -3960,18 +3973,18 @@
" ora_st_execute_array error in row %d.\n",
row_off);
sv_setpv(err_svs[1], "");
- err_code = oci_error_get(row_errhp, exe_status, NULL, err_svs[1], debug);
+ err_code = oci_error_get((imp_xxh_t *)imp_sth, row_errhp, exe_status, NULL, err_svs[1], debug);
sv_setiv(err_svs[0], (IV)err_code);
av_store(tuples_status_av, row_off,
newRV_noinc((SV *)(av_make(3, err_svs))));
}
- OCIHandleFree_log_stat(tmp_errhp, OCI_HTYPE_ERROR, status);
- OCIHandleFree_log_stat(row_errhp, OCI_HTYPE_ERROR, status);
+ OCIHandleFree_log_stat(imp_sth, tmp_errhp, OCI_HTYPE_ERROR, status);
+ OCIHandleFree_log_stat(imp_sth, row_errhp, OCI_HTYPE_ERROR, status);
/* Do a commit here if autocommit is set, since Oracle
doesn't do that for us when some rows are in error. */
if(autocommit) {
- OCITransCommit_log_stat(imp_sth->svchp, imp_sth->errhp,
+ OCITransCommit_log_stat(imp_sth, imp_sth->svchp, imp_sth->errhp,
OCI_DEFAULT, status);
if (status != OCI_SUCCESS) {
oci_error(sth, imp_sth->errhp, status, "OCITransCommit");
@@ -4090,7 +4103,7 @@
not sure if we need this for non scrolling cursors they should die on
a OER(1403) no records)*/
- OCIStmtFetch_log_stat(imp_sth->stmhp, imp_sth->errhp, 0,
+ OCIStmtFetch_log_stat(imp_sth, imp_sth->stmhp, imp_sth->errhp, 0,
OCI_FETCH_NEXT,0, status);
if (status != OCI_SUCCESS && status != OCI_SUCCESS_WITH_INFO) {
@@ -4117,14 +4130,14 @@
boolean is_open;
sword status;
- OCILobFileIsOpen_log_stat(imp_dbh->svchp, imp_dbh->errhp, fbh->desc_h, &is_open, status);
+ OCILobFileIsOpen_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, fbh->desc_h, &is_open, status);
if (status == OCI_SUCCESS && is_open) {
- OCILobFileClose_log_stat(imp_sth->svchp, imp_sth->errhp,
+ OCILobFileClose_log_stat(imp_sth, imp_sth->svchp, imp_sth->errhp,
fbh->desc_h, status);
}
- OCIDescriptorFree_log(fbh->desc_h, fbh->desc_t);
+ OCIDescriptorFree_log(imp_sth, fbh->desc_h, fbh->desc_t);
}
if (fbh->obj) {
@@ -4136,11 +4149,11 @@
}
void
-ora_free_phs_contents(phs_t *phs)
+ora_free_phs_contents(imp_sth_t *imp_sth, phs_t *phs)
{
dTHX;
if (phs->desc_h)
- OCIDescriptorFree_log(phs->desc_h, phs->desc_t);
+ OCIDescriptorFree_log(imp_sth, phs->desc_h, phs->desc_t);
if( phs->array_buf ){
free(phs->array_buf);
phs->array_buf=NULL;
@@ -4167,7 +4180,7 @@
#if defined(OCI_HTYPE_DIRPATH_FN_CTX) /* >= 9.0 */
boolean is_temporary = 0;
sword status;
- OCILobIsTemporary_log_stat(imp_sth->envhp, imp_sth->errhp, lobloc, &is_temporary, status);
+ OCILobIsTemporary_log_stat(imp_sth, imp_sth->envhp, imp_sth->errhp, lobloc, &is_temporary, status);
if (status != OCI_SUCCESS) {
oci_error(sth, imp_sth->errhp, status, "OCILobIsTemporary");
return;
@@ -4179,7 +4192,7 @@
DBIc_LOGPIO(imp_sth),
" OCILobFreeTemporary %s\n", oci_status_name(status));
}
- OCILobFreeTemporary_log_stat(imp_sth->svchp, imp_sth->errhp, lobloc, status);
+ OCILobFreeTemporary_log_stat(imp_sth, imp_sth->svchp, imp_sth->errhp, lobloc, status);
if (status != OCI_SUCCESS) {
oci_error(sth, imp_sth->errhp, status, "OCILobFreeTemporary");
return;
@@ -4208,11 +4221,11 @@
cursor by fetching row 0 */
if (imp_sth->exe_mode==OCI_STMT_SCROLLABLE_READONLY){
- OCIStmtFetch_log_stat(imp_sth->stmhp, imp_sth->errhp, 0,OCI_FETCH_NEXT,0, status);
+ OCIStmtFetch_log_stat(imp_sth, imp_sth->stmhp, imp_sth->errhp, 0,OCI_FETCH_NEXT,0, status);
}
if (imp_sth->dschp){
- OCIHandleFree_log_stat(imp_sth->dschp, OCI_HTYPE_DESCRIBE, status);
+ OCIHandleFree_log_stat(imp_sth, imp_sth->dschp, OCI_HTYPE_DESCRIBE, status);
}
@@ -4223,7 +4236,7 @@
if (!PL_dirty) { /* XXX not ideal, leak may be a problem in some cases */
if (!imp_sth->nested_cursor) {
- OCIHandleFree_log_stat(imp_sth->stmhp, OCI_HTYPE_STMT, status);
+ OCIHandleFree_log_stat(imp_sth, imp_sth->stmhp, OCI_HTYPE_STMT, status);
if (status != OCI_SUCCESS)
oci_error(sth, imp_sth->errhp, status, "OCIHandleFree");
}
@@ -4260,7 +4273,7 @@
phs_t *phs = (phs_t*)(void*)SvPVX(sv);
if (phs->desc_h && phs->desc_t == OCI_DTYPE_LOB)
ora_free_templob(sth, imp_sth, (OCILobLocator*)phs->desc_h);
- ora_free_phs_contents(phs);
+ ora_free_phs_contents(imp_sth, phs);
}
}
sv_free((SV*)imp_sth->all_params_hv);
@@ -4482,9 +4495,8 @@
}
static void
-dump_env_to_trace() {
+dump_env_to_trace(imp_dbh_t *imp_dbh) {
dTHX;
- PerlIO *fp = DBILOGFP;
int i = 0;
char *p;
@@ -4496,10 +4508,10 @@
#endif
- PerlIO_printf(fp, "Environment variables:\n");
+ PerlIO_printf(DBIc_LOGPIO(imp_dbh), "Environment variables:\n");
do {
- p = (char*)environ[i++];
- PerlIO_printf(fp,"\t%s\n",p);
+ p = (char*)environ[i++];
+ PerlIO_printf(DBIc_LOGPIO(imp_dbh),"\t%s\n",p);
} while ((char*)environ[i] != '\0');
}
Modified: dbd-oracle/trunk/dbdimp.h
==============================================================================
--- dbd-oracle/trunk/dbdimp.h (original)
+++ dbd-oracle/trunk/dbdimp.h Thu Mar 15 10:08:24 2012
@@ -320,7 +320,7 @@
void dbd_init_oci _((dbistate_t *dbistate));
void dbd_preparse _((imp_sth_t *imp_sth, char *statement));
-void dbd_fbh_dump(imp_fbh_t *fbh, int i, int aidx);
+void dbd_fbh_dump(imp_sth_t *imp_sth, imp_fbh_t *fbh, int i, int aidx);
void ora_free_fbh_contents _((SV *sth, imp_fbh_t *fbh));
void ora_free_templob _((SV *sth, imp_sth_t *imp_sth, OCILobLocator *lobloc));
int ora_dbtype_is_long _((int dbtype));
@@ -329,8 +329,8 @@
int ora_db_reauthenticate _((SV *dbh, imp_dbh_t *imp_dbh, char *uid, char *pwd));
-void dbd_phs_sv_complete _((phs_t *phs, SV *sv, I32 debug));
-void dbd_phs_avsv_complete _((phs_t *phs, I32 index, I32 debug));
+void dbd_phs_sv_complete _((imp_sth_t *imp_sth, phs_t *phs, SV *sv, I32 debug));
+void dbd_phs_avsv_complete _((imp_sth_t *imp_sth, phs_t *phs, I32 index, I32 debug));
int pp_exec_rset _((SV *sth, imp_sth_t *imp_sth, phs_t *phs, int pre_exec));
int pp_rebind_ph_rset_in _((SV *sth, imp_sth_t *imp_sth, phs_t *phs));
@@ -366,8 +366,8 @@
SV * ora_create_xml _((SV *dbh, char *source));
void ora_free_lob_refetch _((SV *sth, imp_sth_t *imp_sth));
-void dbd_phs_avsv_complete _((phs_t *phs, I32 index, I32 debug));
-void dbd_phs_sv_complete _((phs_t *phs, SV *sv, I32 debug));
+void dbd_phs_avsv_complete _((imp_sth_t *imp_sth, phs_t *phs, I32 index, I32 debug));
+void dbd_phs_sv_complete _((imp_sth_t *imp_sth, phs_t *phs, SV *sv, I32 debug));
int post_execute_lobs _((SV *sth, imp_sth_t *imp_sth, ub4 row_count));
ub4 ora_parse_uid _((imp_dbh_t *imp_dbh, char **uidp, char **pwdp));
char *ora_sql_error _((imp_sth_t *imp_sth, char *msg));
Modified: dbd-oracle/trunk/oci8.c
==============================================================================
--- dbd-oracle/trunk/oci8.c (original)
+++ dbd-oracle/trunk/oci8.c Thu Mar 15 10:08:24 2012
@@ -109,7 +109,7 @@
return SvPVX(sv);
}
*/
-
+
char *
oci_exe_mode(ub4 mode)
{
@@ -812,7 +812,8 @@
static sb4
-oci_error_get(OCIError *errhp, sword status, char *what, SV *errstr, int debug)
+oci_error_get(imp_xxh_t *imp_xxh,
+ OCIError *errhp, sword status, char *what, SV *errstr, int debug)
{
dTHX;
text errbuf[1024];
@@ -834,12 +835,13 @@
}
while( ++recno
- && OCIErrorGet_log_stat(errhp, recno, (text*)NULL, &eg_errcode, errbuf,
+ && OCIErrorGet_log_stat(imp_xxh, errhp, recno, (text*)NULL, &eg_errcode, errbuf,
(ub4)sizeof(errbuf), OCI_HTYPE_ERROR, eg_status) != OCI_NO_DATA
&& eg_status != OCI_INVALID_HANDLE
&& recno < 100) {
if (debug >= 4 || recno>1/*XXX temp*/)
- PerlIO_printf(DBILOGFP, " OCIErrorGet after %s (er%ld:%s): %d, %ld: %s\n",
+ PerlIO_printf(DBIc_LOGPIO(imp_xxh),
+ " OCIErrorGet after %s (er%ld:%s): %d, %ld: %s\n",
what ? what : "<NULL>", (long)recno,
(eg_status==OCI_SUCCESS) ? "ok" : oci_status_name(eg_status),
status, (long)eg_errcode, errbuf);
@@ -873,7 +875,8 @@
sb4 errcode;
SV *errstr_sv = sv_newmortal();
SV *errcode_sv = sv_newmortal();
- errcode = oci_error_get(errhp, status, what, errstr_sv, DBIS->debug);
+ errcode = oci_error_get(imp_xxh, errhp, status, what, errstr_sv,
+ DBIc_DBISTATE(imp_xxh)->debug);
if (CSFORM_IMPLIES_UTF8(SQLCS_IMPLICIT)) {
#ifdef sv_utf8_decode
sv_utf8_decode(errstr_sv);
@@ -1051,14 +1054,14 @@
- OCIHandleAlloc_ok(imp_dbh->envhp, &imp_sth->stmhp, OCI_HTYPE_STMT, status);
- OCIStmtPrepare_log_stat(imp_sth->stmhp, imp_sth->errhp,
+ OCIHandleAlloc_ok(imp_dbh, imp_dbh->envhp, &imp_sth->stmhp, OCI_HTYPE_STMT, status);
+ OCIStmtPrepare_log_stat(imp_sth, imp_sth->stmhp, imp_sth->errhp,
(text*)imp_sth->statement, (ub4)strlen(imp_sth->statement),
OCI_NTV_SYNTAX, OCI_DEFAULT, status);
if (status != OCI_SUCCESS) {
oci_error(sth, imp_sth->errhp, status, "OCIStmtPrepare");
- OCIHandleFree_log_stat(imp_sth->stmhp, OCI_HTYPE_STMT, status);
+ OCIHandleFree_log_stat(imp_sth, imp_sth->stmhp, OCI_HTYPE_STMT, status);
return 0;
}
@@ -1066,7 +1069,7 @@
OCIAttrGet_stmhp_stat(imp_sth, &imp_sth->stmt_type, 0, OCI_ATTR_STMT_TYPE, status);
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" dbd_st_prepare'd sql %s ( auto_lob%d, check_sql%d)\n",
@@ -1348,9 +1351,9 @@
tafailover.callback_function = &taf_cbk;
/* register the callback */
- OCIAttrSet_log_stat(imp_dbh->srvhp, (ub4) OCI_HTYPE_SERVER,
- (dvoid *) &tafailover, (ub4) 0,
- (ub4) OCI_ATTR_FOCBK, imp_dbh->errhp, status);
+ OCIAttrSet_log_stat(imp_dbh, imp_dbh->srvhp, (ub4) OCI_HTYPE_SERVER,
+ (dvoid *) &tafailover, (ub4) 0,
+ (ub4) OCI_ATTR_FOCBK, imp_dbh->errhp, status);
return status;
}
@@ -1427,7 +1430,7 @@
return 0;
}
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" fetching field %d of %d. LONG value truncated from "
@@ -1454,6 +1457,7 @@
fetch_cleanup_rset(SV *sth, imp_fbh_t *fbh)
{
dTHX;
+ D_imp_sth(sth);
SV *sth_nested = (SV *)fbh->special;
fbh->special = NULL;
@@ -1468,8 +1472,8 @@
if (fbh_nested->fetch_cleanup)
fbh_nested->fetch_cleanup(sth_nested, fbh_nested);
}
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
- PerlIO_printf(DBILOGFP,
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
" fetch_cleanup_rset - deactivating handle %s (defunct nested cursor)\n",
neatsvpv(sth_nested, 0));
@@ -1490,7 +1494,7 @@
HV *init_attr = newHV();
int count;
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" fetch_func_rset - allocating handle for cursor nested within %s ...\n",
@@ -1511,7 +1515,7 @@
SvREFCNT_dec(init_attr);
PUTBACK; FREETMPS; LEAVE;
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" fetch_func_rset - ... allocated %s for nested cursor\n",
@@ -1547,7 +1551,7 @@
{
dTHX;
- if (DBIS->debug >= 6 || dbd_verbose >= 6 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 6 || dbd_verbose >= 6 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" dbd_rebind_ph_rset phs->is_inout=%d\n",
@@ -1600,11 +1604,11 @@
if (!phs->desc_h) {
++imp_sth->has_lobs;
phs->desc_t = OCI_DTYPE_LOB;
- OCIDescriptorAlloc_ok(imp_sth->envhp,
+ OCIDescriptorAlloc_ok(imp_sth, imp_sth->envhp,
&phs->desc_h, phs->desc_t);
}
- OCIAttrSet_log_stat(phs->desc_h, phs->desc_t,
+ OCIAttrSet_log_stat(imp_sth, phs->desc_h, phs->desc_t,
&lobEmpty, 0, OCI_ATTR_LOBEMPTY, imp_sth->errhp, status);
if (status != OCI_SUCCESS)
@@ -1635,7 +1639,7 @@
src = INT2PTR(OCILobLocator *, SvIV(SvRV(phs->sv)));
dest = (OCILobLocator **) phs->progv;
- OCILobLocatorAssign_log_stat(imp_dbh->svchp, imp_sth->errhp, src, dest, status);
+ OCILobLocatorAssign_log_stat(imp_dbh, imp_dbh->svchp, imp_sth->errhp, src, dest, status);
if (status != OCI_SUCCESS) {
oci_error(sth, imp_sth->errhp, status, "OCILobLocatorAssign");
return 0;
@@ -1655,7 +1659,7 @@
if (amtp > 0) {
ub1 lobtype = (phs->ftype == 112 ? OCI_TEMP_CLOB : OCI_TEMP_BLOB);
- OCILobCreateTemporary_log_stat(imp_dbh->svchp, imp_sth->errhp,
+ OCILobCreateTemporary_log_stat(imp_dbh, imp_dbh->svchp, imp_sth->errhp,
(OCILobLocator *) phs->desc_h, (ub2) OCI_DEFAULT,
(ub1) OCI_DEFAULT, lobtype, TRUE, OCI_DURATION_SESSION, status);
if (status != OCI_SUCCESS) {
@@ -1666,12 +1670,22 @@
if( ! phs->csid ) {
ub1 csform = SQLCS_IMPLICIT;
ub2 csid = 0;
- OCILobCharSetForm_log_stat( imp_sth->envhp, imp_sth->errhp, (OCILobLocator*)phs->desc_h, &csform, status );
+ OCILobCharSetForm_log_stat(imp_sth,
+ imp_sth->envhp,
+ imp_sth->errhp,
+ (OCILobLocator*)phs->desc_h,
+ &csform,
+ status );
if (status != OCI_SUCCESS)
return oci_error(sth, imp_sth->errhp, status, "OCILobCharSetForm");
#ifdef OCI_ATTR_CHARSET_ID
/* Effectively only used so AL32UTF8 works properly */
- OCILobCharSetId_log_stat( imp_sth->envhp, imp_sth->errhp, (OCILobLocator*)phs->desc_h, &csid, status );
+ OCILobCharSetId_log_stat(imp_sth,
+ imp_sth->envhp,
+ imp_sth->errhp,
+ (OCILobLocator*)phs->desc_h,
+ &csid,
+ status );
if (status != OCI_SUCCESS)
return oci_error(sth, imp_sth->errhp, status, "OCILobCharSetId");
#endif /* OCI_ATTR_CHARSET_ID */
@@ -1681,7 +1695,7 @@
phs->csform = csform;
}
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" calling OCILobWrite phs->csid=%d phs->csform=%d amtp=%d\n",
@@ -1689,7 +1703,7 @@
/* write lob data */
- OCILobWrite_log_stat(imp_sth->svchp, imp_sth->errhp,
+ OCILobWrite_log_stat(imp_sth, imp_sth->svchp, imp_sth->errhp,
(OCILobLocator*)phs->desc_h, &amtp, 1, SvPVX(phs->sv), amtp, OCI_ONE_PIECE,
0,0, phs->csid, phs->csform, status);
if (status != OCI_SUCCESS) {
@@ -1722,7 +1736,12 @@
*/
ub1 csform = SQLCS_IMPLICIT;
- OCILobCharSetForm_log_stat( imp_sth->envhp, imp_sth->errhp, lobl, &csform, status );
+ OCILobCharSetForm_log_stat(imp_sth,
+ imp_sth->envhp,
+ imp_sth->errhp,
+ lobl,
+ &csform,
+ status );
if (status != OCI_SUCCESS) {
oci_error(sth, imp_sth->errhp, status, "OCILobCharSetForm");
sv_set_undef(dest_sv); /* signal error */
@@ -1737,7 +1756,7 @@
return 0;
}
- OCILobGetLength_log_stat(imp_sth->svchp, imp_sth->errhp,
+ OCILobGetLength_log_stat(imp_sth, imp_sth->svchp, imp_sth->errhp,
lobl, &loblen, status);
if (status != OCI_SUCCESS) {
oci_error(sth, imp_sth->errhp, status, "OCILobGetLength ora_blob_read_mb_piece");
@@ -1758,7 +1777,7 @@
New(42, buffer, buflen, ub1);
- OCILobRead_log_stat(imp_sth->svchp, imp_sth->errhp, lobl,
+ OCILobRead_log_stat(imp_sth, imp_sth->svchp, imp_sth->errhp, lobl,
&amtp, (ub4)1 + offset, buffer, buflen,
0, 0, (ub2)0 ,csform ,status );
/* lab 0, 0, (ub2)0, (ub1)SQLCS_IMPLICIT, status); */
@@ -1842,14 +1861,19 @@
return 0;
}
- OCILobGetLength_log_stat(imp_sth->svchp, imp_sth->errhp, lobl, &loblen, status);
+ OCILobGetLength_log_stat(imp_sth, imp_sth->svchp, imp_sth->errhp, lobl, &loblen, status);
if (status != OCI_SUCCESS) {
oci_error(sth, imp_sth->errhp, status, "OCILobGetLength ora_blob_read_piece");
sv_set_undef(dest_sv); /* signal error */
return 0;
}
- OCILobCharSetForm_log_stat( imp_sth->envhp, imp_sth->errhp, lobl, &csform, status );
+ OCILobCharSetForm_log_stat(imp_sth,
+ imp_sth->envhp,
+ imp_sth->errhp,
+ lobl,
+ &csform,
+ status );
if (status != OCI_SUCCESS) {
oci_error(sth, imp_sth->errhp, status, "OCILobCharSetForm");
sv_set_undef(dest_sv); /* signal error */
@@ -1892,7 +1916,7 @@
buflen = amtp;
}
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" blob_read field %d: ftype %d %s, offset %ld, len %lu."
@@ -1904,11 +1928,11 @@
ub1 * bufp = (ub1 *)(SvPVX(dest_sv));
bufp += destoffset;
- OCILobRead_log_stat(imp_sth->svchp, imp_sth->errhp, lobl,
+ OCILobRead_log_stat(imp_sth, imp_sth->svchp, imp_sth->errhp, lobl,
&amtp, (ub4)1 + offset, bufp, buflen,
0, 0, (ub2)0 , csform, status);
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" OCILobRead field %d %s: LOBlen %lu, LongReadLen %lu,"
@@ -1925,7 +1949,7 @@
}
else {
assert(amtp == 0);
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" OCILobRead field %d %s: LOBlen %lu, LongReadLen %lu, "
@@ -1964,7 +1988,7 @@
/* The length is expressed in terms of bytes for BLOBs and BFILEs, */
/* and in terms of characters for CLOBs and NCLOBS */
- OCILobGetLength_log_stat(imp_sth->svchp, imp_sth->errhp, lobloc, &loblen, status);
+ OCILobGetLength_log_stat(imp_sth, imp_sth->svchp, imp_sth->errhp, lobloc, &loblen, status);
if (status != OCI_SUCCESS) {
oci_error(sth, imp_sth->errhp, status, "OCILobGetLength fetch_lob");
return 0;
@@ -2024,7 +2048,12 @@
if (loblen > 0) {
ub1 csform = 0;
- OCILobCharSetForm_log_stat(imp_sth->envhp, imp_sth->errhp, lobloc, &csform, status );
+ OCILobCharSetForm_log_stat(imp_sth,
+ imp_sth->envhp,
+ imp_sth->errhp,
+ lobloc,
+ &csform,
+ status );
if (status != OCI_SUCCESS) {
oci_error(sth, imp_sth->errhp, status, "OCILobCharSetForm");
sv_set_undef(dest_sv);
@@ -2032,7 +2061,7 @@
}
if (ftype == ORA_BFILE) {
- OCILobFileOpen_log_stat(imp_sth->svchp, imp_sth->errhp, lobloc,
+ OCILobFileOpen_log_stat(imp_sth, imp_sth->svchp, imp_sth->errhp, lobloc,
(ub1)OCI_FILE_READONLY, status);
if (status != OCI_SUCCESS) {
oci_error(sth, imp_sth->errhp, status, "OCILobFileOpen");
@@ -2041,7 +2070,7 @@
}
}
- OCILobRead_log_stat(imp_sth->svchp, imp_sth->errhp, lobloc,
+ OCILobRead_log_stat(imp_sth, imp_sth->svchp, imp_sth->errhp, lobloc,
&amtp, (ub4)1, SvPVX(dest_sv), buflen,
0, 0, (ub2)0, csform, status);
@@ -2069,7 +2098,7 @@
- if (DBIS->debug >= 3 || dbd_verbose >= 3 || oci_warn){
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 || oci_warn){
char buf[11];
strcpy(buf,"bytes");
if (ftype == ORA_CLOB)
@@ -2085,7 +2114,7 @@
}
if (ftype == ORA_BFILE) {
- OCILobFileClose_log_stat(imp_sth->svchp, imp_sth->errhp,
+ OCILobFileClose_log_stat(imp_sth, imp_sth->svchp, imp_sth->errhp,
lobloc, status);
}
@@ -2107,7 +2136,7 @@
/* tell perl what we've put in its dest_sv */
SvCUR(dest_sv) = amtp;
*SvEND(dest_sv) = '\0';
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" OCILobRead %s %s: LOBlen %lu, LongReadLen %lu, "
@@ -2143,18 +2172,18 @@
#ifdef OCI_DTYPE_REF
static void
-fbh_setup_getrefpv(imp_fbh_t *fbh, int desc_t, char *bless)
+fbh_setup_getrefpv(imp_sth_t *imp_sth, imp_fbh_t *fbh, int desc_t, char *bless)
{
dTHX;
if (DBIS->debug >= 2 || dbd_verbose >= 3 )
- PerlIO_printf(DBILOGFP,
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
" col %d: otype %d, desctype %d, %s", fbh->field_num, fbh->dbtype, desc_t, bless);
fbh->ftype = fbh->dbtype;
fbh->disize = fbh->dbsize;
fbh->fetch_func = fetch_func_getrefpv;
fbh->bless = bless;
fbh->desc_t = desc_t;
- OCIDescriptorAlloc_ok(fbh->imp_sth->envhp, &fbh->desc_h, fbh->desc_t);
+ OCIDescriptorAlloc_ok(imp_sth, fbh->imp_sth->envhp, &fbh->desc_h, fbh->desc_t);
}
#endif
@@ -2211,6 +2240,7 @@
static void get_attr_val(SV *sth,AV *list,imp_fbh_t *fbh, text *name , OCITypeCode typecode, dvoid *attr_value )
{
dTHX;
+ D_imp_sth(sth);
text str_buf[200];
double dnum;
size_t str_len;
@@ -2224,8 +2254,10 @@
SV *raw_sv;
/* get the data based on the type code*/
- if (DBIS->debug >= 5 || dbd_verbose >= 5 ) {
- PerlIO_printf(DBILOGFP, " getting value of object attribute named %s with typecode=%s\n",name,oci_typecode_name(typecode));
+ if (DBIc_DBISTATE(imp_sth)->debug >= 5 || dbd_verbose >= 5 ) {
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
+ " getting value of object attribute named %s with typecode=%s\n",
+ name,oci_typecode_name(typecode));
}
switch (typecode)
@@ -2234,13 +2266,14 @@
case OCI_TYPECODE_INTERVAL_YM :
case OCI_TYPECODE_INTERVAL_DS :
- OCIIntervalToText_log_stat(fbh->imp_sth->envhp,
- fbh->imp_sth->errhp,
- attr_value,
- str_buf,
- (size_t) 200,
- &str_len,
- status);
+ OCIIntervalToText_log_stat(fbh->imp_sth,
+ fbh->imp_sth->envhp,
+ fbh->imp_sth->errhp,
+ attr_value,
+ str_buf,
+ (size_t) 200,
+ &str_len,
+ status);
str_buf[str_len+1] = '\0';
av_push(list, newSVpv( (char *) str_buf,0));
break;
@@ -2251,8 +2284,13 @@
ub4_str_len = 200;
- OCIDateTimeToText_log_stat(fbh->imp_sth->envhp,
- fbh->imp_sth->errhp,attr_value,&ub4_str_len,str_buf,status);
+ OCIDateTimeToText_log_stat(fbh->imp_sth,
+ fbh->imp_sth->envhp,
+ fbh->imp_sth->errhp,
+ attr_value,
+ &ub4_str_len,
+ str_buf,
+ status);
if (typecode == OCI_TYPECODE_TIMESTAMP_TZ || typecode == OCI_TYPECODE_TIMESTAMP_LTZ){
char s_tz_hour[3]="000";
@@ -2285,7 +2323,12 @@
case OCI_TYPECODE_DATE : /* fixed length string*/
ub4_str_len = 200;
- OCIDateToText_log_stat(fbh->imp_sth->errhp, (CONST OCIDate *) attr_value,&ub4_str_len,str_buf,status);
+ OCIDateToText_log_stat(fbh->imp_sth,
+ fbh->imp_sth->errhp,
+ (CONST OCIDate *) attr_value,
+ &ub4_str_len,
+ str_buf,
+ status);
str_buf[ub4_str_len+1] = '\0';
av_push(list, newSVpv( (char *) str_buf,0));
break;
@@ -2373,6 +2416,7 @@
get_object (SV *sth, AV *list, imp_fbh_t *fbh,fbh_obj_t *base_obj,OCIComplexObject *value, OCIType *instance_tdo, dvoid *obj_ind){
dTHX;
+ D_imp_sth(sth);
sword status;
dvoid *element ;
dvoid *attr_value;
@@ -2388,8 +2432,10 @@
OCIType *tdo = instance_tdo ? instance_tdo : obj->tdo;
- if (DBIS->debug >= 5 || dbd_verbose >= 5 ) {
- PerlIO_printf(DBILOGFP, " getting attributes of object named %s with typecode=%s\n",obj->type_name,oci_typecode_name(obj->typecode));
+ if (DBIc_DBISTATE(imp_sth)->debug >= 5 || dbd_verbose >= 5 ) {
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
+ " getting attributes of object named %s with typecode=%s\n",
+ obj->type_name,oci_typecode_name(obj->typecode));
}
switch (obj->typecode) {
@@ -2417,7 +2463,11 @@
return 0;
}
- OCITypeByRef_log_stat(fbh->imp_sth->envhp,fbh->imp_sth->errhp,type_ref,&tdo,status);
+ OCITypeByRef_log_stat(fbh->imp_sth,
+ fbh->imp_sth->envhp,
+ fbh->imp_sth->errhp,
+ type_ref,
+ &tdo,status);
if (status != OCI_SUCCESS) {
oci_error(sth, fbh->imp_sth->errhp, status, "OCITypeByRef");
@@ -2441,15 +2491,15 @@
}
if (tdo != obj->tdo) {
/* new subtyped -> get obj description */
- if (DBIS->debug >= 5 || dbd_verbose >= 5 ) {
- PerlIO_printf(DBILOGFP, " describe subtype (tdo=%p) of object type %s (tdo=%p)\n",(void*)tdo,base_obj->type_name,(void*)base_obj->tdo);
+ if (DBIc_DBISTATE(imp_sth)->debug >= 5 || dbd_verbose >= 5 ) {
+ PerlIO_printf(DBIc_LOGPIO(imp_sth), " describe subtype (tdo=%p) of object type %s (tdo=%p)\n",(void*)tdo,base_obj->type_name,(void*)base_obj->tdo);
}
Newz(1, obj->next_subtype, 1, fbh_obj_t);
obj->next_subtype->tdo = tdo;
if ( describe_obj_by_tdo(sth, fbh->imp_sth, obj->next_subtype, 0 /*unknown level there*/) ) {
obj = obj->next_subtype;
- if (DBIS->debug >= 5 || dbd_verbose >= 5 ){
+ if (DBIc_DBISTATE(imp_sth)->debug >= 5 || dbd_verbose >= 5 ){
dump_struct(fbh->imp_sth,obj,0);
}
}
@@ -2458,8 +2508,8 @@
}
}
- if (DBIS->debug >= 5 || dbd_verbose >= 5 ) {
- PerlIO_printf(DBILOGFP, " getting attributes of object subtype %s\n",obj->type_name);
+ if (DBIc_DBISTATE(imp_sth)->debug >= 5 || dbd_verbose >= 5 ) {
+ PerlIO_printf(DBIc_LOGPIO(imp_sth), " getting attributes of object subtype %s\n",obj->type_name);
}
}
@@ -2495,11 +2545,23 @@
id only shows you examples with the C struct built in and only a single record. Nowhere does it say you can do it this way.
*/
- status = OCIObjectGetAttr(fbh->imp_sth->envhp, fbh->imp_sth->errhp, value,
- obj_ind, tdo,
- (CONST oratext**)&fld->type_name, &fld->type_namel, 1,
- (ub4 *)0, 0, &attr_null_status, &attr_null_struct,
- &attr_value, &attr_tdo);
+ OCIObjectGetAttr_log_stat(
+ fbh->imp_sth,
+ fbh->imp_sth->envhp,
+ fbh->imp_sth->errhp,
+ value, /* instance */
+ obj_ind, /* null_struct */
+ tdo, /* tdo */
+ (CONST oratext**)&fld->type_name, /* names */
+ &fld->type_namel, /* lengths */
+ 1, /* name_count */
+ (ub4 *)0, /* indexes */
+ 0, /* index_count */
+ &attr_null_status, /* attr_null_status */
+ &attr_null_struct, /* attr_null_struct */
+ &attr_value, /* attr_value */
+ &attr_tdo, /* attr_tdo */
+ status);
if (status != OCI_SUCCESS) {
oci_error(sth, fbh->imp_sth->errhp, status, "OCIObjectGetAttr");
@@ -2538,8 +2600,12 @@
case OCI_TYPECODE_TABLE : /* nested table */
case OCI_TYPECODE_VARRAY : /* variable array */
fld = &obj->fields[0]; /*get the field */
- OCIIterCreate_log_stat(fbh->imp_sth->envhp, fbh->imp_sth->errhp,
- (OCIColl*) value, &itr,status);
+ OCIIterCreate_log_stat(fbh->imp_sth,
+ fbh->imp_sth->envhp,
+ fbh->imp_sth->errhp,
+ (OCIColl*) value,
+ &itr,
+ status);
if (status != OCI_SUCCESS) {
/*not really an error just no data
oci_error(sth, fbh->imp_sth->errhp, status, "OCIIterCreate");*/
@@ -2567,8 +2633,11 @@
}
/*nasty surprise here. one has to get rid of the iterator or you will leak memory
not documented in oci or in demos */
- OCIIterDelete_log_stat( fbh->imp_sth->envhp,
- fbh->imp_sth->errhp, &itr,status );
+ OCIIterDelete_log_stat(fbh->imp_sth,
+ fbh->imp_sth->envhp,
+ fbh->imp_sth->errhp,
+ &itr,
+ status );
if (status != OCI_SUCCESS) {
oci_error(sth, fbh->imp_sth->errhp, status, "OCIIterDelete");
return 0;
@@ -2597,8 +2666,12 @@
fetch_func_oci_object(SV *sth, imp_fbh_t *fbh,SV *dest_sv)
{
dTHX;
- if (DBIS->debug >= 4 || dbd_verbose >= 4 ) {
- PerlIO_printf(DBILOGFP, " getting an embedded object named %s with typecode=%s\n",fbh->obj->type_name,oci_typecode_name(fbh->obj->typecode));
+ D_imp_sth(sth);
+
+ if (DBIc_DBISTATE(imp_sth)->debug >= 4 || dbd_verbose >= 4 ) {
+ PerlIO_printf(DBIc_LOGPIO(imp_sth),
+ " getting an embedded object named %s with typecode=%s\n",
+ fbh->obj->type_name,oci_typecode_name(fbh->obj->typecode));
}
if (fbh->obj->obj_ind && fbh->obj->obj_ind[0] == OCI_IND_NULL) {
@@ -2630,14 +2703,22 @@
ub4 actual_bufl=imp_sth->piece_size*(fb_ary->piece_count)+fb_ary->bufl;
if (fb_ary->piece_count==0){
- if (DBIS->debug >= 6 || dbd_verbose >= 6 )
- PerlIO_printf(DBILOGFP," Fetch persistent lob of %d (char/bytes) with callback in 1 piece of %d (Char/Bytes)\n",actual_bufl,fb_ary->bufl);
+ if (DBIc_DBISTATE(imp_sth)->debug >= 6 || dbd_verbose >= 6 )
+ PerlIO_printf(
+ DBIc_LOGPIO(imp_sth),
+ " Fetch persistent lob of %d (char/bytes) with callback in 1 "
+ "piece of %d (Char/Bytes)\n",
+ actual_bufl,fb_ary->bufl);
memcpy(fb_ary->cb_abuf,fb_ary->abuf,fb_ary->bufl );
} else {
- if (DBIS->debug >= 6 || dbd_verbose >= 6 )
- PerlIO_printf(DBILOGFP," Fetch persistent lob of %d (Char/Bytes) with callback in %d piece(s) of %d (Char/Bytes) and one piece of %d (Char/Bytes)\n",actual_bufl,fb_ary->piece_count,fbh->piece_size,fb_ary->bufl);
+ if (DBIc_DBISTATE(imp_sth)->debug >= 6 || dbd_verbose >= 6 )
+ PerlIO_printf(
+ DBIc_LOGPIO(imp_sth),
+ " Fetch persistent lob of %d (Char/Bytes) with callback in %d "
+ "piece(s) of %d (Char/Bytes) and one piece of %d (Char/Bytes)\n",
+ actual_bufl,fb_ary->piece_count,fbh->piece_size,fb_ary->bufl);
memcpy(fb_ary->cb_abuf+imp_sth->piece_size*(fb_ary->piece_count),fb_ary->abuf,fb_ary->bufl );
}
@@ -2671,21 +2752,22 @@
ub2 rcode = 0;
sword status = OCI_NEED_DATA;
- if (DBIS->debug >= 4 || dbd_verbose >= 4 ) {
+ if (DBIc_DBISTATE(imp_sth)->debug >= 4 || dbd_verbose >= 4 ) {
PerlIO_printf(DBIc_LOGPIO(imp_sth), "in fetch_get_piece \n");
}
while (status == OCI_NEED_DATA){
- OCIStmtGetPieceInfo_log_stat(fbh->imp_sth->stmhp,
- fbh->imp_sth->errhp,
- &hdlptr,
- &hdltype,
- &in_out,
- &iter,
- &idx,
- &piece,
- status);
+ OCIStmtGetPieceInfo_log_stat(fbh->imp_sth,
+ fbh->imp_sth->stmhp,
+ fbh->imp_sth->errhp,
+ &hdlptr,
+ &hdltype,
+ &in_out,
+ &iter,
+ &idx,
+ &piece,
+ status);
/* This is how this works
First we get the piece Info above
@@ -2700,7 +2782,8 @@
*/
if ( hdlptr==fbh->defnp){
- OCIStmtSetPieceInfo_log_stat(fbh->defnp,
+ OCIStmtSetPieceInfo_log_stat(fbh->imp_sth,
+ fbh->defnp,
fbh->imp_sth->errhp,
fb_ary->abuf,
&buflen,
@@ -2709,7 +2792,7 @@
&rcode,status);
- OCIStmtFetch_log_stat(fbh->imp_sth->stmhp,fbh->imp_sth->errhp,1,(ub2)OCI_FETCH_NEXT,OCI_DEFAULT,status);
+ OCIStmtFetch_log_stat(fbh->imp_sth, fbh->imp_sth->stmhp,fbh->imp_sth->errhp,1,(ub2)OCI_FETCH_NEXT,OCI_DEFAULT,status);
if (status==OCI_SUCCESS_WITH_INFO && !DBIc_has(fbh->imp_sth,DBIcf_LongTruncOk)){
@@ -2727,7 +2810,7 @@
}
- if (DBIS->debug >= 6 || dbd_verbose >= 6 ){
+ if (DBIc_DBISTATE(imp_sth)->debug >= 6 || dbd_verbose >= 6 ){
if (fb_ary->piece_count==1){
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
@@ -2815,6 +2898,8 @@
static void
fetch_cleanup_pres_lobs(SV *sth,imp_fbh_t *fbh){
dTHX;
+ D_imp_sth(sth);
+
fb_ary_t *fb_ary = fbh->fb_ary;
if( sth ) { /* For GCC not to warn on unused parameter*/ }
@@ -2824,8 +2909,8 @@
fb_ary->cb_bufl=fbh->disize; /*reset this back to the max size for the fetch*/
memset( fb_ary->cb_abuf, '\0', fbh->disize ); /*clean out the call back buffer*/
- if (DBIS->debug >= 5 || dbd_verbose >= 5 )
- PerlIO_printf(DBILOGFP," fetch_cleanup_pres_lobs \n");
+ if (DBIc_DBISTATE(imp_sth)->debug >= 5 || dbd_verbose >= 5 )
+ PerlIO_printf(DBIc_LOGPIO(imp_sth)," fetch_cleanup_pres_lobs \n");
return;
}
@@ -2833,6 +2918,7 @@
static void
fetch_cleanup_oci_object(SV *sth, imp_fbh_t *fbh){
dTHX;
+ D_imp_sth(sth);
if( sth ) { /* For GCC not to warn on unused parameter*/ }
@@ -2842,8 +2928,8 @@
}
}
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
- PerlIO_printf(DBILOGFP," fetch_cleanup_oci_object \n");
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
+ PerlIO_printf(DBIc_LOGPIO(imp_sth)," fetch_cleanup_oci_object \n");
return;
}
@@ -2856,7 +2942,7 @@
imp_sth->rs_fetch_count =0;
imp_sth->rs_array_status =OCI_SUCCESS;
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" rs_array_init:imp_sth->rs_array_size=%d, rs_array_idx=%d, "
@@ -2950,7 +3036,7 @@
/* is prefetch_rows are greater than the RowCahceSize then use prefetch_rows*/
}
- OCIAttrSet_log_stat(imp_sth->stmhp, OCI_HTYPE_STMT,
+ OCIAttrSet_log_stat(imp_sth, imp_sth->stmhp, OCI_HTYPE_STMT,
&prefetch_mem, sizeof(prefetch_mem), OCI_ATTR_PREFETCH_MEMORY,
imp_sth->errhp, status);
@@ -2960,7 +3046,7 @@
++num_errors;
}
- OCIAttrSet_log_stat(imp_sth->stmhp, OCI_HTYPE_STMT,
+ OCIAttrSet_log_stat(imp_sth, imp_sth->stmhp, OCI_HTYPE_STMT,
&prefetch_rows, sizeof(prefetch_rows), OCI_ATTR_PREFETCH_ROWS,
imp_sth->errhp, status);
@@ -2988,7 +3074,7 @@
- if (DBIS->debug >= 3 || dbd_verbose >= 3 || oci_warn) /*will also display if oci_warn is on*/
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 || oci_warn) /*will also display if oci_warn is on*/
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" cache settings DB Handle RowCacheSize=%d,Statement Handle "
@@ -3011,7 +3097,7 @@
sword status;
OCIRef *type_ref;
- if (DBIS->debug >= 5 || dbd_verbose >= 5 ) {
+ if (DBIc_DBISTATE(imp_sth)->debug >= 5 || dbd_verbose >= 5 ) {
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
"At level=%d in description an embedded object \n",level);
@@ -3026,7 +3112,12 @@
return 0;
}
- OCITypeByRef_log_stat(imp_sth->envhp,imp_sth->errhp,type_ref,&obj->tdo,status);
+ OCITypeByRef_log_stat(imp_sth,
+ imp_sth->envhp,
+ imp_sth->errhp,
+ type_ref,
+ &obj->tdo,
+ status);
if (status != OCI_SUCCESS) {
oci_error(sth, imp_sth->errhp, status, "OCITypeByRef");
@@ -3044,7 +3135,7 @@
ub4 type_namel, schema_namel;
- OCIDescribeAny_log_stat(imp_sth->svchp,imp_sth->errhp,obj->tdo,(ub4)0,OCI_OTYPE_PTR,(ub1)1,OCI_PTYPE_TYPE,imp_sth->dschp,status);
+ OCIDescribeAny_log_stat(imp_sth, imp_sth->svchp,imp_sth->errhp,obj->tdo,(ub4)0,OCI_OTYPE_PTR,(ub1)1,OCI_PTYPE_TYPE,imp_sth->dschp,status);
/*we have the Actual TDO so lets see what it is made up of by a describe*/
if (status != OCI_SUCCESS) {
@@ -3090,7 +3181,7 @@
return 0;
}
- if (DBIS->debug >= 6 || dbd_verbose >= 6 ) {
+ if (DBIc_DBISTATE(imp_sth)->debug >= 6 || dbd_verbose >= 6 ) {
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
"Getting the properties of object named =%s at level %d typecode=%d\n",
@@ -3100,7 +3191,7 @@
if (obj->typecode == OCI_TYPECODE_OBJECT || obj->typecode == OCI_TYPECODE_OPAQUE){
OCIParam *list_attr= (OCIParam *) 0;
ub2 pos;
- if (DBIS->debug >= 6 || dbd_verbose >= 6 ) {
+ if (DBIc_DBISTATE(imp_sth)->debug >= 6 || dbd_verbose >= 6 ) {
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
"Object named =%s at level %d is an Object\n",
@@ -3115,7 +3206,7 @@
}
/*we will need a reff to the TDO for the pin operation*/
- OCIObjectPin_log_stat(imp_sth->envhp,imp_sth->errhp, obj->obj_ref,(dvoid **)&obj->obj_type,status);
+ OCIObjectPin_log_stat(imp_sth, imp_sth->envhp,imp_sth->errhp, obj->obj_ref,(dvoid **)&obj->obj_type,status);
if (status != OCI_SUCCESS) {
oci_error(sth,imp_sth->errhp, status, "OCIObjectPin");
@@ -3152,7 +3243,7 @@
OCIParam *parmdf= (OCIParam *) 0;
fbh_obj_t *fld = &obj->fields[pos-1]; /*get the field holder*/
- OCIParamGet_log_stat((dvoid *) list_attr,(ub4) OCI_DTYPE_PARAM, imp_sth->errhp,(dvoid *)&parmdf, (ub4) pos ,status);
+ OCIParamGet_log_stat(imp_sth, (dvoid *) list_attr,(ub4) OCI_DTYPE_PARAM, imp_sth->errhp,(dvoid *)&parmdf, (ub4) pos ,status);
if (status != OCI_SUCCESS) {
oci_error(sth,imp_sth->errhp, status, "OCIParamGet");
@@ -3175,7 +3266,7 @@
return 0;
}
- if (DBIS->debug >= 6 || dbd_verbose >= 6 ) {
+ if (DBIc_DBISTATE(imp_sth)->debug >= 6 || dbd_verbose >= 6 ) {
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
"Getting property #%d, named=%s and its typecode is %d \n",
@@ -3192,7 +3283,7 @@
} else {
/*well this is an embedded table or varray of some form so find out what is in it*/
- if (DBIS->debug >= 6 || dbd_verbose >= 6 ) {
+ if (DBIc_DBISTATE(imp_sth)->debug >= 6 || dbd_verbose >= 6 ) {
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
"Object named =%s at level %d is an Varray or Table\n",
@@ -3315,7 +3406,7 @@
if (imp_sth->stmt_type != OCI_STMT_SELECT) { /* XXX DISABLED, see num_fields test below */
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" dbd_describe skipped for %s\n",
@@ -3324,7 +3415,7 @@
return 1;
}
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" dbd_describe %s (%s, lb %lu)...\n",
@@ -3335,7 +3426,7 @@
/* sth is not 'active' (executing) then we need an explicit describe. */
if ( !DBIc_ACTIVE(imp_sth) ) {
- OCIStmtExecute_log_stat(imp_sth->svchp, imp_sth->stmhp, imp_sth->errhp,
+ OCIStmtExecute_log_stat(imp_sth, imp_sth->svchp, imp_sth->stmhp, imp_sth->errhp,
0, 0, 0, 0, OCI_DESCRIBE_ONLY, status);
if (status != OCI_SUCCESS) {
oci_error(h, imp_sth->errhp, status,
@@ -3350,7 +3441,7 @@
return 0;
}
if (num_fields == 0) {
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" dbd_describe skipped for %s (no fields returned)\n",
@@ -3374,7 +3465,7 @@
fbh->field_num = i;
fbh->define_mode = OCI_DEFAULT;
- OCIParamGet_log_stat(imp_sth->stmhp, OCI_HTYPE_STMT, imp_sth->errhp,
+ OCIParamGet_log_stat(imp_sth, imp_sth->stmhp, OCI_HTYPE_STMT, imp_sth->errhp,
(dvoid**)&fbh->parmdp, (ub4)i, status);
if (status != OCI_SUCCESS) {
@@ -3413,7 +3504,7 @@
fbh->name = SvPVX(fbh->name_sv);
fbh->ftype = 5; /* default: return as null terminated string */
- if (DBIS->debug >= 4 || dbd_verbose >= 4 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 4 || dbd_verbose >= 4 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
"Describe col #%d type=%d(%s)\n",
@@ -3555,7 +3646,7 @@
fbh->fetch_cleanup = fetch_cleanup_oci_object; /* clean up any AV from the fetch*/
fbh->desc_t = SQLT_NTY;
if (!imp_sth->dschp){
- OCIHandleAlloc_ok(imp_sth->envhp, &imp_sth->dschp, OCI_HTYPE_DESCRIBE, status);
+ OCIHandleAlloc_ok(imp_sth, imp_sth->envhp, &imp_sth->dschp, OCI_HTYPE_DESCRIBE, status);
if (status != OCI_SUCCESS) {
oci_error(h,imp_sth->errhp, status, "OCIHandleAlloc");
++num_errors;
@@ -3636,7 +3727,7 @@
fbh->bless = "OCILobLocatorPtr";
fbh->desc_t = OCI_DTYPE_LOB;
- OCIDescriptorAlloc_ok(imp_sth->envhp, &fbh->desc_h, fbh->desc_t);
+ OCIDescriptorAlloc_ok(imp_sth, imp_sth->envhp, &fbh->desc_h, fbh->desc_t);
}
@@ -3645,7 +3736,7 @@
#ifdef OCI_DTYPE_REF
case 111: /* REF */
- fbh_setup_getrefpv(fbh, OCI_DTYPE_REF, "OCIRefPtr");
+ fbh_setup_getrefpv(imp_sth, fbh, OCI_DTYPE_REF, "OCIRefPtr");
break;
#endif
@@ -3675,14 +3766,14 @@
fbh->ftype = fbh->dbtype;
fbh->disize = fbh->dbsize;
p = "Field %d has an Oracle type (%d) which is not explicitly supported%s";
- if (DBIS->debug >= 1 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 1 || dbd_verbose >= 3 )
PerlIO_printf(DBIc_LOGPIO(imp_sth), p, i, fbh->dbtype, "\n");
if (PL_dowarn)
warn(p, i, fbh->dbtype, "");
break;
}
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
"Described col %2d: dbtype %d(%s), scale %d, prec %d, nullok %d, "
@@ -3705,8 +3796,8 @@
est_width += avg_width;
- if (DBIS->debug >= 2 || dbd_verbose >= 3 )
- dbd_fbh_dump(fbh, (int)i, 0);
+ if (DBIc_DBISTATE(imp_sth)->debug >= 2 || dbd_verbose >= 3 )
+ dbd_fbh_dump(imp_sth, fbh, (int)i, 0);
}/* end define of filed struct[i] fbh*/
@@ -3745,12 +3836,12 @@
}
if (fbh->ftype == ORA_RSET) { /* RSET */
- OCIHandleAlloc_ok(imp_sth->envhp,
+ OCIHandleAlloc_ok(imp_sth, imp_sth->envhp,
(dvoid*)&((OCIStmt **)fb_ary->abuf)[0],
OCI_HTYPE_STMT, status);
}
- OCIDefineByPos_log_stat(imp_sth->stmhp,
+ OCIDefineByPos_log_stat(imp_sth, imp_sth->stmhp,
&fbh->defnp,
imp_sth->errhp,
(ub4) i,
@@ -3766,11 +3857,11 @@
if (fbh->clbk_lob){
/* use a dynamic callback for persistent binary and char lobs*/
- OCIDefineDynamic_log_stat(fbh->defnp,imp_sth->errhp,(dvoid *) fbh,status);
+ OCIDefineDynamic_log_stat(imp_sth, fbh->defnp,imp_sth->errhp,(dvoid *) fbh,status);
}
if (fbh->ftype == 108) { /* Embedded object bind it differently*/
- if (DBIS->debug >= 5 || dbd_verbose >= 5 ){
+ if (DBIc_DBISTATE(imp_sth)->debug >= 5 || dbd_verbose >= 5 ){
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
"Field #%d is a object or colection of some sort. "
@@ -3782,10 +3873,10 @@
++num_errors;
}
- if (DBIS->debug >= 5 || dbd_verbose >= 5 ){
+ if (DBIc_DBISTATE(imp_sth)->debug >= 5 || dbd_verbose >= 5 ){
dump_struct(imp_sth,fbh->obj,0);
}
- OCIDefineObject_log_stat(fbh->defnp,imp_sth->errhp,fbh->obj->tdo,(dvoid**)&fbh->obj->obj_value,(dvoid**)&fbh->obj->obj_ind,status);
+ OCIDefineObject_log_stat(imp_sth,fbh->defnp,imp_sth->errhp,fbh->obj->tdo,(dvoid**)&fbh->obj->obj_value,(dvoid**)&fbh->obj->obj_ind,status);
if (status != OCI_SUCCESS) {
oci_error(h,imp_sth->errhp, status, "OCIDefineObject");
@@ -3803,12 +3894,12 @@
#ifdef OCI_ATTR_CHARSET_FORM
if ( (fbh->dbtype == 1) && fbh->csform ) {
/* csform may be 0 when talking to Oracle 8.0 database*/
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" calling OCIAttrSet OCI_ATTR_CHARSET_FORM with csform=%d (%s)\n",
fbh->csform,oci_csform_name(fbh->csform) );
- OCIAttrSet_log_stat( fbh->defnp, (ub4) OCI_HTYPE_DEFINE, (dvoid *) &fbh->csform,
+ OCIAttrSet_log_stat(imp_sth, fbh->defnp, (ub4) OCI_HTYPE_DEFINE, (dvoid *) &fbh->csform,
(ub4) 0, (ub4) OCI_ATTR_CHARSET_FORM, imp_sth->errhp, status );
if (status != OCI_SUCCESS) {
oci_error(h, imp_sth->errhp, status, "OCIAttrSet OCI_ATTR_CHARSET_FORM");
@@ -3819,7 +3910,7 @@
}
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" dbd_describe'd %d columns (row bytes: %d max, %d est avg, cache: %d)\n",
@@ -3864,7 +3955,7 @@
status = OCI_SUCCESS;
}
else {
- if (DBIS->debug >= 3 || dbd_verbose >= 3 ){
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 ){
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" dbd_st_fetch %d fields...\n", DBIc_NUM_FIELDS(imp_sth));
@@ -3874,7 +3965,7 @@
if (imp_sth->exe_mode!=OCI_STMT_SCROLLABLE_READONLY)
croak ("attempt to use a scrollable cursor without first setting ora_exe_mode to OCI_STMT_SCROLLABLE_READONLY\n") ;
- if (DBIS->debug >= 4 || dbd_verbose >= 4 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 4 || dbd_verbose >= 4 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" Scrolling Fetch, postion before fetch=%d, "
@@ -3882,12 +3973,12 @@
imp_sth->fetch_position, oci_fetch_options(imp_sth->fetch_orient),
imp_sth->fetch_offset);
- OCIStmtFetch_log_stat(imp_sth->stmhp, imp_sth->errhp,1, imp_sth->fetch_orient,imp_sth->fetch_offset, status);
+ OCIStmtFetch_log_stat(imp_sth, imp_sth->stmhp, imp_sth->errhp,1, imp_sth->fetch_orient,imp_sth->fetch_offset, status);
/*this will work without a round trip so might as well open it up for all statments handles*/
/* defualt and OCI_FETCH_NEXT are the same so this avoids miscaluation on the next value*/
OCIAttrGet_stmhp_stat(imp_sth, &imp_sth->fetch_position, 0, OCI_ATTR_CURRENT_POSITION, status);
- if (DBIS->debug >= 4 || dbd_verbose >= 4 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 4 || dbd_verbose >= 4 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" Scrolling Fetch, postion after fetch=%d\n",
@@ -3896,7 +3987,7 @@
else {
if (imp_sth->row_cache_off){ /*Do not use array fetch or local cache */
- OCIStmtFetch_log_stat(imp_sth->stmhp, imp_sth->errhp,1,(ub2)OCI_FETCH_NEXT, OCI_DEFAULT, status);
+ OCIStmtFetch_log_stat(imp_sth, imp_sth->stmhp, imp_sth->errhp,1,(ub2)OCI_FETCH_NEXT, OCI_DEFAULT, status);
imp_sth->rs_fetch_count++;
imp_sth->rs_array_idx=0;
@@ -3908,7 +3999,7 @@
if (imp_sth->rs_array_num_rows<=imp_sth->rs_array_idx && (imp_sth->rs_array_status==OCI_SUCCESS || imp_sth->rs_array_status==OCI_SUCCESS_WITH_INFO)) {
/* PerlIO_printf(DBIc_LOGPIO(imp_sth), " dbd_st_fetch fields...b\n");*/
- OCIStmtFetch_log_stat(imp_sth->stmhp,imp_sth->errhp,imp_sth->rs_array_size,(ub2)OCI_FETCH_NEXT,OCI_DEFAULT,status);
+ OCIStmtFetch_log_stat(imp_sth, imp_sth->stmhp,imp_sth->errhp,imp_sth->rs_array_size,(ub2)OCI_FETCH_NEXT,OCI_DEFAULT,status);
imp_sth->rs_array_status=status;
imp_sth->rs_fetch_count++;
@@ -3920,7 +4011,7 @@
imp_dbh->RowsInCache =imp_sth->rs_array_size;
imp_sth->RowsInCache =imp_sth->rs_array_size;
- if (DBIS->debug >= 4 || dbd_verbose >= 4 || oci_warn)
+ if (DBIc_DBISTATE(imp_sth)->debug >= 4 || dbd_verbose >= 4 || oci_warn)
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
"...Fetched %d rows\n",imp_sth->rs_array_num_rows);
@@ -3946,7 +4037,7 @@
if (status == OCI_NO_DATA) {
dTHR; /* for DBIc_ACTIVE_off */
DBIc_ACTIVE_off(imp_sth); /* eg finish */
- if (DBIS->debug >= 3 || dbd_verbose >= 3 || oci_warn)
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 || oci_warn)
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" dbd_st_fetch no-more-data, fetch count=%d\n",
@@ -3968,9 +4059,9 @@
/* per-field rcode value be dealt with as we fetch the data */
}
- av = DBIS->get_fbav(imp_sth);
+ av = DBIc_DBISTATE(imp_sth)->get_fbav(imp_sth);
- if (DBIS->debug >= 3 || dbd_verbose >= 3 ) {
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 ) {
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" dbd_st_fetched %d fields with status of %d(%s)\n",
@@ -3988,7 +4079,7 @@
SV *sv = AvARRAY(av)[i]; /* Note: we (re)use the SV in the AV */;
- if (DBIS->debug >= 4 || dbd_verbose >= 4 ) {
+ if (DBIc_DBISTATE(imp_sth)->debug >= 4 || dbd_verbose >= 4 ) {
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" field #%d with rc=%d(%s)\n",i+1,rc,oci_col_return_codes(rc));
@@ -4110,7 +4201,7 @@
oci_error(sth, imp_sth->errhp, OCI_ERROR, buf);
}
- if (DBIS->debug >= 5 || dbd_verbose >= 5 ){
+ if (DBIc_DBISTATE(imp_sth)->debug >= 5 || dbd_verbose >= 5 ){
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
"\n %p (field=%d): %s\n", av, i,neatsvpv(sv,10));
@@ -4140,21 +4231,21 @@
}
#ifdef ORA_OCI_112
if (imp_dbh->using_drcp){
- OCIAttrSet_log_stat(imp_dbh->authp, OCI_HTYPE_SESSION,
+ OCIAttrSet_log_stat(imp_dbh, imp_dbh->authp, OCI_HTYPE_SESSION,
*uidp, strlen(*uidp),
(ub4) OCI_ATTR_USERNAME, imp_dbh->errhp, status);
- OCIAttrSet_log_stat(imp_dbh->authp, OCI_HTYPE_SESSION,
+ OCIAttrSet_log_stat(imp_dbh, imp_dbh->authp, OCI_HTYPE_SESSION,
(strlen(*pwdp)) ? *pwdp : NULL, strlen(*pwdp),
(ub4) OCI_ATTR_PASSWORD, imp_dbh->errhp, status);
}
else {
#endif
- OCIAttrSet_log_stat(imp_dbh->seshp, OCI_HTYPE_SESSION,
+ OCIAttrSet_log_stat(imp_dbh, imp_dbh->seshp, OCI_HTYPE_SESSION,
*uidp, strlen(*uidp),
(ub4) OCI_ATTR_USERNAME, imp_dbh->errhp, status);
- OCIAttrSet_log_stat(imp_dbh->seshp, OCI_HTYPE_SESSION,
+ OCIAttrSet_log_stat(imp_dbh, imp_dbh->seshp, OCI_HTYPE_SESSION,
(strlen(*pwdp)) ? *pwdp : NULL, strlen(*pwdp),
(ub4) OCI_ATTR_PASSWORD, imp_dbh->errhp, status);
#ifdef ORA_OCI_112
@@ -4171,9 +4262,9 @@
sword status;
/* XXX should possibly create new session before ending the old so */
/* that if the new one can't be created, the old will still work. */
- OCISessionEnd_log_stat(imp_dbh->svchp, imp_dbh->errhp,
+ OCISessionEnd_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp,
imp_dbh->seshp, OCI_DEFAULT, status); /* XXX check status here?*/
- OCISessionBegin_log_stat( imp_dbh->svchp, imp_dbh->errhp, imp_dbh->seshp,
+ OCISessionBegin_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, imp_dbh->seshp,
ora_parse_uid(imp_dbh, &uid, &pwd), (ub4) OCI_DEFAULT, status);
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCISessionBegin");
@@ -4317,14 +4408,14 @@
"Unable to parse table name for LOB refetch");
if (!imp_sth->dschp){
- OCIHandleAlloc_ok(imp_sth->envhp, &imp_sth->dschp, OCI_HTYPE_DESCRIBE, status);
+ OCIHandleAlloc_ok(imp_sth, imp_sth->envhp, &imp_sth->dschp, OCI_HTYPE_DESCRIBE, status);
if (status != OCI_SUCCESS) {
oci_error(sth,imp_sth->errhp, status, "OCIHandleAlloc");
}
}
- OCIDescribeAny_log_stat(imp_sth->svchp, errhp, tablename, strlen(tablename),
+ OCIDescribeAny_log_stat(imp_sth, imp_sth->svchp, errhp, tablename, strlen(tablename),
(ub1)OCI_OTYPE_NAME, (ub1)1, (ub1)OCI_PTYPE_SYN, imp_sth->dschp, status);
if (status == OCI_SUCCESS) { /* There is a synonym, get the schema */
@@ -4335,14 +4426,14 @@
strncpy(syn_name,tablename,strlen(tablename));
/* Put the synonym name here for later user */
- OCIAttrGet_log_stat(imp_sth->dschp, OCI_HTYPE_DESCRIBE,
+ OCIAttrGet_log_stat(imp_sth, imp_sth->dschp, OCI_HTYPE_DESCRIBE,
&parmhp, 0, OCI_ATTR_PARAM, errhp, status);
- OCIAttrGet_log_stat(parmhp, OCI_DTYPE_PARAM,
+ OCIAttrGet_log_stat(imp_sth, parmhp, OCI_DTYPE_PARAM,
&syn_schema, &syn_schema_len, OCI_ATTR_SCHEMA_NAME, errhp, status);
- OCIAttrGet_log_stat(parmhp, OCI_DTYPE_PARAM,
+ OCIAttrGet_log_stat(imp_sth, parmhp, OCI_DTYPE_PARAM,
&tablename, &tn_len, OCI_ATTR_NAME, errhp, status);
strncpy(new_tablename,syn_schema,syn_schema_len);
@@ -4352,7 +4443,7 @@
tablename=new_tablename;
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" lob refetch using a synonym named=%s for %s \n",
@@ -4360,38 +4451,38 @@
}
- OCIDescribeAny_log_stat(imp_sth->svchp, errhp, tablename, strlen(tablename),
+ OCIDescribeAny_log_stat(imp_sth, imp_sth->svchp, errhp, tablename, strlen(tablename),
(ub1)OCI_OTYPE_NAME, (ub1)1, (ub1)OCI_PTYPE_TABLE, imp_sth->dschp, status);
if (status != OCI_SUCCESS) {
/* XXX this OCI_PTYPE_TABLE->OCI_PTYPE_VIEW fallback should actually be */
/* a loop that includes synonyms etc */
- OCIDescribeAny_log_stat(imp_sth->svchp, errhp, tablename, strlen(tablename),
+ OCIDescribeAny_log_stat(imp_sth, imp_sth->svchp, errhp, tablename, strlen(tablename),
(ub1)OCI_OTYPE_NAME, (ub1)1, (ub1)OCI_PTYPE_VIEW, imp_sth->dschp, status);
if (status != OCI_SUCCESS) {
- OCIHandleFree_log_stat(imp_sth->dschp, OCI_HTYPE_DESCRIBE, status);
+ OCIHandleFree_log_stat(imp_sth, imp_sth->dschp, OCI_HTYPE_DESCRIBE, status);
return oci_error(sth, errhp, status, "OCIDescribeAny(view)/LOB refetch");
}
}
- OCIAttrGet_log_stat(imp_sth->dschp, OCI_HTYPE_DESCRIBE,
+ OCIAttrGet_log_stat(imp_sth, imp_sth->dschp, OCI_HTYPE_DESCRIBE,
&parmhp, 0, OCI_ATTR_PARAM, errhp, status);
if (!status ) {
- OCIAttrGet_log_stat(parmhp, OCI_DTYPE_PARAM,
+ OCIAttrGet_log_stat(imp_sth, parmhp, OCI_DTYPE_PARAM,
&numcols, 0, OCI_ATTR_NUM_COLS, errhp, status);
}
if (!status ) {
- OCIAttrGet_log_stat(parmhp, OCI_DTYPE_PARAM,
+ OCIAttrGet_log_stat(imp_sth, parmhp, OCI_DTYPE_PARAM,
&collisthd, 0, OCI_ATTR_LIST_COLUMNS, errhp, status);
}
if (status != OCI_SUCCESS) {
- OCIHandleFree_log_stat(imp_sth->dschp, OCI_HTYPE_DESCRIBE, status);
+ OCIHandleFree_log_stat(imp_sth, imp_sth->dschp, OCI_HTYPE_DESCRIBE, status);
return oci_error(sth, errhp, status, "OCIDescribeAny/OCIAttrGet/LOB refetch");
}
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" lob refetch from table %s, %d columns:\n",
@@ -4401,21 +4492,21 @@
ub2 col_dbtype;
char *col_name;
ub4 col_name_len;
- OCIParamGet_log_stat(collisthd, OCI_DTYPE_PARAM, errhp, (dvoid**)&colhd, i, status);
+ OCIParamGet_log_stat(imp_sth, collisthd, OCI_DTYPE_PARAM, errhp, (dvoid**)&colhd, i, status);
if (status)
break;
- OCIAttrGet_log_stat(colhd, OCI_DTYPE_PARAM, &col_dbtype, 0,
+ OCIAttrGet_log_stat(imp_sth, colhd, OCI_DTYPE_PARAM, &col_dbtype, 0,
OCI_ATTR_DATA_TYPE, errhp, status);
if (status)
break;
- OCIAttrGet_log_stat(colhd, OCI_DTYPE_PARAM, &col_name, &col_name_len,
+ OCIAttrGet_log_stat(imp_sth, colhd, OCI_DTYPE_PARAM, &col_name, &col_name_len,
OCI_ATTR_NAME, errhp, status);
if (status)
break;
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" lob refetch table col %d: '%.*s' otype %d\n",
@@ -4435,17 +4526,17 @@
(void)SvIOK_on(sv); /* "what a wonderful hack!" */
(void)hv_store(lob_cols_hv, col_name,col_name_len, sv,0);
- OCIDescriptorFree(colhd, OCI_DTYPE_PARAM);
+ OCIDescriptorFree_log(imp_sth, colhd, OCI_DTYPE_PARAM);
colhd = NULL;
}
if (colhd)
- OCIDescriptorFree(colhd, OCI_DTYPE_PARAM);
+ OCIDescriptorFree_log(imp_sth, colhd, OCI_DTYPE_PARAM);
if (status != OCI_SUCCESS) {
oci_error(sth, errhp, status,
"OCIDescribeAny/OCIParamGet/OCIAttrGet/LOB refetch");
- OCIHandleFree_log_stat(imp_sth->dschp, OCI_HTYPE_DESCRIBE, status);
+ OCIHandleFree_log_stat(imp_sth, imp_sth->dschp, OCI_HTYPE_DESCRIBE, status);
return 0;
}
@@ -4498,7 +4589,7 @@
while( (sv_other = hv_iternextsv(lob_cols_hv, &p_other, &i)) != NULL ) {
if (phs->ftype != SvIV(sv_other))
continue;
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" both %s and %s have type %d - ambiguous\n",
@@ -4517,7 +4608,7 @@
(SvCUR(sql_select)>7)?", ":"", p, &phs->name[1]);
sv_catpv(sql_select, sql_field);
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" lob refetch %s param: otype %d, matched field '%s' %s(%s)\n",
@@ -4530,14 +4621,14 @@
fbh->dbtype = phs->ftype;
fbh->disize = 99;
fbh->desc_t = OCI_DTYPE_LOB;
- OCIDescriptorAlloc_ok(imp_sth->envhp, &fbh->desc_h, fbh->desc_t);
+ OCIDescriptorAlloc_ok(imp_sth, imp_sth->envhp, &fbh->desc_h, fbh->desc_t);
break; /* we're done with this placeholder now */
}
if (!matched) {
++unmatched_params;
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" lob refetch %s param: otype %d, UNMATCHED\n",
@@ -4555,7 +4646,7 @@
sv_catpv(sql_select, " from ");
sv_catpv(sql_select, tablename);
sv_catpv(sql_select, " where rowid = :rid for update"); /* get row with lock */
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" lob refetch sql: %s\n", SvPVX(sql_select));
@@ -4564,8 +4655,8 @@
lr->rowid = NULL;
lr->parmdp_tmp = NULL;
lr->parmdp_lob = NULL;
- OCIHandleAlloc_ok(imp_sth->envhp, &lr->stmthp, OCI_HTYPE_STMT, status);
- OCIStmtPrepare_log_stat(lr->stmthp, errhp,
+ OCIHandleAlloc_ok(imp_sth, imp_sth->envhp, &lr->stmthp, OCI_HTYPE_STMT, status);
+ OCIStmtPrepare_log_stat(imp_sth, lr->stmthp, errhp,
(text*)SvPVX(sql_select), SvCUR(sql_select), OCI_NTV_SYNTAX,
OCI_DEFAULT, status);
@@ -4576,11 +4667,11 @@
}
/* bind the rowid input */
- OCIDescriptorAlloc_ok(imp_sth->envhp, &lr->rowid, OCI_DTYPE_ROWID);
- OCIBindByName_log_stat(lr->stmthp, &lr->bindhp, errhp, (text*)":rid", 4,
+ OCIDescriptorAlloc_ok(imp_sth, imp_sth->envhp, &lr->rowid, OCI_DTYPE_ROWID);
+ OCIBindByName_log_stat(imp_sth, lr->stmthp, &lr->bindhp, errhp, (text*)":rid", 4,
&lr->rowid, sizeof(OCIRowid*), SQLT_RDD, 0,0,0,0,0, OCI_DEFAULT, status);
if (status != OCI_SUCCESS) {
- OCIDescriptorFree(lr->rowid, OCI_DTYPE_ROWID);
+ OCIDescriptorFree_log(imp_sth, lr->rowid, OCI_DTYPE_ROWID);
OCIHandleFree(lr->stmthp, OCI_HTYPE_STMT);
Safefree(lr);
return oci_error(sth, errhp, status, "OCIBindByPos/LOB refetch");
@@ -4596,17 +4687,17 @@
croak("panic: LOB refetch for '%s' param (%ld) - name not found",fbh->name,(unsigned long)i+1);
phs = (phs_t*)(void*)SvPVX(*phs_svp);
fbh->special = phs;
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" lob refetch %d for '%s' param: ftype %d setup\n",
(int)i+1,fbh->name, fbh->dbtype);
fbh->fb_ary = fb_ary_alloc(fbh->disize, 1);
- OCIDefineByPos_log_stat(lr->stmthp, &defnp, errhp, (ub4)i+1,
+ OCIDefineByPos_log_stat(imp_sth, lr->stmthp, &defnp, errhp, (ub4)i+1,
&fbh->desc_h, -1, (ub2)fbh->ftype,
fbh->fb_ary->aindp, 0, fbh->fb_ary->arcode, OCI_DEFAULT, status);
if (status != OCI_SUCCESS) {
- OCIDescriptorFree(lr->rowid, OCI_DTYPE_ROWID);
+ OCIDescriptorFree_log(imp_sth, lr->rowid, OCI_DTYPE_ROWID);
OCIHandleFree(lr->stmthp, OCI_HTYPE_STMT);
Safefree(lr);
fb_ary_free(fbh->fb_ary);
@@ -4615,7 +4706,7 @@
}
}
- OCIHandleFree_log_stat(imp_sth->dschp, OCI_HTYPE_DESCRIBE, status);
+ OCIHandleFree_log_stat(imp_sth, imp_sth->dschp, OCI_HTYPE_DESCRIBE, status);
imp_sth->lob_refetch = lr; /* structure copy */
return 1;
@@ -4652,7 +4743,7 @@
if (phs->desc_h && !phs->is_inout){
- OCILobFreeTemporary_log_stat(imp_sth->svchp, imp_sth->errhp, phs->desc_h, status);
+ OCILobFreeTemporary_log_stat(imp_sth, imp_sth->svchp, imp_sth->errhp, phs->desc_h, status);
/* boolean lobEmpty=1;*/
@@ -4682,7 +4773,7 @@
if (status != OCI_SUCCESS)
return oci_error(sth, errhp, status, "OCIAttrGet OCI_ATTR_ROWID /LOB refetch");
- OCIStmtExecute_log_stat(imp_sth->svchp, lr->stmthp, errhp,1, 0, NULL, NULL, OCI_DEFAULT, status); /* execute and fetch */
+ OCIStmtExecute_log_stat(imp_sth, imp_sth->svchp, lr->stmthp, errhp,1, 0, NULL, NULL, OCI_DEFAULT, status); /* execute and fetch */
if (status != OCI_SUCCESS)
return oci_error(sth, errhp, status,
@@ -4706,12 +4797,22 @@
if( ! fbh->csid ) {
ub1 csform = SQLCS_IMPLICIT;
ub2 csid = 0;
- OCILobCharSetForm_log_stat( imp_sth->envhp, errhp, (OCILobLocator*)fbh->desc_h, &csform, status );
+ OCILobCharSetForm_log_stat(imp_sth,
+ imp_sth->envhp,
+ errhp,
+ (OCILobLocator*)fbh->desc_h,
+ &csform,
+ status );
if (status != OCI_SUCCESS)
return oci_error(sth, errhp, status, "OCILobCharSetForm");
#ifdef OCI_ATTR_CHARSET_ID
/* Effectively only used so AL32UTF8 works properly */
- OCILobCharSetId_log_stat( imp_sth->envhp, errhp, (OCILobLocator*)fbh->desc_h, &csid, status );
+ OCILobCharSetId_log_stat(imp_sth,
+ imp_sth->envhp,
+ errhp,
+ (OCILobLocator*)fbh->desc_h,
+ &csid,
+ status );
if (status != OCI_SUCCESS)
return oci_error(sth, errhp, status, "OCILobCharSetId");
#endif /* OCI_ATTR_CHARSET_ID */
@@ -4721,13 +4822,13 @@
fbh->csform = csform;
}
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" calling OCILobWrite fbh->csid=%d fbh->csform=%d amtp=%d\n",
fbh->csid, fbh->csform, amtp );
- OCILobWrite_log_stat(imp_sth->svchp, errhp,
+ OCILobWrite_log_stat(imp_sth, imp_sth->svchp, errhp,
(OCILobLocator*)fbh->desc_h, &amtp, 1, SvPVX(phs->sv), amtp, OCI_ONE_PIECE,
0,0, fbh->csid ,fbh->csform, status);
@@ -4736,7 +4837,7 @@
}
} else { /* amtp==0 so truncate LOB to zero length */
- OCILobTrim_log_stat(imp_sth->svchp, errhp, (OCILobLocator*)fbh->desc_h, 0, status);
+ OCILobTrim_log_stat(imp_sth, imp_sth->svchp, errhp, (OCILobLocator*)fbh->desc_h, 0, status);
if (status != OCI_SUCCESS) {
return oci_error(sth, errhp, status, "OCILobTrim in post_execute_lobs");
@@ -4744,7 +4845,7 @@
}
- if (DBIS->debug >= 3 || dbd_verbose >= 3 )
+ if (DBIc_DBISTATE(imp_sth)->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(
DBIc_LOGPIO(imp_sth),
" lob refetch %d for '%s' param: ftype %d, len %ld: %s %s\n",
@@ -4770,8 +4871,8 @@
int i;
sword status;
if (lr->rowid)
- OCIDescriptorFree(lr->rowid, OCI_DTYPE_ROWID);
- OCIHandleFree_log_stat(lr->stmthp, OCI_HTYPE_STMT, status);
+ OCIDescriptorFree_log(imp_sth, lr->rowid, OCI_DTYPE_ROWID);
+ OCIHandleFree_log_stat(imp_sth, lr->stmthp, OCI_HTYPE_STMT, status);
if (status != OCI_SUCCESS)
oci_error(sth, imp_sth->errhp, status, "ora_free_lob_refetch/OCIHandleFree");
@@ -4800,7 +4901,7 @@
/* XXX should possibly create new session before ending the old so */
/* that if the new one can't be created, the old will still work. */
- OCIServerRelease_log_stat(imp_dbh->svchp, imp_dbh->errhp, buf, 2,OCI_HTYPE_SVCCTX, &vernum , status);
+ OCIServerRelease_log_stat(imp_dbh, imp_dbh->svchp, imp_dbh->errhp, buf, 2,OCI_HTYPE_SVCCTX, &vernum , status);
if (status != OCI_SUCCESS) {
oci_error(dbh, imp_dbh->errhp, status, "OCISessionServerRelease");
return 0;
Modified: dbd-oracle/trunk/ocitrace.h
==============================================================================
--- dbd-oracle/trunk/ocitrace.h (original)
+++ dbd-oracle/trunk/ocitrace.h Thu Mar 15 10:08:24 2012
@@ -6,8 +6,8 @@
Macros named "_log_stat" return status in last parameter.
*/
-#define DBD_OCI_TRACEON (DBIS->debug >= 6 || dbd_verbose>=6)
-#define DBD_OCI_TRACEFP (DBILOGFP)
+#define DBD_OCI_TRACEON(h) (DBIc_DBISTATE(h)->debug >= 6 || dbd_verbose >= 6)
+#define DBD_OCI_TRACEFP(h) (DBIc_LOGPIO(h))
#define OciTp ("\tOCI") /* OCI Trace Prefix */
#define OciTstr(s) ((s) ? (text*)(s) : (text*)"<NULL>")
#define ul_t(v) ((unsigned long)(v))
@@ -36,121 +36,121 @@
If done well the log will read like a compilable program.
*/
-#define OCIServerRelease_log_stat(sc,errhp,b,bl,ht,ver,stat)\
+#define OCIServerRelease_log_stat(impdbh,sc,errhp,b,bl,ht,ver,stat) \
stat =OCIServerRelease(sc,errhp,b,bl,ht,ver);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impdbh)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sOCIServerRelease(%p)=%s\n",\
OciTp, sc,oci_status_name(stat)),stat \
: stat
-#define OCISessionRelease_log_stat(svchp, errhp,stat)\
+#define OCISessionRelease_log_stat(impdbh,svchp, errhp,stat) \
stat =OCISessionRelease(svchp, errhp, NULL, (ub4)0, OCI_DEFAULT);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impdbh)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sOCISessionRelease(svchp=%p)=%s\n",\
OciTp, svchp,oci_status_name(stat)),stat \
: stat
-#define OCISessionPoolDestroy_log_stat(ph, errhp,stat )\
+#define OCISessionPoolDestroy_log_stat(impdbh, ph, errhp,stat ) \
stat =OCISessionPoolDestroy(ph, errhp,OCI_DEFAULT);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impdbh)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sOCISessionPoolDestroy(ph=%p)=%s\n",\
OciTp, ph,oci_status_name(stat)),stat \
: stat
-#define OCISessionGet_log_stat(envhp, errhp, sh, ah,pn,pnl,stat)\
+#define OCISessionGet_log_stat(impdbh,envhp, errhp, sh, ah,pn,pnl,stat) \
stat =OCISessionGet(envhp, errhp, sh, ah,pn,pnl,NULL,0, NULL, NULL, NULL, OCI_SESSGET_SPOOL);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impdbh)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sOCISessionGet(envhp=%p,sh=%p,ah=%p,pn=%p,pnl=%d)=%s\n",\
OciTp, envhp,sh,ah,pn,pnl,oci_status_name(stat)),stat \
: stat
-#define OCISessionPoolCreate_log_stat(envhp,errhp,ph,pn,pnl,dbn,dbl,sn,sm,si,un,unl,pw,pwl,stat)\
+#define OCISessionPoolCreate_log_stat(impdbh,envhp,errhp,ph,pn,pnl,dbn,dbl,sn,sm,si,un,unl,pw,pwl,stat) \
stat =OCISessionPoolCreate(envhp,errhp,ph,pn,pnl,dbn,dbl,sn,sm,si,un,unl,pw,pwl,OCI_DEFAULT);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impdbh)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sOCISessionPoolCreate(envhp=%p,ph=%p,pn=%p,pnl=%p,min=%d,max=%d,incr=%d, un=%s,unl=%d,pw=%s,pwl=%d)=%s\n",\
OciTp, envhp,ph,pn,pnl,sn,sm,si,un,unl,pw,pwl,oci_status_name(stat)),stat \
: stat
#if defined(ORA_OCI_102)
-#define OCIPing_log_stat(sc,errhp,stat)\
+#define OCIPing_log_stat(impdbh,sc,errhp,stat) \
stat =OCIPing(sc,errhp,OCI_DEFAULT);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impdbh)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sOCIPing(%p)=%s\n",\
OciTp, sc,oci_status_name(stat)),stat \
: stat
#endif
-#define OCIServerVersion_log_stat(sc,errhp,b,bl,ht,stat)\
+#define OCIServerVersion_log_stat(impdbh,sc,errhp,b,bl,ht,stat) \
stat =OCIServerVersion(sc,errhp,b,bl,ht);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impdbh)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sOCIServerVersion_log_stat(%p,%s)=%s\n",\
OciTp, sc,b,oci_status_name(stat)),stat \
: stat
-#define OCIStmtGetPieceInfo_log_stat(stmhp,errhp,hdlptr,hdltyp,in_out,iter,idx,piece,stat)\
+#define OCIStmtGetPieceInfo_log_stat(impsth,stmhp,errhp,hdlptr,hdltyp,in_out,iter,idx,piece,stat) \
stat =OCIStmtGetPieceInfo(stmhp,errhp,hdlptr,hdltyp,in_out,iter,idx,piece);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impsth)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sOCIStmtGetPieceInfo_log_stat(%p,%p,%u)=%s\n",\
OciTp, (void*)errhp,fbh,*piece,oci_status_name(stat)),stat \
: stat
-#define OCIStmtSetPieceInfo_log_stat(ptr,errhp,buf,blen,p,indp,rc,stat)\
+#define OCIStmtSetPieceInfo_log_stat(impsth,ptr,errhp,buf,blen,p,indp,rc,stat) \
stat =OCIStmtSetPieceInfo(ptr,OCI_HTYPE_DEFINE,errhp, buf, blen, p,indp,rc);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impsth)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sOCIStmtSetPieceInfo_log_stat(%p,%p,%d,%p)=%s\n",\
OciTp, (void*)errhp,fbh,piece,blen,oci_status_name(stat)),stat \
: stat
-#define OCIDefineDynamic_log_stat(defnp,errhp,fbh,stat)\
+#define OCIDefineDynamic_log_stat(impsth,defnp,errhp,fbh,stat) \
stat =OCIDefineDynamic(defnp,errhp,fbh,(OCICallbackDefine) presist_lob_fetch_cbk );\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impsth)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sOCIDefineDynamic_log_stat(%p,%p,%p)=%s\n",\
OciTp, (void*)defnp, (void*)errhp,fbh,oci_status_name(stat)),stat \
: stat
-#define OCIXMLTypeCreateFromSrc_log_stat(svchp,envhp,src_type,src_ptr,xml,stat)\
- stat =OCIXMLTypeCreateFromSrc (svchp,envhp,(OCIDuration)OCI_DURATION_CALLOUT,(ub1)src_type,(dvoid *)src_ptr,(sb4)OCI_IND_NOTNULL, xml);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
- "%sOCIXMLTypeCreateFromSrc_log_stat(%p,%p,%p,%p,%p)=%s\n",\
- OciTp, (void*)svchp,(void*)envhp, src_type, src_ptr,oci_status_name(stat)),stat \
+#define OCIXMLTypeCreateFromSrc_log_stat(impdbh,svchp,errhp,duration,src_type,src_ptr,ind,xml,stat) \
+ stat =OCIXMLTypeCreateFromSrc (svchp,errhp,duration,(ub1)src_type,(dvoid *)src_ptr,(sb4)ind, xml);\
+ (DBD_OCI_TRACEON(impdbh)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
+ "%sOCIXMLTypeCreateFromSrc_log_stat(%p,%p,%d,%d,%p,%d,%p)=%s\n",\
+ OciTp, (void*)svchp,(void*)errhp, duration, src_type, src_ptr, ind, xml, oci_status_name(stat)),stat \
: stat
-#define OCILobFileIsOpen_log_stat(envhp,errhp,loc,is_open,stat) \
+#define OCILobFileIsOpen_log_stat(impdbh,envhp,errhp,loc,is_open,stat) \
stat = OCILobFileIsOpen(envhp,errhp,loc,is_open);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impdbh)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sOCILobFileIsOpen_log_stat(%p,%p,%p,%p,%d)=%s\n",\
OciTp, (void*)envhp, (void*)errhp, loc, is_open, *is_open,oci_status_name(stat)),stat : stat
-#define OCILobLocatorIsInit_log_stat(envhp,errhp,loc,is_initp,stat)\
+#define OCILobLocatorIsInit_log_stat(impdbh,envhp,errhp,loc,is_initp,stat) \
stat =OCILobLocatorIsInit (envhp,errhp,loc,is_initp );\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impdbh)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sOCILobLocatorIsInit_log_stat(%p,%p,%p,%d)=%s\n",\
OciTp, (void*)envhp, (void*)errhp,loc,*is_initp,oci_status_name(stat)),stat \
: stat
-#define OCIObjectPin_log_stat(envhp,errhp,or,ot,stat)\
+#define OCIObjectPin_log_stat(impsth,envhp,errhp,or,ot,stat) \
stat = OCIObjectPin(envhp,errhp,or,(OCIComplexObject *)0,OCI_PIN_LATEST,OCI_DURATION_TRANS,OCI_LOCK_NONE,ot);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impsth)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sObjectPin_log_stat(%p,%p,%p,%p)=%s\n",\
OciTp, (void*)envhp, (void*)errhp,or,ot,oci_status_name(stat)),stat \
: stat
-
+/*
#define OCICollGetElem_log_stat(envhp,errhp,v,i,ex,e,ne,stat)\
stat = OCICollGetElem(envhp,errhp, v,i,ex,e,ne);\
(DBD_OCI_TRACEON) \
@@ -158,8 +158,8 @@
"%sOCICollGetElem_log_stat(%p,%p,%d,%d,%d,%d,%d)=%s\n",\
OciTp, (void*)envhp, (void*)errhp,v,i,ex,e,ne,oci_status_name(stat)),stat \
: stat
-
-
+*/
+/*
#define OCITableFirst_log_stat(envhp,errhp,v,i,stat)\
stat = OCITableFirst(envhp,errhp,v,i);\
(DBD_OCI_TRACEON) \
@@ -167,60 +167,60 @@
"%sOCITableFirst_log_stat(%p,%p,%d,%d)=%s\n",\
OciTp, (void*)envhp, (void*)errhp,v,i,oci_status_name(stat)),stat \
: stat
-
-#define OCIObjectGetAttr_log_stat(envhp,errhp,v,no,ot,tn,tnl,ani,ans,av,atdo, stat)\
- stat = OCIObjectGetAttr(errhp,errhp,v,no,ot,tn,tnl,1,(ub4 *)0, 0,ani,ans,av,atdo,stat);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
- "%sOCIObjectGetAttr_log_stat(%p,%p,%d,%d,%d,%d,%d,%d,%d,%d,%d)=%s\n",\
- OciTp, (void*)envhp,(void*)errhp,v,no,ot,tn,tnl,ani,ans,av,atdo,(void*)errhp,oci_status_name(stat)),stat \
+*/
+#define OCIObjectGetAttr_log_stat(impsth,envhp,errhp,instance,nullstruct,tdo,names,lengths,namecount,indexes,indexcount,attrnullstatus,attrnullstruct,attrvalue, attrtdo, stat) \
+ stat = OCIObjectGetAttr(envhp,errhp,instance,nullstruct,tdo,names,lengths,namecount,indexes,indexcount,attrnullstatus,attrnullstruct,attrvalue,attrtdo); \
+ (DBD_OCI_TRACEON(impsth)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
+ "%sOCIObjectGetAttr_log_stat(%p,%p,%p,%p,%p,%p,%p,%d,%p,%d,%p,%p,%p,%p)=%s\n",\
+ OciTp, (void*)envhp,(void*)errhp,instance,nullstruct,tdo,names,lengths,namecount,indexes,indexcount,attrnullstatus,attrnullstruct,attrvalue,attrtdo,oci_status_name(stat)),stat \
: stat
-#define OCIIntervalToText_log_stat(envhp,errhp,di,sb,ln,sl,stat)\
+#define OCIIntervalToText_log_stat(impsth,envhp,errhp,di,sb,ln,sl,stat) \
stat = OCIIntervalToText(envhp,errhp, *(OCIInterval**)di,3,3,sb,ln,sl);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impsth)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sOCIIntervalToText(%p,%p,%p,%s)=%s\n",\
OciTp, (void*)errhp, di,sl,sb,oci_status_name(stat)),stat \
: stat
-#define OCIDateTimeToText_log_stat(envhp,errhp,d,sl,sb,stat)\
+#define OCIDateTimeToText_log_stat(impsth,envhp,errhp,d,sl,sb,stat) \
stat = OCIDateTimeToText(envhp,errhp, *(OCIDateTime**)d,(CONST text*) 0,(ub1) 0,6, (CONST text*) 0, (ub4) 0,(ub4 *)sl,sb );\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impsth)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sOCIDateTimeToText(%p,%p,%p,%s)=%s\n",\
OciTp, (void*)errhp, d,sl,sb,oci_status_name(stat)),stat \
: stat
-#define OCIDateToText_log_stat(errhp,d,sl,sb,stat)\
+#define OCIDateToText_log_stat(impsth,errhp,d,sl,sb,stat) \
stat = OCIDateToText(errhp, (CONST OCIDate *) d,(CONST text*) 0,(ub1) 0, (CONST text*) 0, (ub4) 0,(ub4 *)sl,sb );\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impsth)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sDateToText_log_stat(%p,%p,%p,%s)=%s\n",\
OciTp, (void*)errhp, d,sl,sb,oci_status_name(stat)),stat \
: stat
-#define OCIIterDelete_log_stat(envhp,errhp,itr,stat)\
+#define OCIIterDelete_log_stat(impsth,envhp,errhp,itr,stat) \
stat = OCIIterDelete(envhp,errhp,itr );\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impsth)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sOCIIterDelete_log_stat(%p,%p,%p)=%s\n",\
OciTp, (void*)envhp, (void*)errhp,itr,oci_status_name(stat)),stat \
: stat
-#define OCIIterCreate_log_stat(envhp,errhp,coll,itr,stat)\
+#define OCIIterCreate_log_stat(impsth,envhp,errhp,coll,itr,stat) \
stat = OCIIterCreate(envhp,errhp,coll,itr);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impsth)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sIterCreate_log_stat(%p,%p,%p)=%s\n",\
OciTp, (void*)envhp, (void*)errhp,(void*)coll,oci_status_name(stat)),stat \
: stat
-
+/*
#define OCICollSize_log_stat(envhp,errhp,coll,coll_siz,stat)\
stat = OCICollSize(envhp,errhp,(CONST OCIColl *)coll,coll_siz);\
(DBD_OCI_TRACEON) \
@@ -228,105 +228,105 @@
"%sOCICollSize_log_stat(%p,%p,%d)=%s\n",\
OciTp, (void*)envhp, (void*)errhp,oci_status_name(stat)),stat \
: stat
-
-#define OCIDefineObject_log_stat(defnp,errhp,tdo,eo_buff,eo_ind,stat)\
+*/
+#define OCIDefineObject_log_stat(impsth,defnp,errhp,tdo,eo_buff,eo_ind,stat) \
stat = OCIDefineObject(defnp,errhp,tdo,eo_buff,0,eo_ind, 0);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impsth)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sOCIDefineObject(%p,%p,%p)=%s\n",\
OciTp, (void*)defnp, (void*)errhp, (void*)tdo,oci_status_name(stat)),stat \
: stat
-#define OCITypeByName_log_stat(envhp,errhp,svchp,p1,l,tdo,stat)\
- stat = OCITypeByName(envhp,errhp,svchp,(const oratext*)"",0,p1,l,0,0,OCI_DURATION_TRANS,OCI_TYPEGET_ALL,tdo);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
- "%sTypeByName(%p,%p,%p,%s,%d)=%s\n",\
- OciTp, (void*)envhp, (void*)errhp, (void*)svchp, (char*)(p1),(l),oci_status_name(stat)),stat \
- : stat
+#define OCITypeByName_log(impsth,envhp,errhp,svchp,sn,snl,tn,tnl,vn,vnl,duration,option,tdo,stat) \
+ stat = OCITypeByName(envhp,errhp,svchp,sn,snl,tn,tnl,vn,vnl,duration,option,tdo); \
+ (DBD_OCI_TRACEON(impsth)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
+ "%sTypeByName(%p,%p,%p,%s,%d,%s,%d,\"\",0,%d,%d,%p)=%s\n", \
+ OciTp, (void*)envhp, (void*)errhp, (void*)svchp, sn,snl,tn,tnl,duration,option,tdo,oci_status_name(stat)), stat \
+ :stat
-#define OCITypeByRef_log_stat(envhp,errhp,ref,tdo,stat)\
+#define OCITypeByRef_log_stat(impsth,envhp,errhp,ref,tdo,stat) \
stat = OCITypeByRef(envhp,errhp,ref,OCI_DURATION_TRANS,OCI_TYPEGET_ALL,tdo);\
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impsth)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sTypeByRef(%p,%p,%p)=%s\n",\
OciTp, (void*)envhp, (void*)errhp, (void*)ref,oci_status_name(stat)),stat \
: stat
/* added by lab */
-#define OCILobCharSetId_log_stat( envhp, errhp, locp, csidp, stat ) \
+#define OCILobCharSetId_log_stat(impxxh, envhp, errhp, locp, csidp, stat ) \
stat = OCILobCharSetId( envhp, errhp, locp, csidp ); \
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impxxh)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sLobCharSetId(%p,%p,%p,%d)=%s\n",\
OciTp, (void*)envhp, (void*)errhp, (void*)locp, *csidp, oci_status_name(stat)),stat \
: stat
/* added by lab */
-#define OCILobCharSetForm_log_stat( envhp, errhp, locp, formp, stat ) \
+#define OCILobCharSetForm_log_stat(impxxh, envhp, errhp, locp, formp, stat ) \
stat = OCILobCharSetForm( envhp, errhp, locp, formp ); \
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impxxh)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sLobCharSetForm(%p,%p,%p,%d)=%s\n",\
OciTp, (void*)envhp, (void*)errhp, (void*)locp, *formp, oci_status_name(stat)),stat \
: stat
/* added by lab */
-#define OCINlsEnvironmentVariableGet_log_stat( valp, size, item, charset, rsizep ,stat ) \
+#define OCINlsEnvironmentVariableGet_log_stat(impdbh, valp, size, item, charset, rsizep ,stat ) \
stat = OCINlsEnvironmentVariableGet( valp, size, item, charset, rsizep ); \
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impdbh)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sNlsEnvironmentVariableGet(%d,%lu,%d,%d,%lu)=%s\n",\
OciTp, *valp, (unsigned long)size, item, charset, (unsigned long)*rsizep, oci_status_name(stat)),stat \
: stat
/* added by lab */
-#define OCIEnvNlsCreate_log_stat( envp, mode, ctxp, f1, f2, f3, sz, usremepp ,chset, nchset ,stat ) \
+#define OCIEnvNlsCreate_log_stat(impdbh, envp, mode, ctxp, f1, f2, f3, sz, usremepp ,chset, nchset ,stat ) \
stat = OCIEnvNlsCreate(envp, mode, ctxp, f1, f2, f3, sz, usremepp ,chset, nchset ); \
- (DBD_OCI_TRACEON) \
- ? PerlIO_printf(DBD_OCI_TRACEFP,\
+ (DBD_OCI_TRACEON(impdbh)) \
+ ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sEnvNlsEnvCreate(%p,%s,%d,%d,%p,%p,%p,%d,%p,%d,%d)=%s\n", \
OciTp, (void*)envp, oci_mode(mode),mode, ctxp, (void*)f1, (void*)f2, (void*)f3, sz, (void*)usremepp ,chset, nchset, oci_status_name(stat)),stat \
: stat
-#define OCIAttrGet_log_stat(th,ht,ah,sp,at,eh,stat) \
+#define OCIAttrGet_log_stat(impxxh, th,ht,ah,sp,at,eh,stat) \
stat = OCIAttrGet(th,ht,ah,sp,at,eh); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impxxh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sAttrGet(%p,%s,%p,%p,%s,%p)=%s\n", \
OciTp, (void*)th,oci_hdtype_name(ht),(void*)ah,pul_t(sp),oci_attr_name(at),(void*)eh,\
oci_status_name(stat)),stat : stat
-#define OCIAttrGet_d_log_stat(th,ht,ah,sp,at,eh,stat) \
+#define OCIAttrGet_d_log_stat(impsth, th,ht,ah,sp,at,eh,stat) \
stat = OCIAttrGet(th,ht,ah,sp,at,eh); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impsth)) ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sAttrGet(%p,%s,%p,%p,%s,%p)=%s\n", \
OciTp, (void*)th,oci_hdtype_name(ht),(void*)ah,pul_t(sp),oci_dtype_attr_name(at),(void*)eh,\
oci_status_name(stat)),stat : stat
#define OCIAttrGet_parmap(imp_sth,dh, ht, p1, l, stat) \
- OCIAttrGet_log_stat(dh, ht, \
+ OCIAttrGet_log_stat(imp_sth, dh, ht, \
(void*)(p1), (l), OCI_ATTR_PARAM, imp_sth->errhp, stat)
#define OCIAttrGet_parmdp(imp_sth, parmdp, p1, l, a, stat) \
- OCIAttrGet_d_log_stat(parmdp, OCI_DTYPE_PARAM, \
+ OCIAttrGet_d_log_stat(imp_sth, parmdp, OCI_DTYPE_PARAM, \
(void*)(p1), (l), (a), imp_sth->errhp, stat)
#define OCIAttrGet_stmhp_stat(imp_sth, p1, l, a, stat) \
- OCIAttrGet_log_stat(imp_sth->stmhp, OCI_HTYPE_STMT, \
+ OCIAttrGet_log_stat(imp_sth, imp_sth->stmhp, OCI_HTYPE_STMT, \
(void*)(p1), (l), (a), imp_sth->errhp, stat)
-#define OCIAttrSet_log_stat(th,ht,ah,s1,a,eh,stat) \
+#define OCIAttrSet_log_stat(impxxh,th,ht,ah,s1,a,eh,stat) \
stat=OCIAttrSet(th,ht,ah,s1,a,eh); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impxxh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sAttrSet(%p,%s, %p,%lu,Attr=%s,%p)=%s\n", \
OciTp, (void*)th,oci_hdtype_name(ht),(void *)ah,ul_t(s1),oci_attr_name(a),(void*)eh, \
oci_status_name(stat)),stat : stat
-#define OCIBindByName_log_stat(sh,bp,eh,p1,pl,v,vs,dt,in,al,rc,mx,cu,md,stat) \
+#define OCIBindByName_log_stat(impsth,sh,bp,eh,p1,pl,v,vs,dt,in,al,rc,mx,cu,md,stat) \
stat=OCIBindByName(sh,bp,eh,p1,pl,v,vs,dt,in,al,rc,mx,cu,md); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impsth)) ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sBindByName(%p,%p,%p,\"%s\",placeh_len=%ld,value_p=%p,value_sz=%ld," \
"dty=%u,indp=%p,alenp=%p,rcodep=%p,maxarr_len=%lu,curelep=%p (*=%d),mode=%s,%lu)=%s\n",\
OciTp, (void*)sh,(void*)bp,(void*)eh,p1,sl_t(pl),(void*)(v), \
@@ -334,182 +334,182 @@
ul_t((mx)),pul_t((cu)),(cu ? *(int*)cu : 0 ) ,oci_bind_options(md),ul_t((md)), \
oci_status_name(stat)),stat : stat
-#define OCIBindArrayOfStruct_log_stat(bp,ep,sd,si,sl,sr,stat) \
+#define OCIBindArrayOfStruct_log_stat(impsth,bp,ep,sd,si,sl,sr,stat) \
stat=OCIBindArrayOfStruct(bp,ep,sd,si,sl,sr); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impsth)) ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sOCIBindArrayOfStruct(%p,%p,%u,%u,%u,%u)=%s\n", \
OciTp,(void*)bp,(void*)ep,sd,si,sl,sr, \
oci_status_name(stat)),stat : stat
-#define OCIBindDynamic_log(bh,eh,icx,cbi,ocx,cbo,stat) \
+#define OCIBindDynamic_log(impsth,bh,eh,icx,cbi,ocx,cbo,stat) \
stat=OCIBindDynamic(bh,eh,icx,cbi,ocx,cbo); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impsth)) ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sBindDynamic(%p,%p,%p,%p,%p,%p)=%s\n", \
OciTp, (void*)bh,(void*)eh,(void*)icx,(void*)cbi, \
(void*)ocx,(void*)cbo, \
oci_status_name(stat)),stat : stat
-#define OCIDefineByPos_log_stat(sh,dp,eh,p1,vp,vs,dt,ip,rp,cp,m,stat) \
+#define OCIDefineByPos_log_stat(impsth,sh,dp,eh,p1,vp,vs,dt,ip,rp,cp,m,stat) \
stat=OCIDefineByPos(sh,dp,eh,p1,vp,vs,dt,ip,rp,cp,m); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impsth)) ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sDefineByPos(%p,%p,%p,%lu,%p,%ld,%u,%p,%p,%p,mode=%s,%lu)=%s\n", \
OciTp, (void*)sh,(void*)dp,(void*)eh,ul_t((p1)),(void*)(vp), \
sl_t(vs),(ub2)dt,(void*)(ip),(ub2*)(rp),(ub2*)(cp),oci_define_options(m),ul_t(m), \
oci_status_name(stat)),stat : stat
-#define OCIDescribeAny_log_stat(sh,eh,op,ol,opt,il,ot,dh,stat) \
+#define OCIDescribeAny_log_stat(impsth,sh,eh,op,ol,opt,il,ot,dh,stat) \
stat=OCIDescribeAny(sh,eh,op,ol,opt,il,ot,dh); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impsth)) ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sDescribeAny(%p,%p,%p,%lu,%u,%u,%u,%p)=%s\n", \
OciTp, (void*)sh,(void*)eh,(void*)op,ul_t(ol), \
(ub1)opt,(ub1)il,(ub1)ot,(void*)dh, \
oci_status_name(stat)),stat : stat
-#define OCIDescriptorAlloc_ok(envhp, p1, t) \
- if (DBD_OCI_TRACEON) PerlIO_printf(DBD_OCI_TRACEFP, \
+#define OCIDescriptorAlloc_ok(impxxh,envhp, p1, t) \
+ if (DBD_OCI_TRACEON(impxxh)) PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sDescriptorAlloc(%p,%p,%s,0,0)\n", \
OciTp,(void*)envhp,(void*)(p1),oci_hdtype_name(t)); \
if (OCIDescriptorAlloc((envhp), (void**)(p1), (t), 0, 0)==OCI_SUCCESS); \
else croak("OCIDescriptorAlloc (type %d) failed",t)
-#define OCIDescriptorFree_log(d,t) \
- if (DBD_OCI_TRACEON) PerlIO_printf(DBD_OCI_TRACEFP, \
+#define OCIDescriptorFree_log(impxxh,d,t) \
+ if (DBD_OCI_TRACEON(impxxh)) PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sDescriptorFree(%p,%s)\n", OciTp, (void*)d,oci_hdtype_name(t)); \
OCIDescriptorFree(d,t)
-#define OCIEnvInit_log_stat(ev,md,xm,um,stat) \
+#define OCIEnvInit_log_stat(impdbh,ev,md,xm,um,stat) \
stat=OCIEnvInit(ev,md,xm,um); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impdbh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sEnvInit(%p,%lu,%lu,%p)=%s\n", \
OciTp, (void*)ev,ul_t(md),ul_t(xm),(void*)um, \
oci_status_name(stat)),stat : stat
-#define OCIErrorGet_log_stat(hp,rn,ss,ep,bp,bs,t, stat) \
+#define OCIErrorGet_log_stat(impxxh, hp,rn,ss,ep,bp,bs,t, stat) \
((stat = OCIErrorGet(hp,rn,ss,ep,bp,bs,t)), \
- ((DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ ((DBD_OCI_TRACEON(impxxh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sErrorGet(%p,%lu,\"%s\",%p,\"%s\",%lu,%lu)=%s\n", \
OciTp, (void*)hp,ul_t(rn),OciTstr(ss),psl_t(ep), \
bp,ul_t(bs),ul_t(t), oci_status_name(stat)),stat : stat))
-#define OCIHandleAlloc_log_stat(ph,hp,t,xs,ump,stat) \
+#define OCIHandleAlloc_log_stat(impxxh,ph,hp,t,xs,ump,stat) \
stat=OCIHandleAlloc(ph,hp,t,xs,ump); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impxxh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sHandleAlloc(%p,%p,%s,%lu,%p)=%s\n", \
OciTp, (void*)ph,(void*)hp,oci_hdtype_name(t),ul_t(xs),(void*)ump, \
oci_status_name(stat)),stat : stat
-#define OCIHandleAlloc_ok(envhp, p1, t, stat) \
- OCIHandleAlloc_log_stat((envhp),(void**)(p1),(t),0,0, stat); \
+#define OCIHandleAlloc_ok(impxxh,envhp, p1, t, stat) \
+ OCIHandleAlloc_log_stat(impxxh,(envhp),(void**)(p1),(t),0,0, stat); \
if (stat==OCI_SUCCESS) ; \
else croak("OCIHandleAlloc(%s) failed",oci_hdtype_name(t))
-#define OCIHandleFree_log_stat(hp,t,stat) \
+#define OCIHandleFree_log_stat(impxxh,hp,t,stat) \
stat=OCIHandleFree( (hp), (t)); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impxxh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sHandleFree(%p,%s)=%s\n",OciTp,(void*)hp,oci_hdtype_name(t), \
oci_status_name(stat)),stat : stat
-#define OCILobGetLength_log_stat(sh,eh,lh,l,stat) \
+#define OCILobGetLength_log_stat(impxxh,sh,eh,lh,l,stat) \
stat=OCILobGetLength(sh,eh,lh,l); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impxxh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sLobGetLength(%p,%p,%p,%p)=%s\n", \
OciTp, (void*)sh,(void*)eh,(void*)lh,pul_t(l), \
oci_status_name(stat)),stat : stat
-#define OCILobGetChunkSize_log_stat(sh,eh,lh,cs,stat) \
+#define OCILobGetChunkSize_log_stat(impdbh,sh,eh,lh,cs,stat) \
stat=OCILobGetChunkSize(sh,eh,lh,cs); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impdbh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sLobGetChunkSize(%p,%p,%p,%p)=%s\n", \
OciTp, (void*)sh,(void*)eh,(void*)lh,pul_t(cs), \
oci_status_name(stat)),stat : stat
-#define OCILobFileOpen_log_stat(sv,eh,lh,mode,stat) \
+#define OCILobFileOpen_log_stat(impxxh,sv,eh,lh,mode,stat) \
stat=OCILobFileOpen(sv,eh,lh,mode); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impxxh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sLobFileOpen(%p,%p,%p,%u)=%s\n", \
OciTp, (void*)sv,(void*)eh,(void*)lh,(ub1)mode, \
oci_status_name(stat)),stat : stat
-#define OCILobFileClose_log_stat(sv,eh,lh,stat) \
+#define OCILobFileClose_log_stat(impsth,sv,eh,lh,stat) \
stat=OCILobFileClose(sv,eh,lh); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impsth)) ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sLobFileClose(%p,%p,%p)=%s\n", \
OciTp, (void*)sv,(void*)eh,(void*)lh, \
oci_status_name(stat)),stat : stat
/*Added by JPS for Jeffrey.Klein*/
-#define OCILobCreateTemporary_log_stat(sv,eh,lh,csi,csf,lt,ca,dur,stat) \
+#define OCILobCreateTemporary_log_stat(impdbh,sv,eh,lh,csi,csf,lt,ca,dur,stat) \
stat=OCILobCreateTemporary(sv,eh,lh,csi,csf,lt,ca,dur); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impdbh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sLobCreateTemporary(%p,%p,%p,%lu,%lu,%lu,%lu,%lu)=%s\n", \
OciTp, (void*)sv,(void*)eh,(void*)lh, \
ul_t(csi),ul_t(csf),ul_t(lt),ul_t(ca),ul_t(dur), \
oci_status_name(stat)),stat : stat
/*end add*/
-#define OCILobFreeTemporary_log_stat(sv,eh,lh,stat) \
+#define OCILobFreeTemporary_log_stat(impxxh,sv,eh,lh,stat) \
stat=OCILobFreeTemporary(sv,eh,lh); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impxxh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sLobFreeTemporary(%p,%p,%p)=%s\n", \
OciTp, (void*)sv,(void*)eh,(void*)lh, \
oci_status_name(stat)),stat : stat
-#define OCILobIsTemporary_log_stat(ev,eh,lh,istemp,stat) \
+#define OCILobIsTemporary_log_stat(impsth,ev,eh,lh,istemp,stat) \
stat=OCILobIsTemporary(ev,eh,lh,istemp); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impsth)) ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sLobIsTemporary(%p,%p,%p,%p)=%s\n", \
OciTp, (void*)ev,(void*)eh,(void*)lh,(void*)istemp, \
oci_status_name(stat)),stat : stat
/*Added by JPS for Jeffrey.Klein */
-#define OCILobLocatorAssign_log_stat(sv,eh,src,dest,stat) \
+#define OCILobLocatorAssign_log_stat(impdbh,sv,eh,src,dest,stat) \
stat=OCILobLocatorAssign(sv,eh,src,dest); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impdbh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sLobLocatorAssign(%p,%p,%p,%p)=%s\n", \
OciTp,(void*)sv,(void*)eh,(void*)src,(void*)dest, \
oci_status_name(stat)),stat : stat
/*end add*/
-#define OCILobRead_log_stat(sv,eh,lh,am,of,bp,bl,cx,cb,csi,csf,stat) \
+#define OCILobRead_log_stat(impxxh,sv,eh,lh,am,of,bp,bl,cx,cb,csi,csf,stat) \
stat=OCILobRead(sv,eh,lh,am,of,bp,bl,cx,cb,csi,csf); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impxxh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sLobRead(%p,%p,%p,%p,%lu,%p,%lu,%p,%p,%u,%u)=%s\n", \
OciTp, (void*)sv,(void*)eh,(void*)lh,pul_t(am),ul_t(of), \
(void*)bp,ul_t(bl),(void*)cx,(void*)cb,(ub2)csi,(ub1)csf, \
oci_status_name(stat)),stat : stat
-#define OCILobTrim_log_stat(sv,eh,lh,l,stat) \
+#define OCILobTrim_log_stat(impxxh,sv,eh,lh,l,stat) \
stat=OCILobTrim(sv,eh,lh,l); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impxxh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sLobTrim(%p,%p,%p,%lu)=%s\n", \
OciTp, (void*)sv,(void*)eh,(void*)lh,ul_t(l), \
oci_status_name(stat)),stat : stat
-#define OCILobWrite_log_stat(sv,eh,lh,am,of,bp,bl,p1,cx,cb,csi,csf,stat) \
+#define OCILobWrite_log_stat(impxxh,sv,eh,lh,am,of,bp,bl,p1,cx,cb,csi,csf,stat) \
stat=OCILobWrite(sv,eh,lh,am,of,bp,bl,p1,cx,cb,csi,csf); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impxxh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sLobWrite(%p,%p,%p,%p,%lu,%p,%lu,%u,%p,%p,%u,%u)=%s\n", \
OciTp, (void*)sv,(void*)eh,(void*)lh,pul_t(am),ul_t(of), \
(void*)bp,ul_t(bl),(ub1)p1, \
(void*)cx,(void*)cb,(ub2)csi,(ub1)csf, \
oci_status_name(stat)),stat : stat
-#define OCILobWriteAppend_log_stat(sv,eh,lh,am,bp,bl,p1,cx,cb,csi,csf,stat) \
+#define OCILobWriteAppend_log_stat(impxxh,sv,eh,lh,am,bp,bl,p1,cx,cb,csi,csf,stat) \
stat=OCILobWriteAppend(sv,eh,lh,am,bp,bl,p1,cx,cb,csi,csf); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impxxh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sLobWriteAppend(%p,%p,%p,%p,%p,%lu,%u,%p,%p,%u,%u)=%s\n", \
OciTp, (void*)sv,(void*)eh,(void*)lh,pul_t(am), \
(void*)bp,ul_t(bl),(ub1)p1, \
(void*)cx,(void*)cb,(ub2)csi,(ub1)csf, \
oci_status_name(stat)),stat : stat
-#define OCIParamGet_log_stat(hp,ht,eh,pp,ps,stat) \
+#define OCIParamGet_log_stat(impsth,hp,ht,eh,pp,ps,stat) \
stat=OCIParamGet(hp,ht,eh,pp,ps); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impsth)) ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sParamGet(%p,%lu,%p,%p,%lu,%s)=%s\n", \
OciTp, (void*)hp,ul_t((ht)),(void*)eh,(void*)pp,ul_t(ps), \
oci_hdtype_name(ht),oci_status_name(stat)),stat : stat
@@ -517,78 +517,78 @@
#define OCIServerAttach_log_stat(imp_dbh, dbname,md,stat) \
stat=OCIServerAttach( imp_dbh->srvhp, imp_dbh->errhp, \
(text*)dbname, (sb4)strlen(dbname), md); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(imp_dbh)) ? PerlIO_printf(DBD_OCI_TRACEFP(imp_dbh), \
"%sServerAttach(%p, %p, \"%s\", %lu, mode=%s,%lu)=%s\n", \
OciTp, (void*)imp_dbh->srvhp,(void*)imp_dbh->errhp, dbname, \
ul_t(strlen(dbname)), oci_mode(md),ul_t(md),oci_status_name(stat)),stat : stat
-#define OCIStmtExecute_log_stat(sv,st,eh,i,ro,si,so,md,stat) \
+#define OCIStmtExecute_log_stat(impsth,sv,st,eh,i,ro,si,so,md,stat) \
stat=OCIStmtExecute(sv,st,eh,i,ro,si,so,md); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impsth)) ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sStmtExecute(%p,%p,%p,%lu,%lu,%p,%p,mode=%s,%lu)=%s\n", \
OciTp, (void*)sv,(void*)st,(void*)eh,ul_t((i)), \
ul_t((ro)),(void*)(si),(void*)(so),oci_exe_mode(md),ul_t((md)), \
oci_status_name(stat)),stat : stat
-#define OCIStmtFetch_log_stat(sh,eh,nr,or,os,stat) \
- stat=OCIStmtFetch2(sh,eh,nr,or,os,OCI_DEFAULT); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+#define OCIStmtFetch_log_stat(impsth,sh,eh,nr,or,os,stat) \
+ stat=OCIStmtFetch2(sh,eh,nr,or,os,OCI_DEFAULT); \
+ (DBD_OCI_TRACEON(impsth)) ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sStmtFetch(%p,%p,%lu,%u,%d)=%s\n", \
OciTp, (void*)sh,(void*)eh,ul_t(nr),(ub2)or,(ub2)os, \
oci_status_name(stat)),stat : stat
-#define OCIStmtPrepare_log_stat(sh,eh,s1,sl,l,m,stat) \
+#define OCIStmtPrepare_log_stat(impsth,sh,eh,s1,sl,l,m,stat) \
stat=OCIStmtPrepare(sh,eh,s1,sl,l,m); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impsth)) ? PerlIO_printf(DBD_OCI_TRACEFP(impsth), \
"%sStmtPrepare(%p,%p,'%s',%lu,%lu,%lu)=%s\n", \
OciTp, (void*)sh,(void*)eh,s1,ul_t(sl),ul_t(l),ul_t(m), \
oci_status_name(stat)),stat : stat
-#define OCIServerDetach_log_stat(sh,eh,md,stat) \
+#define OCIServerDetach_log_stat(impdbh,sh,eh,md,stat) \
stat=OCIServerDetach(sh,eh,md); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impdbh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sServerDetach(%p,%p,mode=%s,%lu)=%s\n", \
OciTp, (void*)sh,(void*)eh,oci_mode(md),ul_t(md), \
oci_status_name(stat)),stat : stat
-#define OCISessionBegin_log_stat(sh,eh,uh,cr,md,stat) \
+#define OCISessionBegin_log_stat(impdbh,sh,eh,uh,cr,md,stat) \
stat=OCISessionBegin(sh,eh,uh,cr,md); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impdbh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sSessionBegin(%p,%p,%p,%lu,mode=%s %lu)=%s\n", \
OciTp, (void*)sh,(void*)eh,(void*)uh,ul_t(cr),oci_mode(md),ul_t(md), \
oci_status_name(stat)),stat : stat
-#define OCISessionEnd_log_stat(sh,eh,ah,md,stat) \
+#define OCISessionEnd_log_stat(impdbh,sh,eh,ah,md,stat) \
stat=OCISessionEnd(sh,eh,ah,md); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impdbh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sSessionEnd(%p,%p,%p,mode=%s %lu)=%s\n", \
OciTp, (void*)sh,(void*)eh,(void*)ah,oci_mode(md),ul_t(md), \
oci_status_name(stat)),stat : stat
-#define OCITransCommit_log_stat(sh,eh,md,stat) \
+#define OCITransCommit_log_stat(impxxh,sh,eh,md,stat) \
stat=OCITransCommit(sh,eh,md); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impxxh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
"%sTransCommit(%p,%p,%lu)=%s\n", \
OciTp, (void*)sh,(void*)eh,ul_t(md), \
oci_status_name(stat)),stat : stat
-#define OCITransRollback_log_stat(sh,eh,md,stat) \
+#define OCITransRollback_log_stat(impdbh,sh,eh,md,stat) \
stat=OCITransRollback(sh,eh,md); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impdbh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sTransRollback(%p,%p,mode=%s %lu)=%s\n", \
OciTp, (void*)sh,(void*)eh,oci_mode(md),ul_t(md), \
oci_status_name(stat)),stat : stat
-#define OCIDBStartup_log_stat(svchp,errhp,admhp,mode,flags,stat) \
+#define OCIDBStartup_log_stat(impdbh,svchp,errhp,admhp,mode,flags,stat) \
stat=OCIDBStartup(svchp,errhp,admhp,mode,flags); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impdbh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sOCIDBStartup(%p,%p,%p,%u,%u)=%s\n", \
OciTp, (void*)svchp,(void*)errhp,(void*)admhp,mode,flags, \
oci_status_name(stat)),stat : stat
-#define OCIDBShutdown_log_stat(svchp,errhp,admhp,mode,stat) \
+#define OCIDBShutdown_log_stat(impdbh,svchp,errhp,admhp,mode,stat) \
stat=OCIDBShutdown(svchp,errhp,admhp,mode); \
- (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, \
+ (DBD_OCI_TRACEON(impdbh)) ? PerlIO_printf(DBD_OCI_TRACEFP(impdbh), \
"%sOCIDBShutdown(%p,%p,%p,%u)=%s\n", \
OciTp, (void*)svchp,(void*)errhp,(void*)admhp,mode, \
oci_status_name(stat)),stat : stat
-
[svn:dbd-oracle] r15225 - dbd-oracle/trunk
by mjevans