Drop Table
Support Forum for database administrators and web based access to important newsgroups related to databasesAuthor: timbo Date: Mon Jan 9 07:21:01 2006 New Revision: 2372 Modified: dbd-oracle/trunk/Changes dbd-oracle/trunk/oci8.c Log: Fixed truncation error on fetch into UTF8 charset thanks to Honza Pazdziora. Modified: dbd-oracle/trunk/Changes ==================== ==================== ==================== ================ == --- dbd-oracle/trunk/Changes (original) +++ dbd-oracle/trunk/Changes Mon Jan 9 07:21:01 2006 @@ -2,6 +2,7 @@ Fixed csform setting for Oracle 8.0. Fixed csform setting for some UTF8 cases. + Fixed truncation error on fetch into UTF8 charset thanks to Honza Pazdzio ra. Fixed INTERVAL DAY TO SECOND thanks to Honza Pazdziora. Fixed undef warnings when connecting with undef $user. Fixed LOB streaming example thanks to Pablo Zorzoli. Modified: dbd-oracle/trunk/oci8.c ==================== ==================== ==================== ================ == --- dbd-oracle/trunk/oci8.c (original) +++ dbd-oracle/trunk/oci8.c Mon Jan 9 07:21:01 2006 @@ -1196,8 +1196,8 @@ dbd_describe(SV *h, imp_sth_t *imp_sth) /* OCI_ATTR_CHAR_SIZE: like OCI_ATTR_DATA_SIZE but measured in chars */ OCIAttrGet_parmdp(im p_sth, fbh->parmdp, &fbh->len_char_size, 0, OCI_ATTR_CHA R_SIZE, status); #endif -#ifdef OCI_ATTR_CHARSET_ID fbh->csid = 0; fbh->csform = 0; /* just to be sure */ +#ifdef OCI_ATTR_CHARSET_ID OCIAttrGet_parmdp(im p_sth, fbh->parmdp, &fbh->csid, 0, OCI_ATTR_CHARSET_ID , status); OCIAttrGet_parmdp(im p_sth, fbh->parmdp, &fbh->csform, 0, OCI_ATTR_CHARSET_FO RM, status); #endif @@ -1223,7 +1223,7 @@ dbd_describe(SV *h, imp_sth_t *imp_sth) /* FALLTHRU */ case 96: /* CHAR */ fbh->disize = fbh->dbsize; - if (CS_IS_UTF8(fbh->csid)) + if (CSFORM_IMPLIES_UTF8 (fbh->csform)) fbh->disize = fbh->dbsize * 4; fbh->prec = fbh->disize; break; @@ -1249,7 +1249,7 @@ dbd_describe(SV *h, imp_sth_t *imp_sth) break; case 8: /* LONG */ - if (CS_IS_UTF8(fbh->csid)) + if (CSFORM_IMPLIES_UTF8 (fbh->csform)) fbh->disize = long_readlen * 4; else fbh->disize = long_readlen;
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread