Hi,

Back in March this year Jonathan Gillespie reported the following
error in DBD::ODBC test suite:

Can't change param 1 maxlen (51->50) after first bind at
>t/20SqlServer.t line 180.

(see http://www.mail-archive.com/[email protected]/msg26946.html).

The same version of DBI and DBD::ODBC works fine in perl 5.8.7 but
fails in perl 5.8.8 and later. I've even tried 5.9.4. I never really
got to the root of the problem but it appears:

in dbdimp.c did a:

svGrow(phs->sv, 50+1)

but

SvLEN(phs->sv) returns 52!

DBD::ODBC does not expect this so the test fails. Since this is
continuing to fail in all Perl versions since 5.8.8 I really would
like to get this sorted out. I've checked through the perl changes files and
I cannot see anything that looks a possibility. Does anyone know why

If phs->sv is a SVt_NULL and you do:
SvUPGRADE(phs->sv, SVt_PVNV)
svGrow(phs->sv, 50+1)
SvLEN(phs->sv) returns 52 in 5.8.8 onwards

but the same code returned 51 in 5.8.7 and earlier?

Any over ideas that would help me track this down?

Martin
--
Martin J. Evans
Easysoft Ltd, UK
http://www.easysoft.com

Reply via email to