Author: byterock
Date: Wed Jan 14 10:29:01 2009
New Revision: 12442
Modified:
dbd-oracle/trunk/oci8.c
Log:
Fix for rt.cpan #42280
Well more a kludge than a fix. It will just return undef for XMLTYPE as there
is no way in oci to get it. But I will try to find one in the future
Modified: dbd-oracle/trunk/oci8.c
==============================================================================
--- dbd-oracle/trunk/oci8.c (original)
+++ dbd-oracle/trunk/oci8.c Wed Jan 14 10:29:01 2009
@@ -1799,7 +1799,7 @@
switch (obj->typecode) {
case OCI_TYPECODE_OBJECT :
/* embedded ADT */
-
+ case 58:
if (ora_objects){
OCIRef *type_ref=0;
@@ -1860,6 +1860,7 @@
av_push(list, newSVpv((char*)obj->type_name,
obj->type_namel));
}
+
if (obj->obj_ind) {
obj_ind = obj->obj_ind;
} else {
@@ -2166,7 +2167,7 @@
switch (obj->element_typecode) {
case OCI_TYPECODE_OBJECT : /* embedded ADT
*/
-
+ case 58:
if (obj->next_subtype) {
empty_oci_object(obj->next_subtype);
}
@@ -2442,10 +2443,10 @@
}
if (DBIS->debug >= 6 || dbd_verbose >= 6 ) {
- PerlIO_printf(DBILOGFP, "Geting the properties of object named
=%s at level %d\n",obj->type_name,level);
+ PerlIO_printf(DBILOGFP, "Getting the properties of object named
=%s at level %d typecode=%d\n",obj->type_name,level,obj->typecode);
}
- if (obj->typecode == OCI_TYPECODE_OBJECT){
+ if (obj->typecode == OCI_TYPECODE_OBJECT || obj->typecode == 58){
OCIParam *list_attr= (OCIParam *) 0;
ub2 pos;
if (DBIS->debug >= 6 || dbd_verbose >= 6 ) {