On Thu, Oct 13, 2005 at 12:57:52PM -0400, Eric Lenio wrote:
> > > # failed test 36 at line 109.
> > > FAILED tests 12, 24, 36-38
> > > Failed 5/35 tests, 85.71% okay
> > > t/21nchar............... Database and client versions and character sets:
> > > Database 9.2.0.3.0 CHAR set is AL32UTF8 (Unicode), NCHAR set is UTF8
> > > (Unicode)
> > > Client 9.2.0.3 NLS_LANG is 'AMERICAN_AMERICA.AL32UTF8', NLS_NCHAR is
> > > '<unset>'
> > >
> > > FYI I have another Oracle instance on the same machine which if I use this
> > > instance instead of the original one used above the tests all pass.
> >
> > What client and server character set details are output by make test
> > for that instance?
>
> Here is the char set details for the instance that passes the tests:
>
> t/21nchar............... Database and client versions and character sets:
> Database 9.2.0.3.0 CHAR set is WE8ISO8859P1 (Non-Unicode), NCHAR set is
> AL16UTF16 (Unicode)
> Client 9.2.0.3 NLS_LANG is 'AMERICAN_AMERICA.AL32UTF8', NLS_NCHAR is '<unset>'
Here's an off-the-top-of-my-head patch, totally untested and barely
thought about, but it seems plausible...
Index: oci8.c
===================================================================
--- oci8.c (revision 1086)
+++ oci8.c (working copy)
@@ -1223,9 +1223,9 @@
/* FALLTHRU */
case 96: /* CHAR */
fbh->disize = fbh->dbsize;
+ fbh->prec = fbh->disize;
if (CS_IS_UTF8(fbh->csid))
fbh->disize = fbh->dbsize * 4;
- fbh->prec = fbh->disize;
break;
case 23: /* RAW */
fbh->disize = fbh->dbsize * 2;
Let me know if the test suite runs clean with this.
Tim.