Author: byterock
Date: Wed Jan 14 12:53:04 2009
New Revision: 12445
Modified:
dbd-oracle/trunk/oci8.c
Log:
added in OCI_TYPECODE_OPAQUE just to get rid of another magic number
Modified: dbd-oracle/trunk/oci8.c
==============================================================================
--- dbd-oracle/trunk/oci8.c (original)
+++ dbd-oracle/trunk/oci8.c Wed Jan 14 12:53:04 2009
@@ -140,6 +140,7 @@
case OCI_TYPECODE_NUMBER : return "NUMBER";
case OCI_TYPECODE_SMALLINT: return "SMALLINT";
case OCI_TYPECODE_OBJECT: return "OBJECT";
+ case OCI_TYPECODE_OPAQUE: return "XMLTYPE~OPAQUE";
case OCI_TYPECODE_VARRAY: return "VARRAY";
case OCI_TYPECODE_TABLE: return "TABLE";
case OCI_TYPECODE_NAMEDCOLLECTION: return "NAMEDCOLLECTION";
@@ -1798,8 +1799,8 @@
switch (obj->typecode) {
- case OCI_TYPECODE_OBJECT : /* embedded ADT */
- case 58:
+ case OCI_TYPECODE_OBJECT: /* embedded ADT */
+ case OCI_TYPECODE_OPAQUE: /*doesn't do anything though*/
if (ora_objects){
OCIRef *type_ref=0;
@@ -2166,28 +2167,28 @@
switch (obj->element_typecode) {
- case OCI_TYPECODE_OBJECT : /* embedded ADT */
- case 58:
- if (obj->next_subtype) {
- empty_oci_object(obj->next_subtype);
- }
-
- for (pos = 0; pos < obj->field_count; pos++){
- fld = &obj->fields[pos]; /*get the field */
- if (fld->typecode == OCI_TYPECODE_OBJECT || fld->typecode == OCI_TYPECODE_VARRAY || fld->typecode == OCI_TYPECODE_TABLE || fld->typecode == OCI_TYPECODE_NAMEDCOLLECTION){
- empty_oci_object(fld);
- if (fld->value && SvTYPE(fld->value) == SVt_PVAV){
- av_clear(fld->value);
- av_undef(fld->value);
- }
+ case OCI_TYPECODE_OBJECT : /* embedded ADT */
+ case OCI_TYPECODE_OPAQUE : /*usually an XML object*/
+ if (obj->next_subtype) {
+ empty_oci_object(obj->next_subtype);
+ }
- } else {
- return 1;
+ for (pos = 0; pos < obj->field_count; pos++){
+ fld = &obj->fields[pos]; /*get the field */
+ if (fld->typecode == OCI_TYPECODE_OBJECT || fld->typecode == OCI_TYPECODE_VARRAY || fld->typecode == OCI_TYPECODE_TABLE || fld->typecode == OCI_TYPECODE_NAMEDCOLLECTION){
+ empty_oci_object(fld);
+ if (fld->value && SvTYPE(fld->value) == SVt_PVAV){
+ av_clear(fld->value);
+ av_undef(fld->value);
}
}
+ else {
+ return 1;
+ }
+ }
break;
- case OCI_TYPECODE_NAMEDCOLLECTION :
+ case OCI_TYPECODE_NAMEDCOLLECTION :
fld = &obj->fields[0]; /*get the field */
if (obj->element_typecode == OCI_TYPECODE_OBJECT){
empty_oci_object(fld);
@@ -2199,6 +2200,7 @@
}
}
break;
+
default:
break;
}
@@ -2446,7 +2448,7 @@
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 || obj->typecode == 58){
+ 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 ) {
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.