Author: byterock
Date: Fri May 28 07:06:37 2010
New Revision: 14076
Modified:
dbd-oracle/trunk/oci8.c
Log:
fix for reported bug DBD (UNKNOWN OCI STATUS 1041): OCILobFreeTemporary
in this case it was only happens on destroy the handle.
I added in an empty lob attribute and it cleaned up the bug
Modified: dbd-oracle/trunk/oci8.c
==============================================================================
--- dbd-oracle/trunk/oci8.c (original)
+++ dbd-oracle/trunk/oci8.c Fri May 28 07:06:37 2010
@@ -1441,7 +1441,7 @@
ub4 lobEmpty = 0;
if (phs->desc_h && phs->desc_t == OCI_DTYPE_LOB)
ora_free_templob(sth, imp_sth, (OCILobLocator*)phs->desc_h);
-
+
if (!phs->desc_h) {
++imp_sth->has_lobs;
phs->desc_t = OCI_DTYPE_LOB;
@@ -4354,6 +4354,8 @@
while( (phs_svp = hv_iternextsv(imp_sth->all_params_hv, &p, &i)) != NULL ) {
phs_t *phs = (phs_t*)(void*)SvPVX(phs_svp);
if (phs->desc_h && !phs->is_inout){
+ boolean lobEmpty=1;
+ OCIAttrSet_log_stat(phs->desc_h, phs->desc_t,&lobEmpty, 0, OCI_ATTR_LOBEMPTY, imp_sth->errhp, status);
OCIHandleFree_log_stat(phs->desc_h, phs->desc_t, status);
}
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.