Home > Archive > Oracle PERL DBD > January 2006 > [svn:dbd-oracle] r2372 - dbd-oracle/trunk









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author [svn:dbd-oracle] r2372 - dbd-oracle/trunk
timbo@cvs.perl.org

2006-01-09, 11:25 am

Author: 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 Pazdziora.
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_CHAR_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_FOR
M, 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;
Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com