On Wed, Sep 22, 2004 at 12:06:27PM -0400, Chris Sarnowski wrote:
> 
> On Sep 21, 2004, at 5:05 PM, Tim Bunce wrote:
> >
> >DBD::Oracle simply asks for the columns as strings and it's Oracle 
> >itself
> >that performs the number to string conversion. DBD::Oracle gives
> >Oracle a buffer of 133 characters for NUMBER fields, so there's
> >pleanty of room to store the number.
> 
> Ahh. I've been meaning to ask about this. There is one case
> where the 133 char buffer is a problem. We are storing very
> small p-values from BLAST, and they can be down in the range
> of 1E-128 to 1E-130. Now for numbers of this magnitude it's not
> very meaningful to store more than one (or maybe 2) significant
> digits anyway, but BLAST returns 6 significant digits, and we store
> them in Oracle without trouble, but when we attempt to retrieve them
> we get a 'truncation or null fetch error' (In particular, using
> DBD::Oracle 1.14 or 1.15 with a couple different versions of Oracle 9i).

The DBD::Oracle test suite does

        select 1 * power(10,-130) ...

and doesn't get an error. [Though looking at it the tests that follow
aren't useful, but at least there's no 'truncation or null fetch' error.]

Can you give me an SQL statement like that above that'll trigger the problem?

> I don't know if it constitutes a DBD::Oracle bug as such.

I think a 'truncation or null fetch error' for a NUMBER does.

Tim.

Reply via email to